I have a set of images (48-bit TIFF) that are encoded in ProPhoto RGB.
I have a set of alternative input color profiles (related to ProPhoto RGB, but slightly different) that I can assign to the images in order to obtain various color transformations.
This is not the correct way of using color profiles though. If you need a color transformation you either want a 3DLUT (working color-space dependent, more like a device-link profile), or an abstract profile (Lab->Lab mapping, color-space independent).
Photoshop supports both 3DLUTs and abstract profiles.
I want to create either a 3DLUT, or an abstract profile that encodes the same transformation as the one achieved by changing the input profile. I don't know how to proceed further. I am a programmer and can write code, if that's helpful.
In more math notation, we have these functions:
ProPhotoRGB: RGB->XYZ ProPhotoRGBModified: RGB->XYZ XYZ2Lab: XYZ->Lab Lab2XYZ: Lab->XYZ
And we want to find this function:
Such that this equality holds:
ProPhotoRGBModified(input) == Lab2XYZ(UnknownAbstract(XYZ2Lab(ProPhotoRGB(input))))