![]() |
iipsrv 1.2
iipsrv is an advanced high-performance feature-rich image server for web-based streamed viewing and zooming of ultra high-resolution images
|
Main class to handle the pyramidal image source. More...
#include <IIPImage.h>
Public Member Functions | |
IIPImage () | |
Default Constructor. | |
IIPImage (const std::string &s) | |
Constructer taking the image path as parameter. | |
IIPImage (const IIPImage &image) | |
Copy Constructor taking reference to another IIPImage object. | |
virtual | ~IIPImage () |
Virtual Destructor. | |
void | Initialise () |
Test the image and initialise some parameters. | |
void | swap (IIPImage &a, IIPImage &b) |
Swap function. | |
std::list< int > | getVerticalViewsList () const |
Return a list of available vertical angles. | |
std::list< int > | getHorizontalViewsList () const |
Return a list of horizontal angles. | |
const std::string & | getImagePath () const |
Return the image path. | |
const std::string | getFileName (int x, int y) |
Return the full file path for a particular horizontal and vertical angle. | |
ImageFormat | getImageFormat () const |
Get the image format. | |
void | updateTimestamp (const std::string &s) |
Get the image timestamp. | |
const std::string | getTimestamp () |
Get a HTTP RFC 1123 formatted timestamp. | |
bool | set () const |
Check whether this object has been initialised. | |
void | setFileSystemPrefix (const std::string &prefix) |
Set a file system prefix for added security. | |
void | setFileSystemSuffix (const std::string &s) |
Set a file system suffix. | |
void | setFileNamePattern (const std::string &pattern) |
Set the file name pattern used in image sequences. | |
unsigned int | getNumResolutions () const |
Return the number of available resolutions in the image. | |
int | getNativeResolution (const int res) const |
Return index of the resolution within the image file. | |
unsigned int | getNumBitsPerPixel () const |
Return the number of bits per pixel for this image. | |
unsigned int | getNumChannels () const |
Return the number of channels for this image. | |
float | getMinValue (int n=0) const |
Return the minimum sample value for each channel. | |
float | getMaxValue (int n=0) const |
Return the minimum sample value for each channel. | |
SampleType | getSampleType () const |
Return the sample format type. | |
unsigned int | getImageWidth (int n=0) const |
Return the image width in pixels for a given resolution. | |
unsigned int | getImageHeight (int n=0) const |
Return the image height in pixels for a given resolution. | |
unsigned int | getTileWidth (int n=-1) const |
Return the tile width in pixels for a given resolution. | |
unsigned int | getTileHeight (int n=-1) const |
Return the tile height in pixels for a given resolution. | |
ColourSpaces | getColourSpace () const |
Return the colour space for this image. | |
bool | isStack () const |
Return whether image is a single-file image stack. | |
std::list< Stack > | getStack () const |
Load stack info. | |
const std::string & | getMetadata (const std::string &index) |
Return image metadata. | |
float | getHorizontalDPI () const |
Return physical resolution (DPI) in pixels/meter horizontally. | |
float | getVerticalDPI () const |
Return physical resolution (DPI) in pixels/meter vertically. | |
virtual bool | regionDecoding () |
Return whether this image type directly handles region decoding. | |
virtual void | Load (const std::string &module) |
Load the appropriate codec module for this image type. | |
virtual std::string | getDescription () const |
Return codec description: Overloaded by child class. | |
virtual void | openImage () |
Open the image: Overloaded by child class. | |
virtual void | loadImageInfo (int x, int y) |
Load information about the image eg. number of channels, tile size etc. | |
virtual void | closeImage () |
Close the image: Overloaded by child class. | |
virtual RawTile | getTile (int h, int v, unsigned int r, int l, unsigned int t) |
Return an individual tile for a given angle and resolution. | |
virtual RawTile | getRegion (int ha, int va, unsigned int r, int layers, int x, int y, unsigned int w, unsigned int h) |
Return a region for a given angle and resolution. | |
IIPImage & | operator= (IIPImage image) |
Assignment operator. | |
Static Public Member Functions | |
static void | setupLogging () |
Setup logging for codec library errors and warnings. | |
Public Attributes | |
std::vector< unsigned int > | image_widths |
The image pixel dimensions. | |
std::vector< unsigned int > | image_heights |
std::vector< unsigned int > | tile_widths |
The tile dimensions for each resolution. | |
std::vector< unsigned int > | tile_heights |
ColourSpaces | colourspace |
The colour space of the image. | |
float | dpi_x |
Native physical resolution in both X and Y. | |
float | dpi_y |
int | dpi_units |
Units for native physical resolution. | |
unsigned int | numResolutions |
The number of available resolutions in this image. | |
unsigned int | bpc |
The bits per channel for this image. | |
unsigned int | channels |
The number of channels for this image. | |
SampleType | sampleType |
The sample format type (fixed or floating point) | |
std::vector< float > | min |
The min and max sample value for each channel. | |
std::vector< float > | max |
unsigned int | quality_layers |
Quality layers. | |
bool | isSet |
Indicate whether we have opened and initialised some parameters for this image. | |
int | currentX |
If we have an image sequence, the current X and Y position. | |
int | currentY |
std::vector< unsigned int > | histogram |
Image histogram. | |
std::map< const std::string, std::string > | metadata |
STL map to hold string metadata. | |
time_t | timestamp |
Image modification timestamp. | |
Static Public Attributes | |
static bool | logging |
Our logging stream - declared statically. | |
Protected Attributes | |
std::list< int > | horizontalAnglesList |
The list of available horizontal angles (for image sequences) | |
std::list< int > | verticalAnglesList |
The list of available vertical angles (for image sequences) | |
std::vector< int > | lut |
LUT. | |
unsigned int | virtual_levels |
Number of resolution levels that don't physically exist in file. | |
ImageFormat | format |
Return the image format e.g. tif. | |
PyramidType | pyramid |
Define how pyramid is structured. | |
std::list< Stack > | stack |
Whether we have an image stack consisting of multiple images within a single file. | |
std::vector< uint32_t > | resolution_ids |
Friends | |
int | operator== (const IIPImage &, const IIPImage &) |
Comparison equality operator. | |
int | operator!= (const IIPImage &, const IIPImage &) |
Comparison non-equality operator. | |
Main class to handle the pyramidal image source.
Provides functions to open, get various information from an image source and get individual tiles. This class is the base class for specific image file formats such as Tiled Pyramidal TIFF images via TPTImage.h and JPEG2000 via Kakadu.h
|
inline |
Constructer taking the image path as parameter.
s | image path |
|
inline |
|
inlinevirtual |
Close the image: Overloaded by child class.
Reimplemented in KakaduImage, OpenJPEGImage, and TPTImage.
const std::string IIPImage::getFileName | ( | int | x, |
int | y | ||
) |
Return the full file path for a particular horizontal and vertical angle.
x | horizontal sequence angle |
y | vertical sequence angle |
|
inline |
Return the image height in pixels for a given resolution.
n | resolution number (0 is default and full size image) |
|
inline |
Return the image width in pixels for a given resolution.
n | resolution number (0 is default and full size image) |
References image_widths.
|
inline |
Return the minimum sample value for each channel.
n | channel index |
|
inline |
|
inline |
|
inline |
Return index of the resolution within the image file.
res | IIP protocol resolution level where 0 is smallest image |
References numResolutions.
Referenced by getTileHeight(), and getTileWidth().
|
inlinevirtual |
Return a region for a given angle and resolution.
Return a RawTile object: Overloaded by child class.
ha | horizontal angle |
va | vertical angle |
r | resolution |
layers | number of layers to decode |
x | offset in x direction |
y | offset in y direction |
w | width of region |
h | height of region |
Reimplemented in KakaduImage, and OpenJPEGImage.
|
inlinevirtual |
Return an individual tile for a given angle and resolution.
Return a RawTile object: Overloaded by child class.
h | horizontal angle |
v | vertical angle |
r | resolution |
l | quality layers |
t | tile number |
Reimplemented in KakaduImage, OpenJPEGImage, and TPTImage.
|
inline |
Return the tile height in pixels for a given resolution.
n | IIP resolution (tile size for full reslolution image by default) |
References getNativeResolution().
|
inline |
Return the tile width in pixels for a given resolution.
n | IIP resolution (tile size for full resolution image by default) |
References getNativeResolution(), and tile_widths.
|
inlinevirtual |
Load the appropriate codec module for this image type.
Used only for dynamically loading codec modules. Overloaded by DSOImage class.
module | the codec module path |
|
inlinevirtual |
Load information about the image eg. number of channels, tile size etc.
x | horizontal sequence angle |
y | vertical sequence angle |
Reimplemented in KakaduImage, OpenJPEGImage, and TPTImage.
|
inlinevirtual |
Open the image: Overloaded by child class.
Reimplemented in KakaduImage, OpenJPEGImage, and TPTImage.
Assignment operator.
image | IIPImage object |
References swap().
Referenced by KakaduImage::operator=(), and TPTImage::operator=().
|
inlinevirtual |
Return whether this image type directly handles region decoding.
Reimplemented in KakaduImage, and OpenJPEGImage.
void IIPImage::updateTimestamp | ( | const std::string & | s | ) |
Get the image timestamp.
s | file path |
int IIPImage::dpi_units |
Units for native physical resolution.
0=unknown, 1=pixels/inch, 2=pixels/cm
Referenced by getHorizontalDPI(), and getVerticalDPI().