Yahoo Groups archive

Digital BW, The Print

Index last updated: 2026-04-28 22:56 UTC

Message

Re: [Digital BW] Re: [piezoBW] Gimp options, long

2002-12-26 by John Labovitz

On 12/24/02 10:47 AM, "Charles Bandes <byronbulb@...>"
<byronbulb@...> wrote:

> Here's what I picture (and, bear in mind of course, that I'm good at
> coming up with wishlists but darn near incompetent when it comes to
> implementing this stuff.) -

Vision is usually more important than the details anyway, as long as it's
eventually implemented. ;)

> An "automate" plugin/script for Photoshop which would:

Unfortunately, writing a Photoshop plugin requires both becoming an official
developer, which costs $200, *and* getting approved from Adobe, as well as
(I'm sure) signing a non-disclosure agreement.  They claim they're looking
into how to open the SDK to nonprofit (eg, open-source) groups.

Scripting Photoshop, however, is documented, and might do the trick.

> Take a "final" greyscale file as source, give choices for various
> inksets and tones, create appropriate separation files and output a
> "ready to print" file that can go straight to the gimp drivers.

Yes.  Even better, it doesn't have to even output a file -- there's a
library included with gimp-print that can be accessed directly by a program,
which can do all the printer setup and tell gimp-print to print whatever
data it needs to.

My stuff isn't using this yet -- it's instead feeding image data to a
"testpattern" program that comes with gimp-print that outputs raw color data
to the printer.

> Seems to me that this would probably work a lot like the PS "duotone"
> function, which applies curves and creates separations. (Actually, I'm
> wondering why we don't use that function for applying curves?)

You can use this, if you're only using 4 inks.  I think I did some early
separations using Duotones, then converted to CMYK and output through Adobe
PressReady.

> I would
> expect that there would be three hard parts - 1. coming up with the
> curves and seps for all different inksets

I've already used Piezography. ;)

Instead, what I'm writing is basically a multitone grayscale profiling
package.  Briefly, it prints stepwedges for each ink, analyzes those
stepwedges (after you scan them), and generates "curves" (really sample
points with interpolation).  The code recognizes which inks are lighter or
darker (at maximum "black" for each one), and tries to be smart about which
ink is used for which value (ie, not getting down into the lighter areas of
a given ink, so as to avoid seeing dither dots).

Right now I'm doing "hard" separations, where only one ink is being used for
any given tone.  I know that a common way of doing this by hand is to fade
one ink down and another one up to transition them.  I just haven't gotten
far enough to see how that will affect things.

> 2. actual driver development
> stuff to make sure the CMYK issues you were mentioning (equal parts
> CMY printing with K instead) get solved

Feeding raw data into gimp-print (which can't be done directly using
Photoshop) definitely avoids these issues -- I've already tested, and Tyler
has verified.

> 3. Figuring out how to make
> sure the right channels print with the right tones (perhaps that's the
> same as part 2)

This comes for free. ;)  Imagine a grayscale Photoshop file that you convert
to a Multichannel image.  Now duplicate the channel four times (or six, for
hextone).  Add curves to separate the gray tones into the multiple channels.
Now send to gimp-print (through some filter program).  Each channel will
correspond to a given ink.  The skeleton for controlling each ink is already
there; it just takes glue (to mix metaphors) to hook all this together and
make it useful.

> If it would be helpful for the people actually
> working on this stuff, I'd be very happy to work on design docs or
> anything of that nature.

Great!  We should talk more off-list.

-- 
John Labovitz
johnl@...
www.johnlabovitz.com

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.