[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

Public Types | Public Member Functions
VolumeExportInfo Class Reference

Argument object for the function exportVolume(). More...

#include <vigra/multi_impex.hxx>

List of all members.

Public Types

typedef ArrayVector< unsigned
char > 
ICCProfile

Public Member Functions

const ICCProfilegetICCProfile () const
const char * getPixelType () const
Diff2D getPosition () const
VolumeExportInfosetCompression (const char *)
VolumeExportInfosetFileNameBase (const char *name_base)
VolumeExportInfosetFileNameExt (const char *name_ext)
VolumeExportInfosetFileType (const char *)
VolumeExportInfosetICCProfile (const ICCProfile &profile)
VolumeExportInfosetPixelType (const char *)
VolumeExportInfosetPosition (const Diff2D &pos)
VolumeExportInfosetXResolution (float)
VolumeExportInfosetYResolution (float)
VolumeExportInfosetZResolution (float)
 VolumeExportInfo (const char *name_base, const char *name_ext)

Detailed Description

Argument object for the function exportVolume().

See exportVolume() for usage example. This object must be used to define the properties of a volume to be written to disk.

#include <vigra/imageinfo.hxx>
Namespace: vigra


Member Typedef Documentation

typedef ArrayVector<unsigned char> ICCProfile

ICC profiles (handled as raw data so far). see getICCProfile()/setICCProfile()


Constructor & Destructor Documentation

VolumeExportInfo ( const char *  name_base,
const char *  name_ext 
)

Construct VolumeExportInfo object.

       The volume will be stored in a by-slice manner, where the number of slices 
       equals the depth of the volume. The file names will be enumerated like
       <tt>name_base+"000"+name_ext</tt>, <tt>name_base+"001"+name_ext</tt> etc.
       (the actual number of zeros depends on the depth). If the target image type
       does not support the source voxel type, all slices will be mapped 
       simultaneously to the appropriate target range.
       The file type will be guessed from the extension unless overridden
       by \ref setFileType(). Recognized extensions: '.bmp', '.gif',
       '.jpeg', '.jpg', '.p7', '.png', '.pbm', '.pgm', '.pnm', '.ppm', '.ras',
       '.tif', '.tiff', '.xv', '.hdr'.
       JPEG support requires libjpeg, PNG support requires libpng, and
       TIFF support requires libtiff.

Member Function Documentation

VolumeExportInfo& setFileNameBase ( const char *  name_base)

Set volume file name base.

VolumeExportInfo& setFileNameExt ( const char *  name_ext)

Set volume file name extension.

       The file type will be guessed from the extension unless overridden
       by \ref setFileType(). Recognized extensions: '.bmp', '.gif',
       '.jpeg', '.jpg', '.p7', '.png', '.pbm', '.pgm', '.pnm', '.ppm', '.ras',
       '.tif', '.tiff', '.xv', '.hdr'.
       JPEG support requires libjpeg, PNG support requires libpng, and
       TIFF support requires libtiff.
VolumeExportInfo& setFileType ( const char *  )

Store volume as given file type.

       This will override any type guessed
       from the file name's extension. Recognized file types:

       <DL>
       <DT>"BMP"<DD> Microsoft Windows bitmap image file.
       <DT>"GIF"<DD> CompuServe graphics interchange format; 8-bit color.
       <DT>"JPEG"<DD> Joint Photographic Experts Group JFIF format;
       compressed 24-bit color (only available if libjpeg is installed).
       <DT>"PNG"<DD> Portable Network Graphic
       (only available if libpng is installed).
       <DT>"PBM"<DD> Portable bitmap format (black and white).
       <DT>"PGM"<DD> Portable graymap format (gray scale).
       <DT>"PNM"<DD> Portable anymap.
       <DT>"PPM"<DD> Portable pixmap format (color).
       <DT>"SUN"<DD> SUN Rasterfile.
       <DT>"TIFF"<DD> Tagged Image File Format.
       (only available if libtiff is installed.)
       <DT>"VIFF"<DD> Khoros Visualization image file.
       </DL>

       With the exception of TIFF, VIFF, PNG, and PNM all file types store
       1 byte (gray scale and mapped RGB) or 3 bytes (RGB) per
       pixel.

       PNG can store UInt8 and UInt16 values, and supports 1 and 3 channel
       images. One additional alpha channel is also supported.

       PNM can store 1 and 3 channel images with UInt8, UInt16 and UInt32
       values in each channel.

       TIFF and VIFF are aditionally able to store short and long
       integers (2 or 4 bytes) and real values (32 bit float and
       64 bit double) without conversion. So you will need to use
       TIFF or VIFF if you need to store images with high
       accuracy (the appropriate type to write is automatically
       derived from the image type to be exported). However, many
       other programs using TIFF (e.g. ImageMagick) have not
       implemented support for those pixel types.  So don't be
       surprised if the generated TIFF is not readable in some
       cases.  If this happens, export the image as 'unsigned
       char' or 'RGBValue\<unsigned char\>' by calling
       \ref ImageExportInfo::setPixelType().

       Support to reading and writing ICC color profiles is
       provided for TIFF, JPEG, and PNG images.
VolumeExportInfo& setCompression ( const char *  )

Set compression type.

       Recognized strings: "" (no compression), "LZW",
       "RunLength", "1" ... "100". A number is interpreted as the
       compression quality for JPEG compression. JPEG compression is
       supported by the JPEG and TIFF formats. "LZW" is only available
       if libtiff was installed with LZW enabled. By default, libtiff came
       with LZW disabled due to Unisys patent enforcement. In this case,
       VIGRA stores the image uncompressed.

           Valid Compression for TIFF files:
             JPEG    jpeg compression, call setQuality as well!
             RLE     runlength compression
             LZW     lzw compression
             DEFLATE deflate compression
VolumeExportInfo& setPixelType ( const char *  )

Set the pixel type of the volume file(s). Possible values are:

"UINT8"
8-bit unsigned integer (unsigned char)
"INT16"
16-bit signed integer (short)
"UINT16"
16-bit unsigned integer (unsigned short)
"INT32"
32-bit signed integer (long)
"UINT32"
32-bit unsigned integer (unsigned long)
"FLOAT"
32-bit floating point (float)
"DOUBLE"
64-bit floating point (double)
const char* getPixelType ( ) const

Get the pixel type of the images in the volume. Possible values are:

"UINT8"
8-bit unsigned integer (unsigned char)
"INT16"
16-bit signed integer (short)
"INT32"
32-bit signed integer (long)
"FLOAT"
32-bit floating point (float)
"DOUBLE"
64-bit floating point (double)
VolumeExportInfo& setXResolution ( float  )

Set the volume resolution in horizontal direction

VolumeExportInfo& setYResolution ( float  )

Set the image resolution in vertical direction

VolumeExportInfo& setZResolution ( float  )

Set the image resolution in depth direction

VolumeExportInfo& setPosition ( const Diff2D pos)

Set the position of the upper Left corner on a global canvas.

Currently only supported by TIFF and PNG files.

The offset is encoded in the XPosition and YPosition TIFF tags.

Parameters:
posposition of the upper left corner in pixels (must be >= 0)
Diff2D getPosition ( ) const

Get the position of the upper left corner on a global canvas.

const ICCProfile& getICCProfile ( ) const

Returns a reference to the ICC profile.

VolumeExportInfo& setICCProfile ( const ICCProfile profile)

Sets the ICC profile. ICC profiles are currently supported by TIFF, PNG and JPEG images. (Otherwise, the profile data is silently ignored.)


The documentation for this class was generated from the following file:

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de)
Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany

html generated using doxygen and Python
vigra 1.7.1 (Thu Jun 14 2012)