CMYK Colour Separations produces four .png files with transparency, one for each of the colour separations cyan, magenta, yellow and black.
The are two options for determining the colour separated outputs: by saturation or by brightness. In each case for C,M and Y, the opacity of the output pixel will be the value of the calculation, for Black it is the inverse. This allows overlay in something like Photoshop or Illustrator which get close to the original colour if all four are overlaid, I have found best in the stacking order from top to bottom of YMCK, and that it can be better to reduce the opacity a little bit for each of the separations, otherwise the magenta and cyan in particular come out too overpowering.
I wrote this to experiment with overlaying print colour separations for display on screen. I could not find any other software that does this, at least not for free.
The formula I use for the saturation calculation is that for each of the CM and Y colour separations the RGB values for that colour separation are added together, and the value for the third in the triad subtracted, e.g. if we are doing cyan we sum the blue and green, and subtract the value for the red element, the result is taken as a percentage of 510, i.e. 255 times 2. The black separation is the inverse of the sum of all three elements divided by three.
The formula for the by brightness option is similar except that instead of taking the RGB value, we use the brightness level for each element of the RGB triad, and in this case the percentage is the precentage of the total brightness value for that colour separation. Black in this case is the inverse of the brightness for the whole triad.
The CMYK values then aren’t therefore, as would normally be the way, determined by printer profile, because in this case there’s no printer involved, it’s simulation on screen, so a pixel-based formula is more relevant.
You can see some examples of output from this software on my Flickr photostream, e.g. at
Colour Constancy Cyan.