Isis 3 Developer Reference
|
#include <Transform.h>
Public Member Functions | |
Transform () | |
Constructs a Transform object. More... | |
virtual | ~Transform () |
Destroy the Transform object. More... | |
virtual int | OutputSamples () const =0 |
Allows the retrieval of the calculated number of samples in the output image. More... | |
virtual int | OutputLines () const =0 |
Allows the retrieval of the calculated number of lines in the output image. More... | |
virtual bool | Xform (double &inSample, double &inLine, const double outSample, const double outLine)=0 |
Transforms the given output line and sample to the corresponding output line and sample. More... | |
Pixel transformation.
This class is used as a virtual base class for rubbersheeting (geometric warping) of image data. In Isis, rubbersheeting is performed by a transform from output space to input space, where a space could be a disk cube or an internalized memory cube. In particular, the transform must provide a method for converting output pixel locations (sample,line) to input pixel locations. A very simple example of a transform is a translation (shifting the cube left/right and up/down). More complex transforms can be created such as rotations, scaling, and converting to a map projection. The Transform class is "pure virtual" and should never be instantiated but instead used in an inheriting class. Using the translation example:
If you are developing an application program whose intent is to geometrically manipulate the pixels in a cube, you should investigate the RubberSheet object which will deals nicely with a significant amount of the cube access and user input. Also, check out other applications which use the RubberSheet object such as "rotate" or "translate".
If you would like to see Transform being used in implementation, see transform.cpp
|
inline |
Constructs a Transform object.
|
inlinevirtual |
Destroy the Transform object.
|
pure virtual |
Allows the retrieval of the calculated number of lines in the output image.
Implemented in Isis::Enlarge.
|
pure virtual |
Allows the retrieval of the calculated number of samples in the output image.
Implemented in Isis::Enlarge.
|
pure virtual |
Transforms the given output line and sample to the corresponding output line and sample.
inSample | The calculated input sample where the output pixel came from. |
inLine | The calculated input line where the output pixel came from. |
outSample | The output sample for which an input line and sample is being sought |
outLine | The output line for which an input line and sample is being sought |
Implemented in Isis::Enlarge.