NAME
libroi - CVIPtools toolkit library for region/area of
interest designation, manipulation of an image
SYNOPSIS
#include <CVIProi.h>
DESCRIPTION
TYPES AND CONSTANTS
typedef struct {
unsigned x;
unsigned y;
unsigned dx;
unsigned dy;
Image *dataP;
} ROI;
FUNCTION CATEGORIES
****************************************************
ROI *new_ROI(void)
****************************************************
Description: ROI class constructor. Creates a new instance
of an ROI structure. Author(s): Gregory Hance.
****************************************************
void delete_ROI(ROI *roiP)
****************************************************
<roiP> - pointer to an ROI object
Description: ROI class destructor. Author(s): Gregory
Hance.
****************************************************
void asgnImage_ROI(ROI *roiP, Image *imageP, unsigned x, unsigned y,
unsigned dx, unsigned dy)
****************************************************
<roiP> - pointer to a ROI object
<imageP> - pointer to an Image object
<x> - horizontal offset of region from pixel location (0,0)
<y> - vertical offset of region from pixel location (0,0)
<dx> - width of region (number of columns)
<dy> - height of region (number of rows)
Description: assigns an ROI to an image. Note that the ROI
will retain all of the same attributes as the parent image,
with the exception that some additional information describ-
ing the specific area/region of interest will be included.
Author(s): Gregory Hance.
****************************************************
void asgnFullImage_ROI(ROI *roiP, Image *imageP)
****************************************************
<roiP> - pointer to an ROI object
<imageP> - pointer to an Image object
Description: assign ROI as the full image dimension.
Author(s): Gregory Hance.
****************************************************
unsigned getHorOffset_ROI(ROI *roiP)
****************************************************
<roiP> - pointer to an ROI object
Description: returns the horizontal offset of the ROI from
pixel (0,0). Author(s): Gregory Hance.
****************************************************
unsigned getVerOffset_ROI(ROI *roiP)
****************************************************
<roiP> - pointer to an ROI object
Description: returns the vertical offset of the ROI from
pixel (0,0). Author(s): Gregory Hance.
****************************************************
unsigned getHorSize_ROI(ROI *roiP)
****************************************************
<roiP> - pointer to an ROI object
Description: returns the height/horizontal size of the ROI.
Author(s): Gregory Hance.
****************************************************
unsigned getVerSize_ROI(ROI *roiP)
****************************************************
<roiP> - pointer to an ROI object
Description: returns the width/vertical size of the ROI.
Author(s): Gregory Hance.
****************************************************
unsigned getNoOfRows_ROI(ROI *roiP)
****************************************************
<roiP> - pointer to an ROI object
Description: same as "getVerSize_ROI". Author(s): Gregory
Hance.
****************************************************
unsigned getNoOfCols_ROI(ROI *roiP)
****************************************************
<roiP> - pointer to an ROI object
Description: same as "getHorSize_ROI". Author(s): Gregory
Hance.
****************************************************
unsigned getNoOfBands_ROI(ROI *roiP)
****************************************************
<roiP> - pointer to an ROI object
Description: returns the number of data bands in the ROI.
Author(s): Gregory Hance.
****************************************************
FORMAT getDataFormat_ROI(ROI *roiP)
****************************************************
<roiP> - pointer to an ROI object
Description: returns the data format of ROI (i.e. REAL or
COMPLEX). Author(s): Gregory Hance.
****************************************************
CVIP_TYPE getDataType_ROI(ROI *roiP)
****************************************************
<roiP> - pointer to an ROI object
Description: returns the data type of the ROI. Author(s):
Gregory Hance.
****************************************************
void *getRealRow_ROI(ROI *roiP, unsigned y, unsigned band_no)
****************************************************
<roiP> - pointer to an ROI object
<y> - row number to reference
<band_no> - band number to reference
Description: returns a reference/pointer to a real row of
data from the ROI. NOTE: the row returned is with respect
to the ROI and not the image. (i.e. getRealRow_ROI(roi,5,0)
will return row 5 of the ROI which is actually a pointer to
the pixel sample at row = (5 + vertical offset), col = (hor-
izontal offset) of the image ) Author(s): Gregory Hance.
****************************************************
void *getRow_ROI(ROI *roiP, unsigned y, unsigned band_no)
****************************************************
<roiP> - pointer to an ROI object
<y> - row number to reference
<band_no> - band number to reference
Description: same as "getRealRow_ROI". Author(s): Gregory
Hance.
****************************************************
void *getImagRow_ROI(ROI *roiP, unsigned y, unsigned band_no)
****************************************************
Si
<roiP> - pointer to an ROI object
<y> - row number to reference
<band_no> - band number to reference
Description: returns a reference/pointer to an imaginary row
of data from the ROI. Author(s): Gregory Hance.
****************************************************
type getRealPixel_ROI(ROI *roiP, type, unsigned x, unsigned y, unsigned band_no)
****************************************************
<roiP> - pointer to an ROI object
<type> - the name of a valid "C", CVIPtools image data type such as byte, short,
int, float or double
<x> - column number to reference
<y> - row number to reference
<band_no> - band number to reference
Description: returns a real pixel sample from the ROI of
type <type>. NOTE: the pixel returned is with respect to
the ROI and not the image. (i.e.
getRealPixel_ROI(roi,byte,3,5,0) will return a pixel located
at row 5 and column 3 of the ROI which is actually the pixel
sample at row = (5 + "vertical offset") , col = (3 + "hor-
izontal offset") of the parent image. Author(s): Gregory
Hance.
****************************************************
type getPixel_ROI(ROI *roiP, type, unsigned x, unsigned y, unsigned band_no)
****************************************************
<roiP> - pointer to an ROI object
<type> - the name of a valid "C", CVIPtools image data type such as byte, short,
int, float or double
<x> - column number to reference
<y> - row number to reference
<band_no> - band number to reference
Description: same as "getRealPixel_ROI". Author(s): Gregory
Hance.
****************************************************
type getImagPixel_ROI(ROI *roiP, type, unsigned x, unsigned y, unsigned band_no)
****************************************************
<roiP> - pointer to an ROI object
<type> - the name of a valid "C", CVIPtools image data type such as byte, short,
int, float or double
<x> - column number to reference
<y> - row number to reference
<band_no> - band number to reference
Description: returns an imaginary pixel sample from the ROI
of type <type>. Author(s): Gregory Hance.
****************************************************
void setRealPixel_ROI(ROI *roiP, type, unsigned x, unsigned y,
unsigned band_no, type pixel)
****************************************************
<roiP> - pointer to an ROI object
<type> - the name of a valid "C", CVIPtools image data type such as byte, short,
int, float or double
<x> - column number to reference
<y> - row number to reference
<band_no> - band number to reference
<pixel> - datum to be placed at the above location
Description: writes a real pixel sample to the ROI of type
<type>. NOTE: the pixel written is with respect to the ROI
and not the image. (i.e.
setRealPixel_ROI(roi,byte,3,5,0,200) will write to a pixel
located at row 5 and column 3 of the ROI which is actually
the pixel sample at row = (5 + "vertical offset") , col = (3
+ "horizontal offset") of the parent image.
Author(s): Gregory Hance.
****************************************************
void setPixel_ROI(ROI *roiP, type, unsigned x, unsigned y,
unsigned band_no, type pixel)
****************************************************
<roiP> - pointer to an ROI object
<type> - the name of a valid "C", CVIPtools image data type such as byte, short,
int, float or double
<x> - column number to reference
<y> - row number to reference
<band_no> - band number to reference
<pixel> - datum to be placed at the above location
Description: same as "setRealPixel_ROI". Author(s): Gregory
Hance.
****************************************************
void setImagPixel_ROI(ROI *roiP, type, unsigned x, unsigned y,
unsigned band_no, type pixel)
****************************************************
<roiP> - pointer to an ROI object
<type> - the name of a valid "C", CVIPtools image data type such as byte, short,
int, float or double
<x> - column number to reference
<y> - row number to reference
<band_no> - band number to reference
<pixel> - datum to be placed at the above location
Description: set/write imaginary pixel sample to ROI.
Author(s): Gregory Hance.
****************************************************
void unloadRow_ROI(void *roiP, void *rowP, unsigned y, unsigned band_no)
****************************************************
<roiP> - pointer to an ROI object
<rowP> - buffer to unload data into
<row> - row to unload
<band_no> - band number of the row to unload
Description: unload row of data from ROI at row <y> into the
buffer <rowP>. Author(s): Gregory Hance.
****************************************************
void loadRow_ROI(void *roiP, void *rowP, unsigned y, unsigned band_no)
****************************************************
<roiP> - pointer to an ROI object
<rowP> - buffer to unload data into
<row> - row to unload
<band_no> - band number of the row to unload
Description: load data from the buffer <rowP> into the ROI
at row <y>.
BUGS
none as of yet
SEE ALSO
CVIPtools library quick reference guide
AUTHOR
Copyright (C) 1992, 1993 SIUE - by Gregory Hance and Scott
Umbaugh.