CMYK

Hi all,

I need to produce figures with CMYK colours, preferably vector-based.

There are two old threads, one from November 2007 and one from August 2010,
regarding this topic:
- http://matplotlib.1069221.n5.nabble.com/rgb-versus-cmyk-tp32391.html
- http://matplotlib.1069221.n5.nabble.com/CMYK-images-td16339.html

However, they only provide some hacks and workarounds, no
matplotlib-integrated solution. Furthermore, some links in these threads are
broken, and other solutions require Adobe products.

I was wondering if anything changed regarding this within the last 2.5 years
since the last thread. Is there a way to produce CMYK with matplotlib?

Many thanks,
Dieter

···

--
View this message in context: http://matplotlib.1069221.n5.nabble.com/CMYK-tp40352.html
Sent from the matplotlib - users mailing list archive at Nabble.com.

Hello everybody,

I would be also interested in how to produce CMYK graphics without
external fiddling.

Cheers,
Ignas

···

On 29/01/13 03:37:51 -0800, Dieter wrote:

I was wondering if anything changed regarding this within the last 2.5 years
since the last thread. Is there a way to produce CMYK with matplotlib?

We don't currently have any support -- and we're still struggling in certain areas supporting RGBA consistently across the system.

I think this would take someone writing a MEP (as a preliminary study of all of the changes that would be involved) and then shepherding it through implementation.

Mike

···

On 01/30/2013 11:10 AM, Ignas Anikevičius wrote:

On 29/01/13 03:37:51 -0800, Dieter wrote:

I was wondering if anything changed regarding this within the last 2.5 years
since the last thread. Is there a way to produce CMYK with matplotlib?

Hello everybody,

I would be also interested in how to produce CMYK graphics without
external fiddling.

Cheers,
Ignas

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

We don't currently have any support -- and we're still struggling in
certain areas supporting RGBA consistently across the system.

I think this would take someone writing a MEP (as a preliminary study of
all of the changes that would be involved) and then shepherding it
through implementation.

My somewhat vague recollection is that CMYK is fundamentally output-device dependent, and therefore it really doesn't make much sense for a plotting library to support it directly. The conversion from RGBA should be made by the publisher, knowing what the output device characteristics are.

Eric

···

On 2013/01/30 6:43 AM, Michael Droettboom wrote:

Mike

On 01/30/2013 11:10 AM, Ignas Anikevičius wrote:

On 29/01/13 03:37:51 -0800, Dieter wrote:

I was wondering if anything changed regarding this within the last 2.5 years
since the last thread. Is there a way to produce CMYK with matplotlib?

Hello everybody,

I would be also interested in how to produce CMYK graphics without
external fiddling.

Cheers,
Ignas

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

For what it's worth.

While the RGB system is native to monitor devices, since they produce
light of certain colours, CMYK is the colour system of printer
materials etc. since they absorb the colours, but reflect those we
see. That means designs must be made in CMYK for pronter materials
and in RGB for our devices. The response of each medium or device is
different. RGB will have part of the colour space not accessible in
some devices, while in printed materials it is different again. The
basic thing is colour space, while RGB and CMYK can be seen as a map.
In the real world you have to look at the product to see if the
colours come out right.

Not sure what to make of any implementation of this, but a simple
mapping should not be impossible.

Cheers,

   Paul

···

On Wed, Jan 30, 2013 at 6:38 PM, Eric Firing <efiring@...202...> wrote:

On 2013/01/30 6:43 AM, Michael Droettboom wrote:

We don't currently have any support -- and we're still struggling in
certain areas supporting RGBA consistently across the system.

I think this would take someone writing a MEP (as a preliminary study of
all of the changes that would be involved) and then shepherding it
through implementation.

My somewhat vague recollection is that CMYK is fundamentally
output-device dependent, and therefore it really doesn't make much sense
for a plotting library to support it directly. The conversion from RGBA
should be made by the publisher, knowing what the output device
characteristics are.

Eric

Mike

On 01/30/2013 11:10 AM, Ignas Anikevičius wrote:

On 29/01/13 03:37:51 -0800, Dieter wrote:

I was wondering if anything changed regarding this within the last 2.5 years
since the last thread. Is there a way to produce CMYK with matplotlib?

Hello everybody,

I would be also interested in how to produce CMYK graphics without
external fiddling.

Cheers,
Ignas

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

--

* * * * * * * * http://www.mssl.ucl.ac.uk/~npmk/ * * * *
Dr. N.P.M. Kuin (n.kuin@...1055...)
phone +44-(0)1483 (prefix) -204256 (work) -276110 (home)
mobile +44(0)7806985366 skype ID: npkuin
Mullard Space Science Laboratory – University College London –
Holmbury St Mary – Dorking – Surrey RH5 6NT– U.K.

For what it's worth.

While the RGB system is native to monitor devices, since they produce
light of certain colours, CMYK is the colour system of printer
materials etc. since they absorb the colours, but reflect those we
see. That means designs must be made in CMYK for pronter materials
and in RGB for our devices. The response of each medium or device is
different. RGB will have part of the colour space not accessible in
some devices, while in printed materials it is different again. The
basic thing is colour space, while RGB and CMYK can be seen as a map.
In the real world you have to look at the product to see if the
colours come out right.

Not sure what to make of any implementation of this, but a simple
mapping should not be impossible.

Granted, a mapping within the intersection of the two spaces respectively accessibly to RGB and CMYK is possible, but I think it makes more sense to do it as a separate operation on the ps or pdf file than to try to build it into mpl. If it were to be built in, I think it would have to be bolted onto the ps and pdf backends. I suspect that the alpha channel will make this quite complicated, much more so than a simple mapping; it will require an intermediate rendering step.

Eric

···

On 2013/01/30 9:13 AM, Paul Kuin wrote:

Cheers,

    Paul

On Wed, Jan 30, 2013 at 6:38 PM, Eric Firing <efiring@...202...> wrote:

On 2013/01/30 6:43 AM, Michael Droettboom wrote:

We don't currently have any support -- and we're still struggling in
certain areas supporting RGBA consistently across the system.

I think this would take someone writing a MEP (as a preliminary study of
all of the changes that would be involved) and then shepherding it
through implementation.

My somewhat vague recollection is that CMYK is fundamentally
output-device dependent, and therefore it really doesn't make much sense
for a plotting library to support it directly. The conversion from RGBA
should be made by the publisher, knowing what the output device
characteristics are.

Eric

Mike

On 01/30/2013 11:10 AM, Ignas Anikevičius wrote:

On 29/01/13 03:37:51 -0800, Dieter wrote:

I was wondering if anything changed regarding this within the last 2.5 years
since the last thread. Is there a way to produce CMYK with matplotlib?

Hello everybody,

I would be also interested in how to produce CMYK graphics without
external fiddling.

Cheers,
Ignas

I agree with Eric that what we need is a backend that support CMYK color space.
But matplotlib may need to provide some framework for handling the color profiles etc.

My limited experience with ps_myck backend (https://github.com/leejjoon/mpl_ps_cmyk) suggests that, as far as matplotlib provide some framework for color conversion, implementing/modifying a backend to support cmyk should not be difficult.

So, yes, we need someone to write a MEP.

Regards,

-JJ

···

On Thu, Jan 31, 2013 at 4:30 AM, Eric Firing <efiring@…202…> wrote:

On 2013/01/30 9:13 AM, Paul Kuin wrote:

For what it’s worth.

While the RGB system is native to monitor devices, since they produce

light of certain colours, CMYK is the colour system of printer

materials etc. since they absorb the colours, but reflect those we

see. That means designs must be made in CMYK for pronter materials

and in RGB for our devices. The response of each medium or device is

different. RGB will have part of the colour space not accessible in

some devices, while in printed materials it is different again. The

basic thing is colour space, while RGB and CMYK can be seen as a map.

In the real world you have to look at the product to see if the

colours come out right.

Not sure what to make of any implementation of this, but a simple

mapping should not be impossible.

Granted, a mapping within the intersection of the two spaces

respectively accessibly to RGB and CMYK is possible, but I think it

makes more sense to do it as a separate operation on the ps or pdf file

than to try to build it into mpl. If it were to be built in, I think it

would have to be bolted onto the ps and pdf backends. I suspect that

the alpha channel will make this quite complicated, much more so than a

simple mapping; it will require an intermediate rendering step.

Eric

Cheers,

Paul

On Wed, Jan 30, 2013 at 6:38 PM, Eric Firing <efiring@…202…> wrote:

On 2013/01/30 6:43 AM, Michael Droettboom wrote:

We don’t currently have any support – and we’re still struggling in

certain areas supporting RGBA consistently across the system.

I think this would take someone writing a MEP (as a preliminary study of

all of the changes that would be involved) and then shepherding it

through implementation.

My somewhat vague recollection is that CMYK is fundamentally

output-device dependent, and therefore it really doesn’t make much sense

for a plotting library to support it directly. The conversion from RGBA

should be made by the publisher, knowing what the output device

characteristics are.

Eric

Mike

On 01/30/2013 11:10 AM, Ignas Anikevičius wrote:

On 29/01/13 03:37:51 -0800, Dieter wrote:

I was wondering if anything changed regarding this within the last 2.5 years

since the last thread. Is there a way to produce CMYK with matplotlib?

Hello everybody,

I would be also interested in how to produce CMYK graphics without

external fiddling.

Cheers,

Ignas


Everyone hates slow websites. So do we.

Make your web apps faster with AppDynamics

Download AppDynamics Lite for free today:

http://p.sf.net/sfu/appdyn_d2d_jan


Matplotlib-users mailing list

Matplotlib-users@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Thanks everybody for the input. As I see the answer is no, but it could be
implemented.

I did an extensive search, but I even struggle to find a good and practical
solution how to convert a VECTORPLOT RGB to CMYK on a linux system. (One way
I often found would be the Adobe suits, which I do not have.) I gave
mpl_ps_cmyk a go, but execution failed, and the page looks dated.
Furthermore, Adobes seems to provide ICCs only for Windows and Mac, but not
for Linux. ImageMagick rasterizes the figure, the same with GIMP.

I agree that this should be done on the publisher's side, but as a matter of
fact it is the requirement of some journals.

Is there really no practical way to do this? How do others convert RGB plots
to CMYK? (Importing my data into Matlab and plotting them there cannot be
the only possibility!)

Thanks everybody again, much appreciated!
Dieter

···

--
View this message in context: http://matplotlib.1069221.n5.nabble.com/CMYK-tp40352p40379.html
Sent from the matplotlib - users mailing list archive at Nabble.com.

Funny story about that. I was submitting an article to an IEEE journal once. IEEE’s submission process for images gives back fairly useful error messages, and it told me that my images (that I generated from matplotlib) needed to be in CMYK format. I had access to Adobe Illustrator on my wife’s computer, and used its tools to convert those files to CMYK, and resubmitted it to IEEE’s submission page. The error message I got back? “Images need to be in RGB format”

I forget what I did to resolve this problem (I think I did some funky eps–>ps–>pdf–>eps thing, I don’t remember), but what I submitted was certainly RGB, so, go figure…

Cheers!
Ben Root

···

On Thu, Jan 31, 2013 at 12:08 PM, Dieter <dieter.werthmuller@…3926…> wrote:

Is there really no practical way to do this? How do others convert RGB plots

to CMYK? (Importing my data into Matlab and plotting them there cannot be

the only possibility!)

http://matplotlib.org/users/whats_new.html#pgf-tikz-backend

fwiw,
Alan Isaac

···

On 1/31/2013 12:55 PM, Benjamin Root wrote:

I was submitting an article to an IEEE journal once. IEEE's submission process for images gives back fairly useful error messages, and it told me
that my images (that I generated from matplotlib) needed to be in CMYK format. I had access to Adobe Illustrator on my wife's computer, and used its
tools to convert those files to CMYK, and resubmitted it to IEEE's submission page. The error message I got back? "Images need to be in RGB format"

For what it's worth:
Take a look at www.littlecms.com,
its' python bindings: https://launchpad.net/pylittlecms

and http://www.cazabon.com/pyCMS/ which seemingly has been built into PIL.

I don't see the big deal in putting properly tagged RGB files into any publication, and then have the RIP decide what to do with this.
Most of the RIPS will treat untagged RGB as sRGB. Unless you're a weird colour scientist, and know what you're doing, you may just end up doing fine.

For the publications:

ICC Profiles are NOT os dependent. And as a matter of fact, Adobe distributed profiles normally are pretty outdated, to the detriment of all involved in the printing process.

IsoCoatedv2 has evolved as a standard-catch-all cmyk color space, IN EUROPE. The States: not so much. They use SWOP or whatever the Brickworks (Adobe) seem to default.

If the scientific publishers do not accept pdf, but force you to submit word, you shall be fine with RGB, since word only speaks "someuntaggedRGB"

If they insist in CMYK, ask them for the proper profile. Otherwise, you have the same no-control just cast me colours in any direction approach as by using untagged RGB colors.

For your conversions, you may just need:

http://www.graphicsmagick.org/

Unfortunately, gm does it the chaotic way, which might suffice to get your job done the quick way, yet unpredictable:

convert -colorspace CMYK infile outfile

hth

Thomas

···

Am 31.01.2013 um 18:08 schrieb Dieter:

Thanks everybody for the input. As I see the answer is no, but it could be
implemented.

I did an extensive search, but I even struggle to find a good and practical
solution how to convert a VECTORPLOT RGB to CMYK on a linux system. (One way
I often found would be the Adobe suits, which I do not have.) I gave
mpl_ps_cmyk a go, but execution failed, and the page looks dated.
Furthermore, Adobes seems to provide ICCs only for Windows and Mac, but not
for Linux. ImageMagick rasterizes the figure, the same with GIMP.

I agree that this should be done on the publisher's side, but as a matter of
fact it is the requirement of some journals.

Is there really no practical way to do this? How do others convert RGB plots
to CMYK? (Importing my data into Matlab and plotting them there cannot be
the only possibility!)

Thanks everybody again, much appreciated!
Dieter

--
View this message in context: http://matplotlib.1069221.n5.nabble.com/CMYK-tp40352p40379.html
Sent from the matplotlib - users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

As is RGB by the way. Define Red: Fire-Engine-Red? Red-as-your-spouses-lips-red? After a glass-of-red-wine-lips-red?

Just in RGB, world and dog settled for the pretty meagre sRGB standard for TV-like display devices (a.k.a. computer screens)

Digital cameras do work better / cover more colours, therefore they should better use AdobeRGB. Alas, mostly it's a layer 8 problem, and there are no profiles or sRGB attached.

You want to go independent: use Lab or Luv or Lch colour spaces.

cheers

Thomas

···

Am 30.01.2013 um 19:38 schrieb Eric Firing:

My somewhat vague recollection is that CMYK is fundamentally
output-device dependent,

Thanks everybody, very insightful.
I will specifically have a look at the pgf-tikz-backend, sounds great!
Dieter

···

--
View this message in context: http://matplotlib.1069221.n5.nabble.com/CMYK-tp40352p40394.html
Sent from the matplotlib - users mailing list archive at Nabble.com.