Jump to content
You must now use your email address to sign in [click for more info] ×

NotMyFault

Members
  • Posts

    6,692
  • Joined

  • Last visited

Posts posted by NotMyFault

  1. Great tutorial!

    i mentioned the issue with circle radius has up to 0.5% deviation depending on position at the radius, largest deviation typically around 45+n*90 degree. This can become relevant here, and maybe the method can be extended. 
    simply start with the cloud bubble tool instead of ellipse tool for a better circle approximation.


     

  2. Please find the afphoto file and some screenshots below of various zoom levels and areas.

    • You can now use click-drag (while PT filter is selected) to set point of origin with live rendering
    • You can set scale factor from 0 to about 8 to zoom in by factor 256
    • You can change the document size to increase resolution 
    • works best in RGB/16 mode, but math precious causes limits of zoom level.
    • Currently not working in RGB/32, probably I will need to add some clamp functions
    • If you want more iterations (currently 128), duplicate "iter64" group layer, and adjust formula in "top layer" to get optimal colors.

    Photo may become unstable after some time, so take care, close all important edits / apps before opening this one, and when finished reboot PC to ensure a clean state before doing any important edits on other files.

     

    Works on iPad, too (but you can't edit formulas).

     

     

    Screenshot 2024-02-03 at 18.48.30.png

    Screenshot 2024-02-03 at 18.49.15.png

    Screenshot 2024-02-03 at 18.49.24.png

    Screenshot 2024-02-03 at 18.49.35.png

    Screenshot 2024-02-03 at 18.49.55.png

    mandel zoom V2.afphoto

  3. The main purpose of the develop persona is doing the transformation from bayer sensor RAW sensor data into actual RGB data.

    All other functions like denoise, detail refinement etc. are only provided “for convenience” out of historic UI conventions, and are actually available in Photo Persona. There are minor exceptions / differences which are not relevant in your case.

    denoise: Filter->noise removal or denoise

    details refinement: filter->unsharp mask, and/or highpass with blend mode overlay.

    Use the destrcutive filters if you want to mimic the develop persona behavior, as the live filter version of denoise works differently.

     

    As explained before, scanner images do not need any de-bayering as scanner sensors work fundamentally different than camera sensors. The filters and functions provided in Develop Persona are specifically designed to work on camera sensor RAW data. If you have no camera sensor RAW data, those functions “fall back” to the regular functions available in Photo Persona, loosing their specific advantage.

    https://en.wikipedia.org/wiki/Demosaicing

    https://en.wikipedia.org/wiki/Bayer_filter

  4. 4 hours ago, Mark Oehlschlager said:

    I'm here to request the ability to butt circles and other shapes up against one another with perfect snap alignment.

    While I agree such a function would be desirable in theory, please take into account that Affinity misses the fundamental basics: there is no true circle object currently. You have an ellipse shape, when used as circle it has a deviation of 0,5% of radius. Affinity is a designer tool, not a school math / geometry tool / CAD tool / laser cutter tool. It does not have „objects“ or 3D capability. It uses Bézier curves instead which are approximations, perfectly suited for creative or  illustrative purposes, but not suited for construction.

    I strongly recommend to use other tools specifically crafted to the intended use case.

  5. There are 2 methods I use most frequently, alone or combined:

    1. live unsharp mask filter
    2. live highpath filter with blend mode linear light(very strong) or soft light (less strong)

    In most cases sharpening needs to be applied selectively, e.g. not to clouds or sky or areas with solid color, or highlights or shadows.

    use pixel masks, blend range, or other methods to restrict effect to wanted parts of the image.

    last tip: sharpening should be done always at 100% zoom level, and normally as last step of editing, when the image has its final resolution. So you may use sharpening in Publisher in case you scale the placed images

     

  6. I will share the actual afphoto document later, it needs some tweaking to make it usable for those who are not the author.

    The trick is not a simple formula, but combining multiple techniques to

    • unroll loops,
    • store runtime variables inside color channels of layers (or as blend result from layers)
    • compress / decompress value ranges to [0…1] interval
    • unroll if / then / else statements into math formulas
    • understand that with PT filters you parallelize the calculation of every x/y position in one step, you need to unroll the loops or steps of a script into individual layers.

    The main challenges:

    1. affinity has no scripting
    2. you cannot iterate (no for loops)
    3. values in layers are bound to interval zero to 0
    4. where to store loop variables?

    to solve 1 and 2, I flatten iterations into layers. A for loop from 1 to 100 is implemented as 100 PT filter layers. The loop variable is store in one color channel.

    to solve 3, values of higher ranges (-2 to +2 in this case) are compressed or decompressed by a simple formulas

    • c(u)=(u-min)/(max-min) 
    • u(c)=c*(max-min)+min

    to solve 4, I use color channels as memory:

    • R takes real part of z, compressed as described above
    • G takes imaginary part of Z
    • B takes index (integer), divided by 255 as I limit iterations to this number. 

    R and B are calculated by the well known formula, of course using the decompression and compression.

    B is incremented as long as len(z) is below 2. the step function helps to mimic an if-then-else statement as formula.

    if a>b then t else f:

    var c=step(a,b); c*t + (1-c) *f

    In c 1 stands for true, 0 stands for false. 

     

     

    To get many PT filters I group 2 of them (duplicated linked), then duplicate and group this pair again 8 times to get 2^8=64 layers.

    all this gives a stack of layers which has the number of iterations in B channel. The other channels can be ignored for visualization.

    On top a PT filter is added to map the blue channel into all RGB channels. 
    A final gradient map can produce fancy colors.

  7. Hi,

    I waisted some time trying to calculate the well known Mandelbrot set with Affinity Photo.

    Inspired by the thread about scripting which showed what would be possible when we get scripting in distant future, got inspired to do similar today - without scripting of course.

    It is possibleI 😇

    But Performance is not good and Photo tends to hang or become unresponsive.

    Anybody interested into more details?

    Screenshot 2024-01-31 at 22.18.07.png

  8. Nothing fully automatic as far as I know.

    But many functions lead to rasterization, like adjustments and filters or layer fx. You should be able to search by layer type and add a style which enforces rasterization without visible side effect, e.g. color overlay with zero opacity.

    But it depends on details, e.g. in some cases text layers may be rasterized depending on layers below (without clear reason).

  9. Possible causes for mask layers disappear:

    • deleting them by keystroke or menu
    • running a macro which includes deletion step, e.g. triggered by keystroke 
    • ungroup. It will delete all layers in masking positions
    • filling or clearing the alpha channel of a layer will remove only inherent masks.
    • edit: triggering any action which rasterizes the parent layer, e.g. painting on an image layer. Rasterizing a parent will „consume“ any nested layers like masks. Automatic rasterization may occur depending on assistant settings. Normally you get a brief text message (if configured in Assistent settings) whenever an assistant is triggered.

    i‘m not aware of any other way to delete layers, especially mask layers.

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.