Jump to content

Manual curve data input (curve adjustment by numbers)

Recommended Posts

Hello All,

I'm posting this in response to the following thread:

I was also searching for a method of inputting (x,y) number pairs into Affinity Photo to make a compensating curve for digitial negatives for alternative processes. It looks to be possible by using a 1D LUT (Look Up Table).  The enormous advantage of a LUT is that the file (typically with .cube extension) is manually readable and editable.

I've put some details and screenshots below as 'proof of concept' (it means I haven't tested it in practice!).

Pic 1 shows the original image (test 2 bw [original]) - it is a greyscale image

Pic 2 shows a typical alternative process curve made up with a curves adjustment but not yet applied (test 2 bw [typical alt process curve])

Pic 3 shows the above curve applied to the image (test 2 bw [alt process curve applied])

Pic 4 shows a 1D LUT created from the curve in pic 2 applied to the image (test 2 bw [alt process curve via LUT]).  To generate the LUT data I printed the adjustment curve on paper and measured it!

Notes on method:

  1. Note that this method ONLY works with the current beta version ( I have tried it in the current production version but the LUT implementation is flawed and it does not work!
  2. There are minor differences in the histogram between pics 3 and 4, probably due to the sampled nature of the LUT with its linear segments (and also measurement accuracy!).
  3. The method utilises a 1D LUT - pretty much what they were designed for (although the idea was for video implementation). However 3D LUTs also exist and if you export an LUT from AP then it will generate one of these.

Notes on LUTs:

  1. An LUT relies on having equally spaced points along the x-axis. This is a MUST. If you have made non-equally spaced density samples, it will not work or you will have to interpolate.
  2. An LUT can have arbitrarily many data points.  In this example there are 78 so that the important information in the rapidly changing areas of the curve is captured although it means that the curve is over-specified in the linear segment.
  3. The format is self explanatory (see example). Comment lines begin with a # character. Here is the link to the Adobe LUT specification for those who want to delve further.
  4. There is no specification for the x-axis data points. They are assumed to be equally spaced.
  5. The numbers supplied are for the y-axis data points and there are 3 of them (in the given range 0.0 to 1.0) one each for RGB.  It is important that the RGB numbers are identical otherwise you will get a coloured output. I have used 5 decimal places here but it's arbitrary.

I've attached below the sample LUT that I made up - the numbers were created in an Excel spreadsheet. Feel free to adapt it. 

I would be interested in any comments.




test 2 bw [original].jpg

test 2 bw [typical alt process curve].jpg

test 2 bw [alt process curve applied].jpg

test 2 bw [alt process curve via LUT].jpg

LUT test 2 bw.cube

Share this post

Link to post
Share on other sites

This looks very promising and given the text file nature of the LUT, it can be programmatically generated based on measured density measurements. I've been printing 256 grey patches, measuring them with an I1 spectrophotometer and then calculating the resulting adjustment curve.


Share this post

Link to post
Share on other sites

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.

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.

  • Create New...

Important Information

Please note the Annual Company Closure section in the Terms of Use. These are the Terms of Use you will be asked to agree to if you join the forum. | 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.