User Documentation
Centre for Vision, Speech & Signal Processing
DEVELOP IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
IntImageC::IntImageC(void)
IntImageC::IntImageC(SizeT,SizeT)
IntImageC::IntImageC(const ImageRectangleC &)
IntImageC::IntImageC(const IntImageC &,const ImageRectangleC &)
IntImageC::IntImageC(const IntImageC &)
IntImageC::IntImageC(const ByteImageC &)
IntImageC::IntImageC(const ImageC &)
IntImageC::operator=(const IntImageC &)
IntImageC::ACopy(void) const
IntImageC::AnotherImage(void) const
IntImageC::Max(void) const
IntImageC::Min(void) const
IntImageC::MaxPixel(void) const
IntImageC::MinPixel(void) const
IntImageC::Mean(void) const
IntImageC::MeanExBack(void) const
IntImageC::Sum(void) const
IntImageC::operator+=(const IntT)
IntImageC::operator-=(const IntT)
IntImageC::operator*=(const IntT)
IntImageC::operator/=(const IntT)
IntImageC::operator*=(const RealT)
IntImageC::operator/=(const RealT)
IntImageC::operator+=(const IntImageC &)
IntImageC::operator-=(const IntImageC &)
IntImageC::operator*=(const IntImageC &)
IntImageC::operator/=(const IntImageC &)
IntImageC::Fill(IntT)
IntImageC::Frame(IntT)
IntImageC::GreyLevelTransformation(const IntSArray1dC &)
IntImageC::Threshold(const IntT,const IntT,const IntT)
IntImageC::RemoveSmallComponents(const IntT,const IntT,const BooleanT)
IntImageC::ComponentContextThresholding(const DoubleImageC &,const RealT,const GreyValueT,const GreyValueT,const IntT)
IntImageC::ComponentContextThresholding(const ByteImageC &,const ByteGreyValueT,const GreyValueT,const GreyValueT,const IntT)
ImageC::Copy(void) const
ImageC::Copy(const ImageC &)
ImageC::Copy(const ImageRectangleC &,const PixelC &)
ImageC::ACopy(void) const
ImageC::AnotherImage(void) const
ImageC::operator=(const ImageC &)
ImageC::ReflectUp(const ImageRectangleC &)
ImageC::ReflectDown(const ImageRectangleC &)
ImageC::ReflectLeft(const ImageRectangleC &)
ImageC::ReflectRight(const ImageRectangleC &)
ImageC::ReflectFrom(const ImageRectangleC &)
ImageC::Rotate90(const ImageC &)
ImageC::Rotate180(const ImageC &)
ImageC::Rotate270(const ImageC &)
ImageC::Rotate(const Point2dC &,RealT,PValueT) const
ImageC::Rotate(const ImageC &,const Point2dC &,RealT,PValueT)
ImageC::ShiftRowIndexes(const IndexT)
ImageC::ShiftColIndexes(const IndexT)
ImageC::Subsample(IntT) const
ImageC::SetOrigin(const PixelC &)
ImageC::Fill(PValueT)
ImageC::Frame(PValueT)
ImageC::Frame(PValueT,const ImageRectangleC &)
ImageC::Pad(const ImageRectangleC &) const
ImageC::IsValid(void) const
ImageC::operator[](IndexT) const
ImageC::operator[](IndexT)
ImageC::operator[](const Index2dC &)
ImageC::operator[](const Index2dC &) const
ImageC::operator[](const PixelC &)
ImageC::operator[](const PixelC &) const
ImageC::CRow(PixelIndexT) const
ImageC::Row(PixelIndexT)
ImageC::Save(ostream &,BooleanT) const
ImageC::Load(istream &,BooleanT)
ImageC::StartAddress(void) const
ImageC::Buffer(void)
ImageC::Buffer(void) const
BaseImageC::Rectangle(void) const
BaseImageC::Origin(void) const
BaseImageC::End(void) const
BaseImageC::ImageFileInfo(void) const
BaseImageC::BaseImage(void) const
BaseImageC::BaseImage(void)
BaseImageC::SetRowSubRange(const IndexT,const IndexT)
BaseImageC::SetColSubRange(const IndexT,const IndexT)
BaseImageC::SetSubRange(const ImageRectangleC &)
BaseImageC::SetFullRectangle(void)
BaseImageC::SetImageFileInfo(ImageFileInfoC *)
BaseImageC::IsEmpty(void) const
BaseImageC::ErrDifferentSize(const BaseImageC &,char *) const
BaseImageC::Rnum(void) const
BaseImageC::Cnum(void) const
BaseImageC::TRow(void) const
BaseImageC::LCol(void) const
BaseImageC::BRow(void) const
BaseImageC::RCol(void) const
BaseImageC::Area(void) const
BaseImageC::Count(void) const
BaseImageC::AllocatedRect(void) const
BaseImageC::IsBlock(void) const
ImageAC::ACopy(void) const
ImageAC::AnotherImage(void) const
ImageAC::Rectangle(void) const
ImageAC::ShiftRowIndexes(const IndexT)
ImageAC::ShiftColIndexes(const IndexT)
ImageAC::SetRowSubRange(const IndexT,const IndexT)
ImageAC::SetColSubRange(const IndexT,const IndexT)
ImageAC::ImageFileInfo(void) const
IntImageC
 
Integer image
 
include "amma/IntImage.hh"
User Level:Default
Library:ScalarIm
Example:exIter.cc
Section:Image.Image Representations
In Scope:std

Comments:
The class IntImageC represent an image of integer values.

Parent Classes: Derived Classes: Methods:
IntImageC()
The empty image.

IntImageC(SizeT rows,SizeT columns)
Creates a non-initialized image of the range (0,0) x (rows-1, columns-1).

IntImageC(const ImageRectangleC & rec)
Creates a non-initialized image of the range determined by the rectangle 'rec'.

IntImageC(const IntImageC & image,const ImageRectangleC & rec)
Creates an access to the subimage of the 'image'. The subimage is determined by the rectangle 'rec'.

IntImageC(const IntImageC & image)
Creates another access to the 'image'.

IntImageC(const ByteImageC & image)
Creates the integer image initialized by the values from the 'image' of byte values.

IntImageC(const ImageC<IntT> & image)
A new identifier for the image

const IntImageC & operator=(const IntImageC & im)
Assigment.

ImageAC * ACopy() const
A physical copy of this image.

ImageAC * AnotherImage() const
Creates a new empty image of the same type and size as this image is. Statistical information. ------------------------

IntT Max() const
Returns the maximal value in the image.

IntT Min() const
Returns the minimal value in the image.

PixelC MaxPixel() const
Returns the first pixel with the maximal value.

PixelC MinPixel() const
returns the first pixel with the manimal value.rlogin naugrim

RealT Mean() const
Returns the mean value in the image.

RealT MeanExBack() const
Returns the mean value in the image excluding the BACKGROUND value.

RealT Sum() const
Returns the sum of all values in the image.
Arithmetic operations. ----------------------

IntImageC & operator+=(const IntT alpha)
Adds 'alpha' to all pixel values.

IntImageC & operator-=(const IntT alpha)
Subtracts 'alpha' from all pixel values.

IntImageC & operator*=(const IntT alpha)
Multiplies all pixel values by 'alpha'.

IntImageC & operator/=(const IntT alpha)
Divides all pixel values by 'alpha'.

IntImageC & operator*=(const RealT alpha)
Multiplies all pixel values by 'alpha'.

IntImageC & operator/=(const RealT alpha)
Divides all pixel values by 'alpha'.

IntImageC & operator+=(const IntImageC & image)
Adds 'image' values pixel by pixel to 'this' image.

IntImageC & operator-=(const IntImageC & image)
Subtracts 'image' values pixel by pixel from 'this' image.

IntImageC & operator*=(const IntImageC & image)
Multiplies all values of 'this' image pixel-by-pixel.

IntImageC & operator/=(const IntImageC & image)
Divides all values of 'this' image pixel-by-pixel.
Modification of the image content. ----------------------------------

IntImageC & Fill(IntT value)
Fills the image by value.

IntImageC & Frame(IntT value)
Creates the frame of the image.

IntImageC & GreyLevelTransformation(const IntSArray1dC & newLevel)
Changes grey levels according to the table 'newLevel'.
Thresholding. -------------

IntImageC & Threshold(const IntT threshold,const IntT lowLabel,const IntT upLabel)
Thresholding, if an image value >= thr, the output value is upLabel, otherwise lowLabel

IntT RemoveSmallComponents(const IntT thrSize,const IntT numberComponent,const BooleanT squeezeLabels = FALSE)
Removes connected components which area is smaller than 'thrSize'.
A removed components is labeled as BACKGROUND. If 'squeezeLabels' is set to be TRUE, the whole image is relabeled using the first n labels. In that case the function returns the new number of component in the image including the background component otherwise the value 'numberComponent' is returned. Note: thrSize is IntT !! i.e. the function cannot be used for an image with very large components. The component with label BACKGROUND is background and can be of arbitrary area.

IntImageC & ComponentContextThresholding(const DoubleImageC & image,const RealT thr,const GreyValueT lowLabel,const GreyValueT upLabel,const IntT numberComponent)
Context based thresholding, if any pixel in a component has a value >= thr, the output value of all pixels of the component is upLabel, otherwise lowLabel

IntImageC & ComponentContextThresholding(const ByteImageC & image,const ByteGreyValueT thr,const GreyValueT lowLabel,const GreyValueT upLabel,const IntT numberComponent)
Context based thresholding, if any pixel in a component has a value >= thr, the output value of all pixels of the component is upLabel, otherwise lowLabel

#include "amma/Image.hh"
ImageC<IntT> Copy() const
Creates another physical copy of this image.

void Copy(const ImageC<IntT> & image)
Copies the contents of image "img" into this image.

void Copy(const ImageRectangleC & rect,const PixelC & newOrigin)
Copies the region of the image defined by rectangle "rect" into the region whose origin is "newOrigin".

ImageAC * ACopy() const
A physical copy of this image.

ImageAC * AnotherImage() const
Creates a new empty image of the same type and size as this image is.

const ImageC<IntT> & operator=(const ImageC<IntT> & image)
Assigment of a big object.

void ReflectUp(const ImageRectangleC & rect)
Mirrors the image rectangle along its top edge.

void ReflectDown(const ImageRectangleC & rect)
Mirrors the image rectangle along its bottom edge.

void ReflectLeft(const ImageRectangleC & rect)
Mirrors the image rectangle along its left edge.

void ReflectRight(const ImageRectangleC & rect)
Mirrors the image rectangle along its right edge.

void ReflectFrom(const ImageRectangleC & rect)
Mirrors the image rectangle "rect" along its sides to fill the whole image.

void Rotate90(const ImageC<IntT> & originalImage)
The values of image "originalImage" rotated about PI/2 rad and shifted to have the original upper-left corner and are saved into this image.

void Rotate180(const ImageC<IntT> & originalImage)
The values of image "originalImage" rotated about PI rad and shifted to have the original upper-left corner and are saved into this image.

void Rotate270(const ImageC<IntT> & originalImage)
The values of image "originalImage" rotated about 3/2*PI rad and shifted to have the original upper-left corner and are saved into this image.

ImageC<IntT> Rotate(const Point2dC & center,RealT angle,IntT background) const
The values of this image are rotated about "angle" (in rad) and saved to the result image.
Note the AMMA convention that the 1st or "x" coordinate of Point2dC is associated with the image row no., and the 2nd or "y" coordinate with the image column no.

void Rotate(const ImageC<IntT> & originalImage,const Point2dC & center,RealT angle,IntT background)
The values of image "originalImage" rotated about "angle" rad are saved into this image.
Note the AMMA convention that the 1st or "x" coordinate of Point2dC is associated with the image row no., and the 2nd or "y" coordinate with the image column no.

void ShiftRowIndexes(const IndexT offset)
Row indices of the items will be shifted by "offset".
There must be only one reference to this image.
For +ve "offset", the image is shifted down, or the coordinate system is shifted up.

void ShiftColIndexes(const IndexT offset)
Column indices of the items will be shifted by "offset".
There must be only one reference to this image.
For +ve "offset", the image is shifted down, or the coordinate system is shifted up.

ImageC<IntT> Subsample(IntT factor = 2) const
returns an image subsampled by a factor of "factor"

void SetOrigin(const PixelC & newOrigin)
The image coordinates are changed so that the top left pixel will have coordinates of "newOrigin".
There must be only one reference to this image.

Grey level operations.


ImageC<IntT> & Fill(IntT value)
Fills the image with "value"

ImageC<IntT> & Frame(IntT value)
Fills a 1-pixel-wide border around the image with "value"

ImageC<IntT> & Frame(IntT v,const ImageRectangleC & rect)
Fills a 1-pixel-wide rectangle with "v";
the rectangle is the intersection of "this" with "rect".

ImageC<IntT> Pad(const ImageRectangleC & rect) const
Creates a new image whose frame is from "rect", with pixels copied from "this".
Where the new image lies outside "this", it is padded out with the nearest value from "this".

Logical conditions.


BooleanT IsValid() const
Returns FALSE if the image does not have a valid data area allocated

Access to pixels values.


const RangeBufferAccessC<IntT> operator[](IndexT r) const
Access to the row of the row of pixels.

RangeBufferAccessC<IntT> operator[](IndexT r)
Access to the row of the row of pixels.

IntT & operator[](const Index2dC & pxl)
Returns the content of the pixel.

const IntT & operator[](const Index2dC & pxl) const
Returns the content of the pixel.

IntT & operator[](const PixelC & pxl)
Returns the content of the pixel.

const IntT & operator[](const PixelC & pxl) const
Returns the content of the pixel.

const IntT * CRow(PixelIndexT row) const
Access to the beginning of the row, eg. t
The returned pointer points to the first pixel of the "row".

IntT * Row(PixelIndexT row)
Access to the beginning of the constant "row"
I.e. the returned pointer points to the first pixel of "row".

void Save(ostream & outS,BooleanT useHeader = TRUE) const
Saves templated image to stream.
For byte images it will save them in either PGM or PPM binary format. For other types it will save them in ascii if a suitable stream operator has been written for the templated class. NB. These treat images of ByteGreyValueT specialy, the image values are read as numbers not as charactors.

void Load(istream & outS,BooleanT useHeader = TRUE)
Loads templated image type from ascii stream.
Should not be used for binary PGM/PPM files, but should work on most templated types. NB. These treat images of ByteGreyValueT specialy, the image values are written as numbers not as charactors.

IntT ** StartAddress() const
Returns the pointer to the table of pointers to image.
This being public is really only a hack! EXPERTS ONLY!

BufferRC<IntT> & Buffer()
Access buffer where data is stored.

const BufferRC<IntT> & Buffer() const
Access buffer where data is stored.

#include "amma/BasImage.hh"
const ImageRectangleC & Rectangle() const
Returns the image rectangle.

const Index2dC & Origin() const
Returns the upper-left pixel coordinates of the image rectangle.

const Index2dC & End() const
Returns the lower right pixel coordinates of the image rectangle.

const ImageFileInfoC & ImageFileInfo() const
Access to the origin.

const BaseImageC & BaseImage() const
access to the constant object

BaseImageC & BaseImage()
access to the object
Modification of the object --------------------------

void SetRowSubRange(const IndexT newMin,const IndexT newMax)
The range of indexes of the array will be constrained

void SetColSubRange(const IndexT newMin,const IndexT newMax)
The range of indexes of the array will be constrained.

void SetSubRange(const ImageRectangleC & range)
Constrains the domain of the image.

void SetFullRectangle()
Sets the working rectangle to be allocated rectangle of the image.

void SetImageFileInfo(ImageFileInfoC * newInfo)
Sets a new image file information respecting the current size of the image.

BooleanT IsEmpty() const
Returns TRUE if the image has zero size

void ErrDifferentSize(const BaseImageC & image,char * functionName) const
Triggers an error event if this image has different size from `image'.
The functionName should be the name of the function that triggers the error event.

SizeT Rnum() const
Returns number of rows.

SizeT Cnum() const
Returns number of columns.

IndexT TRow() const
Returns the top row index.

IndexT LCol() const
Returns the left side column index.

IndexT BRow() const
Returns the bottom row index.

IndexT RCol() const
Returns the right side column index.

LongIntT Area() const
Returns the area of the image rectangle expressed in number of indexs.

UIntT Count() const
Returns the number of refrences to this object.
NB. The following definition is now obsolete, The value 0 means there is no other reference to this object.

const ImageRectangleC & AllocatedRect() const
Access allocated rectangle.

BooleanT IsBlock() const
Returns TRUE if the image is allocated as one block of memory.

#include "amma/ImageA.hh"
ImageAC * ACopy() const
A physical copy of the image.

ImageAC * AnotherImage() const
Creates a new empty image of the same type and size as this image is.

const ImageRectangleC & Rectangle() const
Returns the working image rectangle.

void ShiftRowIndexes(const IndexT offset)
all indexes of the items will be shift by 'offset'

void ShiftColIndexes(const IndexT offset)
all indexes of the items will be shift by 'offset'

void SetRowSubRange(const IndexT newMin,const IndexT newMax)
the range of indexes of the array will be constrained

void SetColSubRange(const IndexT newMin,const IndexT newMax)
the range of indexes of the array will be constrained

const ImageFileInfoC & ImageFileInfo() const
access to the const origin


Programmer:Radek Marik, Documentation by CxxDoc: Tue Mar 20 10:48:08 2001