28#if defined _MSC_VER && _MSC_VER<1900
29#define snprintf _snprintf
51enum ImageFormat { TIF, JPEG2000, UNSUPPORTED };
67 std::string imagePath;
70 std::string fileSystemPrefix;
73 std::string fileNamePattern;
85 void measureHorizontalAngles();
88 void measureVerticalAngles();
91 std::list <int> horizontalAnglesList;
94 std::list <int> verticalAnglesList;
133 std::vector <float>
min, max;
148 std::map <const std::string, std::string>
metadata;
199 : imagePath( image.imagePath ),
200 fileSystemPrefix( image.fileSystemPrefix ),
201 fileNamePattern( image.fileNamePattern ),
202 isFile( image.isFile ),
203 suffix( image.suffix ),
204 horizontalAnglesList( image.horizontalAnglesList ),
205 verticalAnglesList( image.verticalAnglesList ),
210 image_heights( image.image_heights ),
212 tile_height( image.tile_height ),
223 currentY( image.currentY ),
330 virtual void Load(
const std::string& module ) {;};
333 virtual const std::string
getDescription() {
return std::string(
"IIPImage Base Class" ); };
371 virtual RawTile getRegion(
int ha,
int va,
unsigned int r,
int layers,
int x,
int y,
unsigned int w,
unsigned int h ){
return RawTile(); };
376 swap( *
this, image );
Main class to handle the pyramidal image source.
Definition IIPImage.h:62
std::vector< float > min
The min and max sample value for each channel.
Definition IIPImage.h:133
std::list< int > getHorizontalViewsList()
Return a list of horizontal angles.
Definition IIPImage.h:244
unsigned int virtual_levels
Number of resolution levels that don't physically exist in file.
Definition IIPImage.h:103
const std::string getTimestamp()
Get a HTTP RFC 1123 formatted timestamp.
IIPImage()
Default Constructor.
Definition IIPImage.h:157
IIPImage(const std::string &s)
Constructer taking the image path as parameter.
Definition IIPImage.h:177
std::vector< int > lut
LUT.
Definition IIPImage.h:100
void swap(IIPImage &a, IIPImage &b)
Swap function.
const std::string getFileName(int x, int y)
Return the full file path for a particular horizontal and vertical angle.
bool isSet
Indicate whether we have opened and initialised some parameters for this image.
Definition IIPImage.h:139
ImageFormat format
Return the image format e.g. tif.
Definition IIPImage.h:106
IIPImage & operator=(IIPImage image)
Assignment operator.
Definition IIPImage.h:375
IIPImage(const IIPImage &image)
Copy Constructor taking reference to another IIPImage object.
Definition IIPImage.h:198
friend int operator!=(const IIPImage &, const IIPImage &)
Comparison non-equality operator.
void updateTimestamp(const std::string &s)
Get the image timestamp.
virtual ~IIPImage()
Virtual Destructor.
Definition IIPImage.h:229
float getMaxValue(int n=0)
Return the minimum sample value for each channel.
Definition IIPImage.h:293
std::vector< unsigned int > image_widths
The image pixel dimensions.
Definition IIPImage.h:112
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.
Definition IIPImage.h:371
ColourSpaces getColourSpace()
Return the colour space for this image.
Definition IIPImage.h:315
unsigned int getNumBitsPerPixel()
Return the number of bits per pixel for this image.
Definition IIPImage.h:280
time_t timestamp
Image modification timestamp.
Definition IIPImage.h:151
bool set()
Check whether this object has been initialised.
Definition IIPImage.h:268
virtual void loadImageInfo(int x, int y)
Load information about the image eg. number of channels, tile size etc.
Definition IIPImage.h:342
float getMinValue(int n=0)
Return the minimum sample value for each channel.
Definition IIPImage.h:288
virtual bool regionDecoding()
Return whether this image type directly handles region decoding.
Definition IIPImage.h:324
SampleType sampleType
The sample format type (fixed or floating point)
Definition IIPImage.h:130
std::map< const std::string, std::string > metadata
STL map to hold string metadata.
Definition IIPImage.h:148
unsigned int getTileWidth()
Return the base tile width in pixels.
Definition IIPImage.h:312
unsigned int numResolutions
The number of available resolutions in this image.
Definition IIPImage.h:121
const std::string & getMetadata(const std::string &index)
Return image metadata.
Definition IIPImage.h:319
unsigned int getImageWidth(int n=0)
Return the image width in pixels for a given resolution.
Definition IIPImage.h:301
SampleType getSampleType()
Return the sample format type.
Definition IIPImage.h:296
unsigned int tile_width
The base tile pixel dimensions.
Definition IIPImage.h:115
virtual void closeImage()
Close the image: Overloaded by child class.
Definition IIPImage.h:345
ImageFormat getImageFormat()
Get the image format.
Definition IIPImage.h:257
const std::string & getImagePath()
Return the image path.
Definition IIPImage.h:247
virtual void Load(const std::string &module)
Load the appropriate codec module for this image type.
Definition IIPImage.h:330
unsigned int quality_layers
Quality layers.
Definition IIPImage.h:136
unsigned int getNumChannels()
Return the number of channels for this image.
Definition IIPImage.h:283
int currentX
If we have an image sequence, the current X and Y position.
Definition IIPImage.h:142
virtual const std::string getDescription()
Return codec description: Overloaded by child class.
Definition IIPImage.h:333
friend int operator==(const IIPImage &, const IIPImage &)
Comparison equality operator.
virtual void openImage()
Open the image: Overloaded by child class.
Definition IIPImage.h:336
ColourSpaces colourspace
The colour space of the image.
Definition IIPImage.h:118
std::vector< unsigned int > histogram
Image histogram.
Definition IIPImage.h:145
void Initialise()
Test the image and initialise some parameters.
unsigned int getImageHeight(int n=0)
Return the image height in pixels for a given resolution.
Definition IIPImage.h:306
unsigned int getTileHeight()
Return the base tile height in pixels for a given resolution.
Definition IIPImage.h:309
void setFileSystemPrefix(const std::string &prefix)
Set a file system prefix for added security.
Definition IIPImage.h:271
unsigned int getNumResolutions()
Return the number of available resolutions in the image.
Definition IIPImage.h:277
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.
Definition IIPImage.h:356
std::list< int > getVerticalViewsList()
Return a list of available vertical angles.
Definition IIPImage.h:241
void setFileNamePattern(const std::string &pattern)
Set the file name pattern used in image sequences.
Definition IIPImage.h:274
unsigned int channels
The number of channels for this image.
Definition IIPImage.h:127
unsigned int bpc
The bits per channel for this image.
Definition IIPImage.h:124
Class to represent a single image tile.
Definition RawTile.h:45
Define our own derived exception class for file errors.
Definition IIPImage.h:43
file_error(std::string s)
Definition IIPImage.h:46