[argyllcms] Re: Creating an abstract profile

  • From: "Yves Gauvreau" <gauvreau-yves@xxxxxxxxxxx>
  • To: <argyllcms@xxxxxxxxxxxxx>
  • Date: Mon, 23 Jul 2018 10:15:41 -0400

Graeme, yup, Photoshop can, it's basically one of the potential output of
what they call the color lookup adjustment layer, you can use and or create
(with some restriction) 3DLUT in various formats (.cube, 3DL(S), 1DLS, LOOK,
Cinespace (*.CSP) and you can also have abstract and device link profiles
(use and create), both of which can be applied via this color lookup
adjustment layer and via the apply profile mechanism.

To create an abstract or device profile from whichever of these accepted
color lookup types, you can use either one of the these others formats and
export it to either profile type or you can create one from one or more
color related adjustment layer and basically combine these into a single
color transformation and export it either a 3DLUT or a profile type.

These profile are elementary though (I think), they contain only the LUT
basically. Here is one where I remove the table data (to big). I used
iccToXml from RefIccMAX suite of tool available on Github to convert to xml.

<?xml version="1.0" encoding="UTF-8"?>
<IccProfile>
  <Header>
    <PreferredCMMType>ADBE</PreferredCMMType>
    <ProfileVersion>2.10</ProfileVersion>
    <ProfileDeviceClass>link</ProfileDeviceClass>
    <DataColourSpace>RGB </DataColourSpace>
    <PCS>RGB </PCS>
    <CreationDateTime>2018-07-19T13:12:21</CreationDateTime>
    <PrimaryPlatform>APPL</PrimaryPlatform>
    <ProfileFlags EmbeddedInFile="false" UseWithEmbeddedDataOnly="false"/>
    <DeviceManufacturer>none</DeviceManufacturer>
    <DeviceAttributes ReflectiveOrTransparency="reflective"
GlossyOrMatte="glossy" MediaPolarity="positive" MediaColour="colour"/>
    <RenderingIntent>Relative Colorimetric</RenderingIntent>
    <PCSIlluminant>
      <XYZNumber X="0.96420288" Y="1.00000000" Z="0.82490540"/>
    </PCSIlluminant>
    <ProfileCreator>ADBE</ProfileCreator>
  </Header>
  <Tags>
    <textDescriptionType>
      <TagSignature>desc</TagSignature>
      <TextData><![CDATA[Golden look YG]]></TextData>
    </textDescriptionType>
    <textType>
      <TagSignature>cprt</TagSignature>
      <TextData><![CDATA[(C) Copyright 2018 Yves Gauvreau]]></TextData>
    </textType>
    <profileSequenceDescType>
      <TagSignature>pseq</TagSignature>
      <ProfileSequence>
      </ProfileSequence>
    </profileSequenceDescType>
    <lut16Type>
      <TagSignature>A2B0</TagSignature>
      <Channels InputChannels="3" OutputChannels="3"/>
      <BCurves>
        <Curve IdentitySize="2"/>
        <Curve IdentitySize="2"/>
        <Curve IdentitySize="2"/>
      </BCurves>
      <CLUT GridGranularity="64">
        <TableData>
           Table date removed to save space
           ***
           ***
       </TableData>
      </CLUT>
      <ACurves>
          <Curve IdentitySize="2"/>
          <Curve IdentitySize="2"/>
          <Curve IdentitySize="2"/>
      </ACurves>
    </lut16Type>
  </Tags>
</IccProfile>

I found (rediscovered) a more universal method to create a profile using any
image editing software by using an identity Hald CLUT and by making the same
color change to it then to your image. Then some software can use these
modified Hald CLUT directly to make change to other image in the same way,
RawTherapee can and others or I can convert these Hald CLUT to the cube
format and then use them in Photoshop, convert them to profile for those who
can use device link or abstract profile with their application, the way PS
does it.

All of this is very nice but each software needs a specific format, some do
and some don't use this or that format, it's not applicable universally but
I thought, possibly wrongly, that if it was possible to combine, incorporate
or modify a more "standard" device or a colorspace profile, these various
means to create various global color change like somekind of presets would
be very useful.

Up to now, I've found a hundreds of "modified" Hald CLUT and I converted
them to the cube format using a python script (by Mike Boers). Now I can use
them in Photoshop but I'm a member of a photo club and if it's possible
(they don't all use PS) I'd like them to have access to this relatively
large set of basic color change "presets", many of which simulate film
"look" but of course this is just the tip of the iceberg. 

So my question again, since most image editing software can use some form of
color management is there a way to say combine or integrate these 3DLUT kind
of change into something useful and more universally usable?

Thanks,
YG

See below, for more.





-----Original Message-----
From: argyllcms-bounce@xxxxxxxxxxxxx [mailto:argyllcms-bounce@xxxxxxxxxxxxx]
On Behalf Of Graeme Gill
Sent: Sunday, July 22, 2018 9:03 PM
To: argyllcms@xxxxxxxxxxxxx
Subject: [argyllcms] Re: Creating an abstract profile

Yves Gauvreau wrote:

Hi,

Sounds complicated, since Photoshop can easily create either an abstract
or
device link profile like this one Golden_Look.ICC found on Windows, these
do
exactly what I want.

I'm unaware that Photoshop has the ability to create ICC profiles.

Perhaps you mean Photoshop can use abstract/device link profiles ?

But I realised that not to many image editing software
can apply device link or abstract profiles.

Can I use collink to combine
these abstract or device link profile with a color space profile say sRGB
to
make them more usable?

No, although I guess you might be able to fudge something using
the colprof -p option.

Any suggestion to how to do this properly.

Difficult, since a device profile doesn't define a color transform -
it defines half of a colorspace transform. You would have to define the
pair of device profiles being used, and co-ordinate their effect.

You can of course use an arbitrary chain of ICC profiles
(including abstract and device links) when processing
raster files using cctiff.

Speaking for myself, this is most likely the approach I would use to apply
profiles in batch mode and it would work on Mac's as well I presume.

I don't pretend I understand all of this by far but essentially, a device
profile transform it's "colorspace" to the profile connection space (PCS),
that's why you say half I presume. I see in the ICC specs that a device
profile can be more or less complex in the chain of action it processes on
its way to the PCS, isn't there a way to include something in there that
would result basically to the same result of using cctiff with the abstract
or device link profile(s) but on a say a sRGB profile?   

Cheers,
        Graeme Gill.























Other related posts: