Jump to content

Recommended Posts

Posted

Hi,

 

while messing around with another  hidden gem of rarely used features, i stumbled over a glitch and a question.

Curves Adjustment allows to define min/max values. Help says:

https://affinity.help/photo/English.lproj/pages/Adjustments/adjustment_curves.html

  • Min and Max are the input minimums and input maximums. These are useful for 32-bit documents with out of range tonal values, but can also be used to fine tune the manipulated tonal range in 8-bit and 16-bit documents:
    • Input minimum—specify, in float, a minimum value to use as tonal input.
    • Input maximum—specify, in float, a maximum value to use as tonal output.

As usual, a created a tiny beast of test document. It

  • Uses RGB/8 to torture Photo into an (explicitly mentioned and allowed) edge case
  • creates a gradient on blue channel (on y axes),
  • adds a curves adjustment, inverting the blue channel

If you now start to adjust the min settings, strange thinks happen:

Expected:

  • When increasing min from 0 to 0.1, 0.2, 0.3, the 10% / 20% / 30% dark input values (0-77) should get protected from change by curves adjustment. All other get inverted

Observed:

  • The bottom line with blue=255 gets protected, too. I rate this as bug. (where the info panel crosshair sits)

The symmetric issue can be observed for max setting.

2. Bonus Question

If i decrease the min value below 0, the result gets progressively darker, until reaching all black on -1.

This might be a nice extra option to subtract a constant from the layer, but i do not understand its intended functionality related to the explanation from help. It should only impact input values, but it effectively affects output values.

It looks more like missing clipping / range check of input value (at least for RGB/8).

image.thumb.png.84feca524d47063b1d487d8349bc7854.png

curves min max issue.afphoto

Mac mini M1 A2348 | MBP M3 

Windows 11 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5 | Dell 27“ 4K

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

I use iPad screenshots and videos even in the Desktop section of the forum when I expect no relevant difference.

 

Posted (edited)

To add a little more confusion: depending ion chosen color profile for curves / levels adjustment

RGB: works in general, expect bug raised here.

GRAY: works in general

LAB: min/max does not work at all (master or lightness channel)

CMYK (tested with green gradient an yellow channel): effect jumps erratically

 

Ahh, next issue:

The description is really really misleading

  • Input minimum—specify, in float, a minimum value to use as tonal input.
  • Input maximum—specify, in float, a maximum value to use as tonal output.

Min

If i use a curves with both nodes set to 0, and adjust the min value from 0 to 0.5 in steps of 0,1.

The min value seems to be used both for min input, and as output value for pixels inside the selected range, which seems totally odd to me (it should show 0 as output based on the given curve for pixels with input >min. It matches neither documentation nor expected behavior.

Max

The max value is used to filter which pixels get affected by the curve (meaning input value). Again, does not match definition in help text.

 

It would really help if somebody from Affinity could

  1. sort out which combinations work / make sense, and which combinations do not work for technical reasons.
  2. Add this knowledge to the help file (or video tutorial)
Edited by NotMyFault

Mac mini M1 A2348 | MBP M3 

Windows 11 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5 | Dell 27“ 4K

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

I use iPad screenshots and videos even in the Desktop section of the forum when I expect no relevant difference.

 

Posted

Next observation: does not work on alpha channel at all.

As always: if an input has no effect, it should not be shown in the first place, or greyed out.

But having this functionality on alpha channel would be really nice.

Mac mini M1 A2348 | MBP M3 

Windows 11 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5 | Dell 27“ 4K

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

I use iPad screenshots and videos even in the Desktop section of the forum when I expect no relevant difference.

 

  • 1 month later...
Posted

Hi @NotMyFault,

My apologies for the extended delayed response here - to be entirely honest I had to escalate this report, as colour science can be tricky and therefore I felt it best to check with our team internally who have more knowledge than I, the following was the answer provided, edited for brevity:

Quote

"I think the takeaway from this is that we should change the help wording for accuracy.

Min/Max effectively lets you determine the range/threshold of values that are affected by the adjustment.
It uses a normalised 0-1 range regardless of bit depth. Setting max higher than 1 allows the adjustment to manipulate HDR values as well.

As far as the combinations of min/max not working in different colour spaces, that's being logged with our team for further testing, so we can pinpoint the cause of this."

Equally, something else we've noticed is that your screenshot uses a comma as the decimal separator for the Min value in this dialog - although not unexpected, this isn't accepted on Mac in the same dialog (ie a decimal point/period is required), so I'm also logging this inconsistency between the platforms, but we recommend using decimal points here to be certain.

I hope this helps & thanks for your report as always :)

  • 1 month later...
Posted (edited)
On 1/6/2022 at 5:05 PM, Dan C said:

Equally, something else we've noticed is that your screenshot uses a comma as the decimal separator for the Min value in this dialog - although not unexpected, this isn't accepted on Mac in the same dialog (ie a decimal point/period is required), so I'm also logging this inconsistency between the platforms, but we recommend using decimal points here to be certain.

@Dan C, I am not sure if you are talking about this specific min/max dialog only … So just in case: macOS offers a user choice for decimal separators in a system preference (~ 'language & region'). It works as expected in Affinity in various dialogs, even if Affinity is set to English and a document is set to inches (as a unit with typically period as separator, not my set and preferred comma). So, concerning the separator it seems to work fine even if it may appear inconsistent.

1501700489_unitsdecimalseparatorlanguage.thumb.jpg.38d60789dd34595c1f58855c29e5d809.jpg

I noticed that the mentioned min-max fields behave a little different:

I may type a comma …

1456746170_decimalseparatormin-max1.jpg.fcb08a257392fcf843a5237f7633e16d.jpg

… when I leave the field (e.g. tab key) the comma gets displayed as period

1616829258_decimalseparatormin-max2.jpg.0b0104a422b8739d252f49577a6c348e.jpg

… and when I enter the field again the period switches back to my typed and preferred comma (fig. 1). So, also this field seems to work with comma – and it would be confusing if only this fields would require to type periods as separators.

EDIT: just noticed: if I type in this min-max fields a period as separator it simply gets ignored and does not occur at all, as if it wasn't typed.

Edited by thomaso

macOS 10.14.6 | MacBookPro Retina 15" | Eizo 27" | Affinity V1

Posted

Thanks for the further info provided! I can confirm I tried the following:

Leaving the Affinity app set to English, I changed the Language & Region options in macOS to comma for decimal and decimal point for grouping, leaving my macOS language as English.
With this set as such, the comma was accepted in the 'Min/Max' values for this dialog.

Screenshot 2022-02-21 at 17.38.49.png

I then set the Affinity app to German, leaving the L&R settings in macOS as before. When entering a comma as the decimal separator for the Min/Max value, the input box turned red - indicating the value was not 'valid', and when tabbing to the next value, only the '0' was retained. Interestingly enough, a decimal now works - even though this goes against my macOS settings. I am logging this as a bug.

Screenshot 2022-02-21 at 17.39.48.png

Finally, I set both my macOS language & region to 'German/Germany' respectively & restarted my Mac. The 'Grouping/Decimal' options in macOS remained the same, as they now match the current language & region settings.
With the above settings, I was able to use a comma as the accepted value, and continues to display as a comma after 'tabbing' to the next dialog.

Bildschirmfoto 2022-02-21 um 17.47.03.png

Can you please confirm the exact language and region you have set in macOS? :)

Bildschirmfoto 2022-02-21 um 17.47.39.png

Posted
4 hours ago, Dan C said:

I then set the Affinity app to German, (…)

Finally, I set both my macOS language & region to 'German/Germany' (…)

Oh thanks, I haven't tried either of this two combinations. For them your experienced decimal separator behaviour appears indeed odd and might need a fix.
Here my setting, obviously same German as primary etc. than in your screenshot.

1128790014_languageregionmain.thumb.jpg.dadcc03a67c6591e76b9123bddc9e50a.jpg

macOS 10.14.6 | MacBookPro Retina 15" | Eizo 27" | Affinity V1

  • 2 months later...
Posted
3 hours ago, cgidesign said:

Does this "... to resolve this" only relate to the comma vs. dot issue or the initially mentioned curves issues as well?

I can confirm that both issues are logged separately with our developers, such that both can hopefully be fixed :)

  • 2 years later...
Posted

Would it be possible to add multiple options for the picker to consider areas when using curves (e.g., 3x3 pixels or 5x5 pixels)? This would be especially useful for minimizing the effects of intensity variations caused by noise, as a 1x1-pixel selection can easily pick up these fluctuations.

Screenshot 2024-11-01 004908.jpg

Posted
15 hours ago, Mafz.M said:

Would it be possible to add multiple options for the picker to consider areas when using curves (e.g., 3x3 pixels or 5x5 pixels)? This would be especially useful for minimizing the effects of intensity variations caused by noise, as a 1x1-pixel selection can easily pick up these fluctuations.

That seems like a reasonable suggestion to post in the Feedback section where Serif looks for enhancement ideas, but it is not a bug and not related to this topic at all that I can see. 

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
    Laptop 2: Windows 11 Pro 24H2,  16GB memory, Snapdragon(R) X Elite - X1E80100 - Qualcomm(R) Oryon(TM) 12 Core CPU 4.01 GHz, Qualcomm(R) Adreno(TM) X1-85 GPU
iPad:  iPad Pro M1, 12.9": iPadOS 18.3, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sequoia 15.0.1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • 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.