TOC PREV NEXT INDEX

HELIOS ImageServer UB User manual


6 ImageServer utility programs
6.1 General remarks
This chapter describes some modules of our software that are only accessible when working on the UNIX server. It is meant for those who want to change or check specific OPI settings manually, or to set up automated workflows, e.g. with Script Server (see 7 "Script Server").
UNIX programs belonging to ImageServer
ImageServer is composed of many individual UNIX-based programs "opisrv", "opitouch", "layout", "oiimginfo", "oictable", "hirespath", etc.. In addition, it also makes use of the modules "papsrv" (see EtherShare manual) and "psresolve" (see Base manual) and different printer interface programs ("papif", "tcpif", and others). Some of the above mentioned programs are described in the following chapters.
The HELIOS utility programs described in this chapter are located in the "HELIOSDIR/bin" directory.
You may use them for setting specific parameters manually. This may be useful because some of these parameters were especially designed to deal with application-inherent incompatibilities.
For programs that are not described in this manual and for instructions on how to integrate plug-ins, please refer to the "HELIOS OpenImage Software Developer Kit". This documentation can be found on the HELIOS web site, section "Support" > "Developer specifications", and is meant for third-party developers only.
About defaults
Please note that parameters you set, using e.g. the "layout" program, override the settings in the preference data base. If you do not specify a specific parameter, ImageServer will check the entry in the preference data base. In case the preference data base does not contain an entry for this parameter, the parameter default will be used. Otherwise, the entry in the preference data base is valid. For changing entries in the preference data base, see 4.2 "ImageServer settings" and 8 "Preferences and notification features".
6.2 layout
The "layout" program has three purposes:
The files processed by "layout" differ in some respects; layout files that have been generated from high-resolution files include embedded OPI references to the original images, whereas converted image files do not. Macintosh Finder comments as well as XMP and IPTC meta data are preserved by both generated layouts and converted images.
6.2.1 Syntax conventions
Irrespective of whether you call the "layout" program for a set of files or use it to poll permanently in the background, use the options described below. Type and default values are shown in angle brackets just before the description. The following types are used:
6.2.2 General "layout" options
These options can be used for either layout file generation, or image conversion.
-h
Display "layout" options.
-v
Display progress on "stdout".
-H
Ignore all user home directories as HELIOS volumes.
-o PreserveResources <string list:IPTC,PATH,XMP>
Determines additional resources, which will be read by "OpenImage" plug-ins. If the string contains PATH, IPTC or XMP, the named additional resource will be read. If no resources should be preserved, specify none.
-o OmitProfile <boolean:FALSE>
Specifies whether to tag a profile to the resulting output file. This option is useful if the generated layout/original is small while the specified profile was large.
-o DcsSuffixes <string list:"C","M","Y","K">
Suffixes of DCS plates that need to be processed.
-o ProfileRepository <string:"ICC-Profiles">
Defines the Macintosh volume name (repository) where ICC profiles are located.
Compare HELIOS Admin!
-o ProfileSearchPaths <string list:None>
Additional directories to search for ICC profiles.
-o ProfilePaths <string list: (RGB="ICC-Profiles:Scanner:HELIOS:CCIR-EBU-RGB",CMYK="ICC-Profiles:Printer:HELIOS:Euro 2.6 UCR-370")>
Defines RGB or CMYK profiles used if the color space for the output file and the color space of the high-resolution file are different. These profiles are used to match between color spaces properly. Each string has the format
<color space>=<path name>.
-o PreferredCMM <string:"LinoType-Hell">
Defines preferred color matching method.
-o RenderingQuality <uint32:2>
Defines ICC rendering quality. You may choose one of the values listed below:
-o MissingIccProfileIsError <boolean:TRUE>
Defines missing profile as error when creating output file.
-o LogMissingIccProfile <boolean:TRUE>
Logs missing profile in "syslog" file.
-o UseProfile <boolean:TRUE>
Process color matching for output files, if the high-resolution files have tagged ICC profiles.
-o IncludeProfile <boolean:FALSE>
This option embedds the entire profile in the output file as a value (copy) instead of a reference (-o OmitProfile). Only applicable if UseProfile option is set.
-o ImageProfilePaths <string list:None>
When creating output files which are not yet tagged with ICC profiles, this parameter can be set for temporarily attaching a profile to the image while generating the file. Each string has the format <color space>=<Pathname> and defines the ICC-profile path name for the given color space.
-o DcsCompatible <boolean:FALSE>
Lets the program generate DCS 1 or DCS 2 EPSF layout images if the raster-based high-resolution images include colors other than Black&White or Grayscale.
-o KeepDcs <boolean:TRUE>
Lets EPSF layout images of DCS 1 or DCS 2 high-resolution images keep the DCS structure. Changing the option to FALSE will lead to simple EPSF layout files.
-o Fast <boolean:FALSE>
If set to TRUE, the "layout" program switches into a fast layout mode. Using this mode will stop ICC color matching and define a fast picking algorithm for downsampling.

Important: ICC color matching will be inactive, even with this option NOT specified, if the OPI preference Fast (see 8.1.2 "Global OPI preferences") is set to TRUE, which corresponds to the HELIOS Admin setting Standard in the Layout Quality pull-down menu!

-o PreserveDeviceN <boolean:FALSE>
This option should only be set to TRUE if you print to a PostScript 3 device with in-RIP separation. The PostScript output of PDF original files will be optimized to use the PostScript 3/DeviceN features. This applies for Hexachrome® printing, colorized images (Duotone), etc..When printing host-based separations with applications like QuarkXPress, this feature must be turned off, otherwise the output will lead to unexpected results.
-o SpotToProcess <boolean:FALSE>
Forces output images to always contain only the default inks of the output image color space. Spot colors defined in a high-resolution image will be converted into the appropriate values of the output image color space.
-o ForceMatch <boolean:FALSE>
Forces ICC color matching while creating layout images or converting images, even if no color matching would be applied by the "layout" default behavior.

Note: Do not apply this option when converting images to grayscale, or when having grayscale layouts created.

-o Compression <boolean:FALSE>
Forces the output image to be compressed the same way the high-resolution file is compressed. This option will only be recognized if the high-resolution file and the output image have the same file format.
-o ColorAliases <string list:None>
Defines mappings from application or localization dependent color names to the names used in "OpenImage". String format is <ColorName>=<ColornameAlias>.
-o Signature <string:None>
Defines a signature filter configuration file. See "HELIOS OpenImage Software Developer Kit" for details.
-o RssLimit <uint32:0>
Controls resource usage of main memory. The specified value limits the maximum use of main memory in kilobytes. Zero means no limits.
6.2.3 Layout file generation
Usually, layout files will be generated automatically by ImageServer, and new layouting parameters must be set using the HELIOS Admin program on any client. If you want to create a layout manually, or if you want to use a special set of parameters for the creation, you may call the UNIX "layout" program directly. This procedure may optionally be automated by means of Script Server.
There are two main possibilities of calling the "layout" program. If you want to create layout files for a single file or a set of known files, you can use the following call:
layout [options] files... or
layout [options] -L file(s) destination
If you want the "layout" program to scan permanently for high-resolution files in a special directory, use the call:
layout [options] -p polltime directory or
layout [options] -p polltime -L directory destination
Now, the layout process will go into the background and scan the given directory constantly with the given interval polltime in seconds for a new or changed high-resolution file to create a layout file from. This feature should only be used for small directories because it is not as fast and efficient as automatic layout generation.
Instead, we recommend to use Script Server, which is described in 7 "Script Server".
In the following, we list the parameters that may be used with "layout" and then - at the end of this chapter - give you some examples that may be used for specific workflows.

Note: Parameters that can also be specified in one of the HELIOS Admin dialogs are described with the note "Compare HELIOS Admin!".

6.2.4 Options for layout file generation
-D <string:layouts>
Use the "layouts" subdirectory for generating layouts.
-E
Return the path to the generated layout.
-a attributes
Allows you to specify a comma-separated list of attribute key=value pairs (see 6.2.5 "Attributes for "layout" options").
-r dpi <double:72.0>
Set resolution (in dpi) used for creating layout files.
-M <boolean:TRUE> (opposite to -P)
Produce layout files for the Macintosh platform only (see also option CrossPlatformLayout below).
-P <boolean:FALSE> (opposite to -M)
Generate cross-platform layouts (see also option CrossPlatformLayout below).
-n <boolean:TRUE> (opposite to -N)
Limit size of EPSF layout files on generation.
-N <boolean:FALSE> (opposite to -n)
Do not limit size of EPSF layout files on generation.
-K <boolean:TRUE> (opposite to -k)
Create layout files from high-resolution files, whose color space is unspecified.
-k <boolean:FALSE> (opposite to -K)
Do not create layout files from high-resolution files, whose color space is unspecified.
-L dir <string:None>
Set destination directory for layout file generation. It is sufficient to state the relative path for manual (NOT for automatic "polling"!) mode. This option creates all layouts in a "layouts" subdirectory of the indicated directory. This option is mostly needed when the high-resolution files reside on a read-only medium e.g. a CD-ROM.

Note: If the source directory is located in a HELIOS volume, but the destination directory is not, first copy the high-res original into the destination directory using the "dt tools" (see the Base manual). Then perform a regular "layout" call without specifying -L.

-o LayoutSuffix <string:".lay">
Suffix that is assigned to generated layout files.
-o UseLayoutDir <boolean:TRUE>
Use the "layouts" subdirectory for generating layouts (compare -D option above).
Compare HELIOS Admin!
-o MinLayoutSize <uint32:0>
Defines minimum size in bytes needed to start layout process (0 = any size).
-o KeepImageResolution <boolean:FALSE>
Do not consider PrintResolution (see below); the layout file will inherit the resolution of the high-resolution image.
-o PrintResolution <double:72.0)
Defines the resolution used for the printable part of the layout (0 = omit printable part).
Compare HELIOS Admin!
-o ScreenResolution <double:72.0)
Defines the resolution used for the screen preview part of the layout (0 = omit screen preview).
Compare HELIOS Admin!
-o PrintColor <string:"CMYK">
Defines the color space used for printable part of layout file. If the string is set to None, the color space of the high-resolution file is used. For valid color spaces, see Table 7 below. Please note that some color spaces cannot be applied to certain file formats.
Compare HELIOS Admin!
-o CompressPrint <string:None>
Defines the compression mode used to generate the printable part of the layout file using a string from Table 8. Please note that some compression modes cannot be applied to certain file formats.
Compare HELIOS Admin! (The Admin provides less options.)
-o ScreenColor <string:"RGB">
Defines the color space used for the screen preview part of the layout file. If the string is set to None, the color space of the high-resolution file is used. For valid color spaces, see Table 7 below. Please note that some color spaces cannot be applied to certain file formats.
Table 7: List of layout color spaces
Name of color space
None
HSV
YCbCr
Spot
HLS
CIELab
Bilevel
CMY
CIEXYZ
Grayscale
CMYK
CIELuv
Indexed
Multi
CIEYxy
RGB
Duotone
YCC

-o CompressQuality <uint32:0>
Defines the compression quality of layout files using lossy compression methods (e.g. "JPEG") in the range of:
1=maximum compression/minimum quality to
100=minimum compression/maximum quality.
-o CompressScreen <string:None>
Defines the compression mode used to generate the screen preview of the layout file using a string from Table 8. Note that some compression modes cannot be applied to certain file formats.
Table 8: List of layout compression modes
Name of compression mode
None
JPEG
Berthold Lineart
Compress
JPEG2000
Pixar
CCITTRLE
PackBits
Flate
CCITTG3
NextRLE
RLE
CCITTG4
Thunder

-o LayoutHighQuality <boolean:TRUE>
Create the best layout quality possible. Otherwise (FALSE), the first part of the high-resolution image that matches the defined layout resolution is used (the high quality setting uses a bilinear resolution converter, low quality setting uses the "nearest neighbor" algorithm).
-o LayoutCreator <string:"8BIM">
Defines Macintosh file creator used for layout creation (The default value "8BIM" defines Adobe Photoshop).
-o ForceRasterLayout <boolean:FALSE>
By specifying this parameter, all layout images will be created in raster format (provided that ForceEpsLayout is not specified!), if the original high-resolution image contains a raster image of the quality Print, Proof or Screen.
-o ForceEpsLayout <boolean:FALSE>
By specifying this parameter all layout images will be created in EPSF format (provided that ForceRasterLayout is not specified!), if the original high-resolution image contains an EPSF image.
-o RasterImageType <string:"TIFF">
If the high-resolution file uses raster format and does not include any mask, the resulting layout file will inherit the raster format. The used layout file format can be overridden using this option. You may use any string defined for the file type (e.g. "JPEG"). See valid file types in Table 3 in 3 "Before getting started".
-o RasterImageExt <string:None>
Specifies the file type by means of the file extension when generating layouts from raster-based images.
-o RasterImageSuffix <string:".tif">
Defines the suffix used for the created layout when the high-resolution file uses raster format and has the registered suffix.
-o EpsImageType <string:"EPSF">
Defines the file type which is used to select the manager which creates layout files. You may use any string defined for the file type. See valid file types in Table 3 in 3 "Before getting started".
-o EpsImageExt <string:None>
Specifies the file type by means of the file extension when generating layouts from EPSF images.
-o EpsImageSuffix <string:".eps">
Defines the suffix used for layout creation if the high-resolution file uses EPSF format and has a registered suffix.
-o ReplaceSuffix <boolean:TRUE>
This parameter controls if a known suffix will be replaced by the type-dependent suffix while creating the layout file name. This parameter is ignored if layouting is done for PCs or on PCShare volumes. For example, a high-resolution TIFF file "Image.tif" normally leads to the layout file name "Image.eps" in case an EPSF layout file is generated. If the option ReplaceSuffix is set to FALSE on the command line of the layout program, the suffix will stay ".tif" even if the layout file type is EPSF.
-o EpsSkipUnknownColorspaces <boolean:FALSE>
Defines whether EPSF high-resolution files without color space specification should be processed or skipped.

Important: Please note that the following three options can only be used if the created layout file is an EPSF file.

-o EpsKeepSize <double:10.0>
Defines the allowed difference in size between the layout file and the high-resolution file (in percent). 20.0, e.g., specifies that the layout file must be smaller than 120% of the high-resolution file, or else only a copy of the high-resolution file will be used as layout file. You may also specify negative values here. Valid values range from -99% to any positive value. Applies to EPSF layout files only.
-o EpsPrintablePreview <boolean:TRUE>
If set to FALSE, "layout" creates a screen preview of the image but no printable layout. Applies only to EPSF layout files.
-o EpsBinaryEncoding <boolean:TRUE>
Defines that image data may be stored using 8-bit values (otherwise 7-bit hex is used). Applies to EPSF layout files only.
-o PreviewFromPict <boolean:TRUE>
Macintosh PICT may be used as source for layout generation.
-o OmitScreenPreviewTypes <string list:"TIFF","8BPS">
By default, all provided managers create a screen preview in addition to the print preview. Thus, TIFF layouts may contain an additional PICT element. With this option you can define a list of layout file types for which the screen preview should not be included in the layout file, e.g.
<"TIFF","JPEG">
-o FailureInfoLayouts <boolean:TRUE>
Defines whether a standard default layout (indicating the error) should be created in case of layout generation failure.
-o CrossPlatformLayout <boolean:FALSE> (see also -P -M options above)
Defines whether created layouts are usable on all supported platforms (e.g. all relevant data is stored in the data fork). If the high-resolution file has a resource, the layout file may have a resource too when stored in a Macintosh volume. If the high-resolution file does not have a resource, the layout generation depends on the CrossPlatformFiles option described below. In the DOS name space under PCShare, a resource will only be created if the volume "root" directory (mount point) has an underlying ".rsrc" directory.
Compare HELIOS Admin!
-o CrossPlatformFiles <boolean:FALSE>
Defines whether a resource fork is created (see also CrossPlatformLayout option above).
-o Thumbnail <boolean:TRUE>
Include Macintosh icon in layout file (not applicable to cross-platform files).
-o LayoutComment <string:"HELIOS ImageServer 3.0.0 layout of %T file \"%f\", size %k kBytes, created by %C" >
Overrides the default comment field for layout images. The parameter is a string which will be placed in the comment section of a Macintosh file and can be viewed in the Finder using the Get Info dialog box. This string may include the following symbols (the comment may contain up to 199 characters):
%f File name of the original image.

%b Size (bytes) of the original image.

%k Size (kilobytes) of the original image.

%m Size (megabytes) of the original image.

%t File type of the original image printed as
4 byte signature.

%c
File creator of the original image printed as
4 byte signature.

%T File type of the original image printed as clear text
if possible (otherwise printed as with %t).

%C File creator of the original image printed as
application name if possible (otherwise printed as
with %c.

-o LayoutLabel <uint32:0>
Sets the label color of a layout file. An integer number between 1 and 8 reflects the Macintosh Finder label colors, 0 turns this option off.
-o FailureComment <string:"Failed HELIOS ImageServer 3.0.0 layout file of \"%f\" ">
Defines the comment string for a failed layout image (see also LayoutComment).
-o FailureLabel <uint32:0>
Specifies the label color of a failed layout image (see also LayoutLabel).
-o IgnoreMasks <boolean:FALSE>
When TRUE, causes an existing clipping path to be ignored when creating a layout image. See 3.3.3 "Image paths and clipping paths" and 5.3 "Defining folder specific OPI settings" for a description.
-o IgnoreSpots <boolean:FALSE>
Specifies whether additional channels (e.g. spot colors) are used when creating a layout image. See 3.3.5 "Additional channels in bitmap images" and 5.3 "Defining folder specific OPI settings" for a description.
-o upscale <boolean:FALSE>
Allows upward scaling so that the layout image may have a resolution higher than the resolution of the original image.
-o ProtectLayouts <boolean:FALSE>
With this option set to TRUE generated layout files will have the Macintosh Finder flag Locked turned on. Before setting this flag to TRUE make sure that the DTP application you use can handle locked layout files!

Important: The following five options are only supported for backward compatibility with previous ImageServer versions; please do not use these options for new installations or configurations!

-c <boolean:FALSE> [Use CompressScreen parameter instead]
Compress screen previews.
-d dcsSuffixes <string:"CMYK"> [Use DcsSuffixes parameter instead]
Defines valid DCS suffixes. You may specify any number of characters here. These characters are handled case-insensitive.
-C [rgb|cmyk] <string:"CMYK"> [Use PrintColor parameter instead]
Defines the color space used for raster-based layouts (e.g. TIFF layouts).
-e [rgb|cmyk|bw] <string:"CMYK"> [Use PrintColor parameter instead]
Defines the color space used for EPSF printable previews.
-t [rgb|cmyk|bw] <string:"CMYK"> [Use ScreenColor parameter instead]
Defines the color space used for EPSF screen previews.
6.2.5 Attributes for "layout" options
Attributes are only applicable to specific file types. They are entered as command line options using the syntax:
layout -o Attributes=<attributes>=<value> or
layout -a <key>=<value>
Additional attributes are delimited by commas.
Attributes <string list:"key=value">
Consists of key=value pairs, delimited by comma characters. These attributes are passed to the image managers of OPI. The keys and possible values recognized depend on the image managers.
Baseline (JPEG only) <boolean:FALSE>
Saves JPEG layout images per default in progressive method. If this option is set to TRUE, JPEG layout images are saved as baseline JPEGs instead.
DctMethod (JPEG only) <uint32:0>
Use slow, fast, or precise DCT (0, 1, 2).
Quality (JPEG only!) <uint32:75>
Create poor-high quality JPEG image (1-100).
Quality (JPEG 2000 only!) <uint32:100>
Specifies the image quality of a JPEG 2000 image in relation to the uncompressed high-resolution original. The values range from 1-100, or are one of the following named constants:

Note: Quality specifies the percentage size of the JPEG 2000 image data compared to the size of the uncompressed image, which the JPEG 2000 should not exceed. For example, if an image with lossless JP2 compression has only 50% the size of an uncompressed image, a Quality value between 50% and 100% produces no visible differences.

TileWidth (JPEG 2000 only!) <uint32:256>
Specifies the horizontal size of JPEG 2000 tiles. A JPEG 2000 image file consists of juxtaposed tiles. If the value specified is 0, the whole image merely consists of one tile.
TileHeight (JPEG 2000 only!) <uint32:256>
Specifies the vertical size of JPEG 2000 tiles. A JPEG 2000 image file consists of juxtaposed tiles. If the value specified is 0, the whole image merely consists of one tile.

Note: The subdivision of a JPEG 2000 image in tiles accelerates the coding and decoding process significantly, and minimizes the memory requirement during the operational time. The best value, which meets operational time as well as memory requirement, is 256.

AntiAlias (PDF only) <boolean:TRUE>
This attribute smooths the screen preview.
PageNumber <uint32:1>
This attribute lets you specify a certain page of a PDF, XPV or TIFF document for image conversion or creating layouts.
Password <string:"None">
This attribute allows image conversion from a password protected PDF file. Note that this attribute requires that "layout" is used in the image conversion mode (see 6.2.8 "Options for image conversion").
SaveUnseenColor (PNG only) <boolean:FALSE>
Usually, transparent points become white. This attribute leaves them in their original color if this option is set to TRUE. Does not work with indexed images.
ColorMasking (PNG only) <string:"None">
This attribute allows the definition of a transparency color. This color is set in the form <r>:<rd>,<g>:<gd>,<b>:<bd>. Each of these variables is a positive integer with values between 0 and 255. "r", "g"and "b" are the red, green and blue values of the color that shall be transparent, while "rd", "gd" and "bd" stand for the distance that a color can have to the transparent color and still be transparent. So ColorMasking=255:1,255:1,255:1 would mean: Every white pixel with RGB values between 255,255,255 to 254,254,254 shall be transparent.

Note: This attribute only works with True Color or Indexed Color images.

WebOptimize (PNG only) <boolean:TRUE>
By default, all PNG-layouts are interlaced, so a web browser can show an impression of this picture while the image is still loading. If you want to turn this feature off you will have to use this option, e.g.:
layout -a "WebOptimize=FALSE","PageNumber=1"
6.2.6 Example for layout generation
Example:
If you want to create a JPEG-RGB layout from a TIFF-CMYK high-resolution image without a clipping path you have to induce the "layout" program to convert CMYK color data into RGB and the TIFF file format into JPEG. In that case you have to change the PrintColor parameter because the default for PrintColor is CMYK. Furthermore,you have to use the RasterImageType option to create a JPEG layout file.The complete command line is given below:
layout -v -o PrintColor=RGB -o RasterImageType=JPEG
/opitest/images/testimgs/cmyktif.tif
6.2.7 Image conversion

Note: The HELIOS CD-ROM contains the "imageconv" script (in sample-images/template-images%0) as well as various sample images. The "imageconv" script can be used as an excellent source of "layout" command image conversion examples.

Note: ImageServer can only convert raster images. Instead, you may create a PDF file from the vector image and convert it, or use the PrintPreview tool "psrip".

6.2.8 Options for image conversion
-l file(s) destination
The -l option specifies that instead of generating a layout file, image conversion should occur. Highest quality converted images are then produced according to options which specify the output file format, color space, resolution, and compression. Image conversion can be executed from the command line, but more commonly is scripted in Script Server to enable interactive image conversion via hot folders, or fully automated background image conversion.
When using the -l option, specify one or more files to convert as well as a destination file (if converting a single file) or directory (if converting several files). The image type of the destination file(s) is given by specifying the destination as a complete "OpenImage" file specification.
Usage:
layout [options] -l file(s) destination
Example:
layout -o PrintColor=RGB -l file1.jpg file2.jpg "{unix,native,,TIFF}/tmp/images"
will convert "file1.jpg" and "file2.jpg" to RGB TIFF images and store them as plain UNIX files in "/tmp/images".
The "OpenImage" file specification precedes the file or directory name and is put in braces. It is structured as follows:
{File System Type, FileRepresentation, Creator, ImageType, ImageTypeExtension}
FileSystem Type must be unix.
FileRepresentation may be either native, ES, or PCS.
Creator is a Macintosh file creator signature (if left blank, 8BIM for Adobe Photoshop is used).
ImageType is a file type signature (as e.g. TIFF or EPSF; see Table 3 in 3.2.3 "Supported file formats").
ImageTypeExtension is an optional extension to the file type and may be empty.
The -l option may be combined with the -p option:
layout [options] -p polltime -l directory destination
When using the -l option together with the -p (polling) option, a destination directory must be specified with its absolute path.
Example:
layout -o PrintColor=RGB -p 45 -l /user/dir
"{unix,native,,TIFF}/tmp/images"
Now, the layout process will go into the background, scan the given directory every 45 seconds for a new or changed image file, and then converts this file into a TIFF-RGB image which will be stored in the directory "/tmp/images".

Note: Script Server provides a faster, more efficient automation method, and is therefore recommended instead of polling. See 7 "Script Server".

-o MultiInkSeparationColors <string list:None>
Defines the names and order of the color components when using Multichannel ICC profiles (5 or more channels). This option must be specified if converting to the "Multi" color space. Usage of the "Multi" color space requires the use of ICC profiles. Future ICC profiles which include the names of the color components, will dispense with this option.
-o xPix || yPix <uint32:None>
Allows the user to define the size of the output file in pixels either in x or y direction. The layouts always maintain their aspect ratio. "layout" guarantees that the resulting output files will always be smaller than or equal to these sizes. If the use of xPix would mean that a given yPix value cannot be maintained, yPix will control the output file dimensions and vice-versa.
Example:
layout -o xPix=150 -o yPix=150 -l image.tif new.tif
This will create an output file named "new.tif" which is equal to or smaller than 150 by 150 pixels.
-o ChangeClippath <string:None>
If an image is to be converted into a different format that does not support multiple paths, this option can be used to generate a picture with the specified path as a mask object. It contains the name of the path object that shall be the new clipping path.
-o ImportMask <string:None>
This option allows importing a clipping path from a different image into the target picture. The main reason for this feature is the ability to add a different or more precise clipping path into an image (for image formats with a lossy compression this should be done by image tagging, see 6.2.10 "Tagging ICC profiles, path information, and meta data to images"). Its parameter is the name of the picture that contains the clipping path that shall be imported (both pictures must be of the same size!).

Note: For the following 10 options, a number between 0.0 and 1.0 specifies a per cent value. A number > 1.0 specifies a pixel value.

-o cropLeft <double:0.000000>
Applies left margin cropping to the output image.
-o cropRight <double:0.000000>
Applies right margin cropping to the output image.
-o cropTop <double:0.000000>
Applies top margin cropping to the output image.
-o cropBottom <double:0.000000>
Applies bottom margin cropping to the output image.
-o rotate <double:0.000000>
Rotates the generated output image a certain number of degrees (0, 90, 180, 270 are permitted).
-o flipVertical <boolean:FALSE>
Causes the generated output image to be flipped vertically (swap right and left).
-o flipHorizontal <boolean:FALSE>
Causes the generated output image to be flipped horizontally (swap top and bottom).
-o RemoveAfterConvert <boolean:FALSE>
If set to TRUE, original files which have been converted will be removed after a successful conversion.
-o SkipLikeLayout <boolean:FALSE>
If set to TRUE, layout -l will skip files that are no image files, just as "layout" in standard mode would.
-o IncludeRef <boolean:FALSE>
If set to TRUE, a converted file will contain a reference to the original file. This is similar to a generated layout file, which contains a reference to the original high-resolution file.
6.2.9 Examples for image conversion
Example 1:
If you want to create a JPEG-RGB image from a TIFF-CMYK high-resolution image without a clipping path, you have to induce the "layout" program to convert CMYK color data into RGB and the TIFF file format into JPEG. In that case you must change the PrintColor parameter because the default for PrintColor is CMYK. Furthermore, you have to use the OpenImage file specification to create a JPEG file. The complete command line is given below:
layout -v -o PrintColor=RGB -l cmyktif.tif
"{unix,native,,JPEG}rgbjpg.jpg"
Example 2:
The "imageconv" script which uses many of the image conversion features can be found on the HELIOS CD-ROM in the sample-images/template-images%0 folder.
The "template-images%0" directory contains about 70 MB of sample images and the "imageconv" Perl script. This script uses the "layout" command with several options to convert the original images to any supported image type with different color spaces. After the conversion is finished all images will take about 1 GB of hard disk space.

Note: The "imageconv" script will run - depending on the used server - in as little as 4 minutes on a fast server, or over 30 minutes on a slower server.

6.2.10 Tagging ICC profiles, path information, and meta data to images
The "layout" program can also be used to tag ICC profiles to image files. In addition, path information and image meta data can be added, deleted, or modified. To do so, the -f option must be specified with appropriate substrings, which are described below. This method has the advantage (over the -o ImportMask method; see 6.2.8 "Options for image conversion"), that it does not save the image data completely anew, but only the tagging information, and thus does not deteriorate the image quality when processing lossy files.
6.2.11 Options for tagging
-f <string list:None>
This option sets "layout" into a tag only mode, so only the specified file is modified, irrespective of an existing "!iccinfo.oic" file. The -f parameter gets a string with up to three substrings, that are concatenated by a colon (":"). You can issue multiple tag orders in one layout command by specifying multiple -f parameters.
Object defining substring
The first substring contains an object type; valid object types are:
ICC = Add or delete a named ICC profile.
PATH = An image mask or path.
CLIP = Modify the clipping path parameter. It can either be deleted or will define a named path as the clipping path.
IPTC = Delete the IPTC information of this image or import IPTC information of another image.
XMP = Delete XMP information or import XMP information of another image or special XMP file.
RESO = Change image resolution (implemented for TIFF, JPEG, PNG and Photoshop images).
Action defining substring
The second substring defines an action; valid actions are:
ADD = Add ICC profiles, a clipping path, or meta data to a file. For ICC profiles this will only work if the substring also contains an "EMB" or "REF" to define how a profile will be added. To "ADD" paths, clipping path information or IPTC information, that were exported by "oiimginfo", use the substring "ADDRES" (short for add resource). Note that "ADD" will not override an existing resource, for this, use "OVER".
DEL = Delete any object.
OVER = Almost the same functionality as "ADD", with the difference that "OVER" overrides ICC profiles.
Name defining substring
The third parameter will either contain the name of a profile, a color space name, the name of an image or the name of a special file.
Examples:
layout -f "ICC:ADD EMB:Testprofile" test.jpg
will tag the image "test.jpg" with the embedded ICC profile "Testprofile".
layout -f "ICC:DEL" test.jpg
will delete all embedded or referenced ICC profiles from the image "test.jpg".
layout -f "ICC:DEL:RGB" test.pdf
will only delete the RGB profile from the PDF file "test.pdf".
layout -f "PATH:ADD:Import.jpg" test.jpg
will import the clipping path from the image "Import.jpg" and add this to "test.jpg" as a path, but not as the clipping path. If the imported path should also be designated as the clipping path, then the "CLIP" tag order must be specified as well.
layout -f 'PATH:ADDRES:Sky.path" test.tif
will add the path "Sky", that was exported by "oiimginfo" to the file "Sky.path", to the image "test.jpg". If "test.jpg" already contains a path named "Sky", the new path will be renamed to "Sky-1". If there is already a "Sky-1", it will be renamed to "Sky-2" and so on.
layout -f "PATH:DEL:Pfad 1" test.jpg
will delete the path "Pfad 1" from "test.jpg". The clipping path resource will not be changed by this order. So you should delete or change the clipping path resource also if "Pfad 1" is the clipping path.
layout -f "CLIP:ADD:exactMask" test.jpg
will set the path "exactMask" as the clipping path for the image "test.jpg".
layout -f "CLIP:DEL" test.jpg
will delete the clipping path definition from "test.jpg" the path itself will not be touched by this operation.
layout -f "XMP:ADD:test.xmp" image.jpg
will add the content of the special XMP file "test.xmp" to the file "image.jpg". Such an XMP file can be generated either by Photoshop or you can get the XMP information of an image as an XMP file by use of the command oiimginfo -E xmp -f <exportfile.xmp> file. The tagging option recognizes special XMP files by their ".xmp" suffix. If the named file would have a suffix other than ".xmp" it will try to open this file as an image, and retrieve the XMP resources of the given image.

Tip: The "oiimginfo" program can be used to list path and ICC profile information. For further details, see 6.5 "oiimginfo". The PDF HandShake tool "pdfinfo" can also be used to list ICC profiles in a PDF document.

Examples:
oiimginfo filename.tif | grep Path Info for filename.tif:
Path 'House' : 260 bytes (clipping path)
Path 'Car' : 69212 bytes
Path 'Meteorite' : 32968 bytes


oiimginfo filename.pdf | grep ICC
There are 2 ICC profiles connected:
ICC profile 1:
Profile pathname: ICC-Profiles:Printer:HELIOS:
Euro 2.6 UCR-370
ICC profile 2:
Profile pathname: ICC-Profiles:Scanner:HELIOS:
CCIR-EBU-RGB
The PDF HandShake "pdfinfo" program can also be used to list tagged ICC profiles:
pdfinfo -o Profile filename.pdf
# pdfinfo 3.0.0
Profile: ColorSpace=DeviceCMYK, Path="ICC-Profiles:
Printer:HELIOS:Euro 2.6 UCR-370", Reference
Profile: ColorSpace=DeviceRGB,
Path=ICC-Profiles:Scanner:HELIOS:CCIR-EBU-RGB, Reference
6.3 opitouch
The "opitouch" command allows triggering the generation of low-resolution OPI layout files from within UNIX. Although this could also be done with the "layout" command, the benefit of "opitouch" is that jobs are processed by "opisrv", which uses the global OPI parameters and OPI folder options for layout generation.
opitouch [-h host][-s service][-dr] files_or_direcory_path names

Important: Make sure the specified path name is absolute!

"opitouch" is the UNIX version of the program "touch", allowing virtual touching of image files without modifying the file date or time of the high-resolution files, while causing automatic OPI layout generation. Of course, if "opitouch" is used to trigger a "Tagger" ICC info file to tag ICC profiles to images, then their file date would be changed as a result. This program is a stand-alone utility which is not bound to an EtherShare license or installation, and therefore can be used on any system of the architectures supported by ImageServer. It allows touching single files, all files of a directory, or even a complete directory tree on the local or remote system.

Important: "opitouch"does not recognize the types of the files specified. So touching a non-image file does not produce any command line or syslog error messages, even if no layout image is generated!

Unless otherwise specified, "opitouch" touches files on the local host.
-h
Allows you to select a remote host by name or its IP address. You may only gain access to ImageServer systems with appropriate IP access control setup. This can be done with HELIOS Admin, using the IP Access dialog.
The default service used is OPIEvent, or its default port number 2002.
-s
Allows you to select the OPI event service port of the "opisrv" by name or port number. Specifying a service port that is served by anything other than "opisrv", may cause "opitouch" to hang.
Unless otherwise specified, "opitouch" assumes that the path name arguments refer to plain files. In this case, directories will be ignored by the contacted "opisrv".
-d
Requires all path names to be directories. In this case, all plain files contained in the specified directories will be touched. Subdirectories will be skipped.
-r
Requires all path names to be directories. In this case, all plain files and subdirectories contained in the specified directory path names will be touched recursively.

Note: Be aware that the usage of this option may cause heavy system load on the OPI server system.

-e
This option sends events to the "opisrv":
sendlayout "file name"
sendclose "file name" [file type]
sendrename "file name old" "file name new" [file type]
senddelete "file name" [file type]
sendcreatedir "directory name"
sendrenamedir "directory name old" "directory name new"
senddeletedir "directory name"
Example:
opitouch -e sendclose "/data/images/cover.tif"
The optional file type is the Macintosh four character type code. If the file type is not specified it is determined from the file's resource fork. For the delete event a file type should be specified because it ist not possible to determine the type of a file that is already deleted. The file and directory names are distributed to the registered listeners "as is", the existence of the objects is not verified.

Important: All files and directories must be specified with their absolute path names beginning with a "/" character. The path names must NOT end with a "/" character!

6.4 hirespath
The "hirespath" program can be used for three purposes: It can resolve an OPI layout file name to the appropriate high-resolution UNIX path name. It receives the low-resolution file name as a command line argument or on "stdin" and prints the file name of the high-resolution image on "stdout". In doing so, it recognizes certain OPI printer interface parameters (see -o below):
hirespath [-P <printer>] [-d <pathprefix>] [<loResRef>]
<printer>
The name of a specific printer queue. "hirespath" will then access the OPI parameters for that printer queue.
<pathprefix>
A HELIOS server directory path name which precedes <loResRef> or <clientName>. If this parameter is supplied, <loResRef> or <clientName> has to be a file name without directory specification. <pathprefix> must NOT end with a "/" character!
<loResRef>
File name or reference of the low-resolution image. It can be in the format of the client's file system (Mac, PC). The file name is quoted to allow for spaces. If <loResRef> is omitted, "hirespath" will read <loResRef> from "stdin".
Result:
<hiResRef>
File name and path of the high-resolution image. Nothing is printed on "stdout" if the program cannot resolve <loResRef>. The high-resolution file location has the format of the native file system on which "hirespath" is running.
"hirespath" may also check a complete PostScript job for OPI references and give a detailed report on "stdout". If checking a PostScript job, "hirespath" receives a file name of the job to check as a command line argument, or uses "stdin" as source:
hirespath -j [-P <printer>] [<PostScriptFileName>]
-j
When the -j option is specified, the argument to "hirespath" is a <PostScriptFileName>. "hirespath" will then check the PostScript job for all OPI references and check each reference as described above. On exit a report will be printed on "stdout" as a list of <opiRef> references, each on a single line with:
The return code can be any of the following:
0 Success. All OPI references could be resolved.
1 Error; an (UNIX) error occurred. An explanatory error
message is printed on "stderr". Nothing is printed on
"stdout".
2 Error; one of the OPI references could not be resolved.
<PostScriptFileName>
Name of a file containing a complete PostScript print job.
"hirespath" returns the name or reference on "stdout", and returns an integer to indicate the result of the operation:
Result:
<opiRef>
<code>\t(<reference>)\t(<resolvedName>)
<code> is one of the codes listed below, <reference> is the OPI reference found in the PostScript file and <resolvedName> is the name of the replaced image. <resolvedName> may be empty. The names are quoted in (), using the ADSC quoting conventions.
In a third mode, "hirespath" can map client (Mac or PC) file names to host path names:
hirespath -m [-d <pathprefix>] [<clientName>]
-m
When this option is specified, "hirespath" is a <clientName> and the result will be a <hostPath>. In this case, "hirespath" will map a client file name <clientName> to a host system path name <hostPath> without OPI resolving. This works for Mac and PC client file names. There are a few restrictions:
The return code can be any of the following:
0 Success; <clientName> was successfully mapped into <hostPath>, and the file is accessible. <hostPath> is printed on "stdout".
1 Error; An (UNIX) error occurred. An explanatory error message is printed on "stderr". Nothing is printed on "stdout".
2 Error; <clientName> cannot be mapped into <hostPath> or <hostPath> is not accessible. If the theoretical <hostPath> is reasonable, it is printed on "stdout".
A file that resides on a HELIOS host system may have its name presented in a different syntax when viewed from a client system. The "hirespath" -m option will accept any <clientName> file name, in a client system syntax. The output will be the corresponding path and file name of <clientName>, in the native file naming syntax of the HELIOS host. This is a name mapping function, and does not require that the file be a layout file or PostScript job. Even if the <clientName> file does include OPI references, they will be ignored, and only the <clientName> file name will be mapped to a host system file name.
<clientName>
File name of a Mac or PC file. If <clientName> is omitted, "hirespath" will read <clientName> from "stdin".
Result:
<hostPath>
Mapped UNIX path name of <clientName>.
In this case, "hirespath" will map a client file name <clientName> to a host system path name <hostPath> without OPI resolving.
The return code can be any of the following:
0 Success; <loResRef> was successfully resolved into
<hiResRef>, and the high-resolution file is accessible.
<hiResRef> is printed on "stdout".
1 Error; an (UNIX) error occurred. An explanatory error
message is printed on "stderr". Nothing is printed on
"stdout".
2 Error; <loResRef> cannot be resolved into
<hiResFile>. If the theoretical <hiResFile> is
reasonable, it is printed on "stdout".
3 Error; <loResRef> can be accessed but is a <hiResRef>
and the parameter resolveall is not set. If the
theoretical <hiResFile> is reasonable, it is printed on
"stdout".
4 Error; <loResRef> can be accessed but is not a valid
layout file. Nothing is printed on "stdout".
6.4.1 Possible commands and return codes
"hirespath" always understands the arguments:
-e
Enable explanatory error messages of unresolved references.
-o
Set an interface option using the -o Parameter=Value syntax. ImageSearchPaths, ImageSearchVolumes and ImageIDSearch (see 8.1.5 "OPI-related printer queue preferences") can be specified as suitable interface options.
6.4.2 Example
The example shows the command you have to enter if you want the program to return the UNIX path name of a high-resolution image for a given layout image in a print job:
hirespath -P lw /Volumes/OPI-Test/layouts/Band.tif
The server returns the following statement:
/Volumes/OPI-Test/Band.tif
6.5 oiimginfo
"oiimginfo" prints information about a given image file. The -v option can be used to restrict the amount of output. The default is to print all OpenImage-related information.
If the -E option (export mode) is set, only special information is printed to "stdout" or to a file.
Usage:
oiimginfo [-v] [-a] [-E [-I] [-f]][-h] file
Options:
-v <VerboseLevel>
Restrict the "oiimginfo" output to the given levels. See 6.5.1 "Verbose/Filter levels" below.
-a <Attributes>
Comma-separated list of attributes for the image manager. See 6.5.3 "Attributes for "oiimginfo"" below.
Example:
oiimginfo -aPageNumber=28
-E <ExportType>
Print the selected type of information to standard output or to a file. See 6.5.2 "Export" below.
-I <ExportId>
Select a particular object of the given <ExportType>, used e.g. with text boxes.
-f <ExportFile>
Print the export information to <ExportFile> instead of standard output.
6.5.1 Verbose/Filter levels
-v <VerboseLevel> can be either a number (0-9) controlling the amount of output or a comma-separated list of keywords.
Keywords are case-insensitive and can be abbreviated as long as the abbreviation is unique.
Filter keywords
Filter keywords can be used to specify which objects in the image are described in detail, depending on the image type, quality or access method.
Type filter keywords: Image,Plate,OtherTypes
Quality filter keywords: Print,Proof,Screen
Access filter keywords: Raster,PostScript,Unspec
If a filter keyword is given for one of these categories, only the corresponding objects in the image are described in detail.
Selector keywords
Selector keywords can be used to specify the amount of information printed.
Gen. selector keywords: ObjBase,LFile,RFile,
Manager
Default: ObjBase
GFX selector keywords: GFXBase,GFXInk,GFXICC,
GFXAttributes,GFXResources,
GFXVerboseResources
Default: GFXBase,GFXInk,GFXICC,
GFXAttributes,GFXResources

NoGFX can be used to suppress all GFX output.
Shortcuts:
GFXContent = GFXBase,GFXVerboseResources,
GFXAttributes
IInfo
= Image,GFXContent
RImage
= Image,Print,Raster
PImage
= Image,Print,Postscript
XPVInfo
= Image,Print,
GFXVerboseResources,
GFXAttributes

6.5.2 Export
With the -E <ExportType> option, special types of information can be extracted from the image file and printed to "stdout" or to the file given by -f <ExportFile>.
<ExportType> can be one of: XMP, Text, Attributes, Base, Clip, IPTC, Path, ICC.
<ExportType> is case-insensitive and can be abbreviated, as long as the abbreviation is unique.
The -v option can be used with filter keywords to select an object. If there is more than one object containing the wanted export type, the content of the best object is selected.
Export types in detail:
XMP
Dumps the XMP information of a file. You can set an empty file name to generate an <ImageFileName>.xmp in the directory of the image file.
Text
Dumps the contents of all text boxes or of the text box specified by -I <ExportId>. You can set an empty file name to generate the file <ImageFileName>.txt[number] in the directory of the image file.
Attributes
Dumps the attributes of an image.
Base
Dumps the basic image information of an image.
Clip
Dumps the name of the clipping path.
IPTC
Dumps the binary content of the IPTC objects.
Path
Without -I you get an overview of all included paths.
-I <PathName> dumps the binary path.
ICC
Without -I you get an overview of all included profiles.
-I <ProfileNumber> dumps the binary profile.
Example:
oiimginfo -E PATH -I Sky -f Sky.path export.tif
Export the path "Sky" from "export.tif" into the file "Sky.path", that can later be added by "layout" to an other image.
6.5.3 Attributes for "oiimginfo"
PageNumber <uint32:1>
This attribute allows you to specify a certain page of a document for which image information is provided.
Example:
oiimginfo -a PageNumber=3 test.xpv
6.6 psresolve/pdfresolve
The "psresolve" program lets you set printer interface OPI options manually on the UNIX server for one single print job. A complete description can be found in the Base manual.
The "pdfresolve" program allows replacing OPI images in PDF documents. In addition, "pdfresolve" preserves transparencies, that have been applied to layout images, in the OPI image replacement process. A complete description can be found in the PDF HandShake manual.

© 2005 HELIOS Software GmbH