USGS

Isis 3.0 Application Source Code Reference

Home

SlitherTransform Class Reference

#include <SlitherTransform.h>

Inherits Transform.

List of all members.


Detailed Description

Definition at line 15 of file SlitherTransform.h.

Public Types

typedef NumericalApproximation::InterpType InterpType

Public Member Functions

 SlitherTransform (Cube &cube, ControlNet &cnet, InterpType lInterp=NumericalApproximation::CubicNatural, InterpType sInterp=NumericalApproximation::CubicNatural)
 Constructor where all the business is taking place.
virtual ~SlitherTransform ()
 Destructor.
int size () const
 Number of points used in computation of transform.
void setForward ()
 Sets forward transform direction.
void setReverse ()
 Sets reverse transform direction.
int totalPoints () const
 Total points in control net file.
int numberPointsUsed () const
 Number of points used from the input control net file.
int numberBadPoints () const
 Number of points tossed on input to this class.
int numberBadRows () const
 Number of bad rows detected in control net.
bool Xform (double &inSample, double &inLine, const double outSample, const double outLine)
 Convert the requested output samp/line to an input samp/line.
int OutputSamples () const
 Determine the number of samples in the output image.
int OutputLines () const
 Determine the number of lines in the output image.
void addLineOffset (double lineOffset)
 Add an additional offset to the line output translation.
void addSampleOffset (double sampOffset)
 Add an additional offset to the sample output transform.
Statistics LineStats ()
 Computes statistics for each line in the output image.
Statistics SampleStats ()
 Computes statistics for samples in the output image.
std::ostream & dumpState (std::ostream &out)
 Provides detailed information and statistics for the current transform.


Member Typedef Documentation

typedef NumericalApproximation::InterpType InterpType

Author:
2006-06-22 Kris Becker

Definition at line 30 of file SlitherTransform.h.


Constructor & Destructor Documentation

SlitherTransform ( Cube cube,
ControlNet &  cnet,
InterpType  lInterp = NumericalApproximation::CubicNatural,
InterpType  sInterp = NumericalApproximation::CubicNatural 
)

Constructor where all the business is taking place.

This constructor accepts a cube to be transformed and the control net file generated after matching it to a reference image. It is assumed that the control net has the reference image identified via the ControlMeasure class.

It computes the interpolations for line and samples from the control net registration data. This interpolation preserves lines whole, shifting them up and/or down and left or right.

Parameters:
cube Input cube to be transformed
cnet Control net that will be used to compute the spline offsets
lInterp Type of spline to compute for line offsets
sInterp Type of spline to compute for sample offsets
See also:
NumericalApproximation

Definition at line 35 of file SlitherTransform.cpp.

virtual ~SlitherTransform (  )  [inline, virtual]

Destructor.

All cleanup is automagically handled!

Definition at line 40 of file SlitherTransform.h.


Member Function Documentation

int size (  )  const [inline]

Number of points used in computation of transform.

This method returns the number of row points used in the computation of the spline interpolation fits.

Returns:
int Number of row point data sets used in sample/line interopolations

Definition at line 51 of file SlitherTransform.h.

void setForward (  )  [inline]

Sets forward transform direction.

This is the normal expected operation. The forward transform direction implies the transform is applied to the search image, not the pattern, or reference, image used to create the control network.

The search image is typically the FROM parameter in co-registration applications.

Definition at line 63 of file SlitherTransform.h.

void setReverse (  )  [inline]

Sets reverse transform direction.

The reverse transform direction implies the transform is applied to the pattern, or reference, image, not the search image used to create the control network.

The reference image is the MATCH parameter in co-registration applications.

Definition at line 75 of file SlitherTransform.h.

int totalPoints (  )  const [inline]

Total points in control net file.

This method reports to the caller the total number of points in the control net file. This includes ignored points as well that are automatically excluded. Points that do not have exactly 2 measures are excluded as well.

Returns:
int Number of points used

Definition at line 87 of file SlitherTransform.h.

int numberPointsUsed (  )  const [inline]

Number of points used from the input control net file.

This method reports to the caller the number of points used when read from the control point file. This count does not include ingored points or bad points.

Returns:
int Number of points used

Definition at line 98 of file SlitherTransform.h.

int numberBadPoints (  )  const [inline]

Number of points tossed on input to this class.

This method reports to the caller the number of points excluded when read from the control point file that exceeded a certain cnet line.

Returns:
int Number of points excluded

Definition at line 108 of file SlitherTransform.h.

int numberBadRows (  )  const [inline]

Number of bad rows detected in control net.

This method reports to the caller the number of bad rows detected after merging chip column registrations for each row. This will typically indicate the goodness of fit excluded all the points in that row by constraints imposed by the merging function.

Returns:
int Number of bad rows detected
See also:
ControlByRow

Definition at line 121 of file SlitherTransform.h.

bool Xform ( double &  inSample,
double &  inLine,
const double  outSample,
const double  outLine 
)

Convert the requested output samp/line to an input samp/line.

Computes the incoming line and sample for the given output line and sample. These coordinates are determined entirely by the interpolations of the control net coregistrations upon instantiation of this object.

Parameters:
inSample Returns the input sample coordinate for this outSample, outLine
inLine Returns the input line coordinate for this outSample, outLine
outSample Current sample pixel location requested
outLine Current line location requested
Returns:
bool Always returns true as the value will always be provided

Definition at line 119 of file SlitherTransform.cpp.

int OutputSamples (  )  const [inline]

Determine the number of samples in the output image.

This method returns the number of samples that will result in the image created from this transform. Default behavior is to use the same number of samples as the input image.

Returns:
int Number of samples in output image

Definition at line 136 of file SlitherTransform.h.

int OutputLines (  )  const [inline]

Determine the number of lines in the output image.

This method returns the number of lines that will result in the image created from this transform. Default behavior is to use the same number of lines as the input image.

Returns:
int Number of lines in output image

Definition at line 147 of file SlitherTransform.h.

void addLineOffset ( double  lineOffset  )  [inline]

Add an additional offset to the line output translation.

This method provides the users of this class to shift the image an additional number of lines than are determined by the control net registration information provides.

This is mostly useful when the registration had an initial starting offset as opposed to the assumption of generally spatially registering images.

Negative values shifts the image down in the output image. Positive values shift the image up.

This method can be called at any time during the processing to change the relative shift. It does not affect the size of the output image, only the placement of the samples.

Parameters:
lineOffset Additional offset to shift lines in output image

Definition at line 169 of file SlitherTransform.h.

void addSampleOffset ( double  sampOffset  )  [inline]

Add an additional offset to the sample output transform.

This method provides the users of this class to shift the image an additional number of samples than are determined by the control net registration information provides.

This is mostly useful when the registration had an initial starting offset as opposed to the assumption of generally spatially registering images.

Negative values shifts the image right in the output image. Positive values shift the image left.

This method can be called at any time during the processing to change the relative shift. It does not affect the size of the output image, only the placement of the samples.

Parameters:
sampOffset Additional offset to shift samples in output image

Definition at line 194 of file SlitherTransform.h.

Statistics LineStats (  ) 

Computes statistics for each line in the output image.

This method computes (gathers, really) the statistics as determined via the application of the interpolation from the transform. For every valid line, sample, it accumulates the line offsets as provided via the tranform.

Returns:
Statistics Provides the statistics class that contains the statistics information
See also:
Statistics
History:
2008-11-05 Jeannie Walldren - removed const from method so that _lineSpline is not const.

Definition at line 140 of file SlitherTransform.cpp.

Statistics SampleStats (  ) 

Computes statistics for samples in the output image.

This method computes (gathers, really) the statistics as determined via the application of the interpolation from the transform. For every valid line, sample, it accumulates the sample offsets as provided via the tranform.

Returns:
Statistics Provides the statistics class that contains the statistics information
See also:
Statistics
History:
2008-11-05 Jeannie Walldren - removed const from method so that _sampSpline is not const.

Definition at line 168 of file SlitherTransform.cpp.

std::ostream & dumpState ( std::ostream &  out  ) 

Provides detailed information and statistics for the current transform.

This method produces a large volume of information pertaining to the computed transform. This information is written to the provided stream and assumes the caller has created a valid stream.

Parameters:
out Output stream to write data to
Returns:
std::ostream& Returns the output stream

Definition at line 192 of file SlitherTransform.cpp.


The documentation for this class was generated from the following files: