Isis 3 Programmer Reference
Isis::Selection Class Referenceabstract

Pure Virtual Parent Class for all Selection classes. More...

#include <Selection.h>

Inheritance diagram for Isis::Selection:
Inheritance graph
Collaboration diagram for Isis::Selection:
Collaboration graph

Public Member Functions

virtual int select (Chip *inputChip, Chip *selectionChip)=0
 
virtual int elipticalReduction (Chip *selectionChip, double percent_selected, double play, int patience_limit)
 
int centerOfMass (Chip *selectionChip, double *sample, double *line)
 
int centerOfMassWeighted (Chip *inputChip, Chip *selectionChip, double *sample, double *line)
 
bool ellipseFrom5Pts (Ellipse *ell, double pts[5][2])
 
double elipsePercentSelected (Chip *selectionChip, Ellipse *ell)
 
std::vector< double > minimumBoundingElipse (std::vector< std::vector< int > > pts, Ellipse *ell)
 
bool ellipseFromCubic (Ellipse *ell, double cubic[6])
 
bool ellipseAxesAreaFromMatrix (Ellipse *ell)
 
bool bestFitEllipse (Ellipse *ell, std::vector< std::vector< int > > *pts, double play, unsigned int max_iter)
 
bool pointInEllipse (Ellipse *ell, double pt[2], double play)
 
bool ellipseInChip (Ellipse *ell, Chip *chip)
 
bool ellipseFromCenterAxesAngle (Ellipse *ell, double centerSample, double centerLine, double semiMajor, double semiMinor, double theta)
 
void selectionEdge (Chip *selectionChip, std::vector< std::vector< int > > *pts)
 

Detailed Description

Pure Virtual Parent Class for all Selection classes.

Create Selection object. Because this is a pure virtual class you can not create a Selection class directly.

Author
2011-10-12 Orrin Thomas


History

2011-10-12 Orrin Thomas - Original version

2012-02-14 Orrin Thomas - add centerOfMassWeighted routine to support using Selection/Centroid for subpixel registration

2012-12-26 Steven Lambright - Fixed an error with uninitialized memory inside of the method bestFitEllipse(). The array 'ata' wasn't fully initialized and was then used (only the 0th element was initialized). This caused unpredictable results in apollopanstitcher. Fixes #1053.

Definition at line 43 of file Selection.h.

Constructor & Destructor Documentation

◆ Selection()

Isis::Selection::Selection ( )

Definition at line 27 of file Selection.cpp.

◆ ~Selection()

Isis::Selection::~Selection ( )
virtual

Definition at line 28 of file Selection.cpp.

Member Function Documentation

◆ bestFitEllipse()

bool Isis::Selection::bestFitEllipse ( Ellipse * ell,
std::vector< std::vector< int > > * pts,
double play,
unsigned int max_iter )

Definition at line 416 of file Selection.cpp.

◆ centerOfMass()

int Isis::Selection::centerOfMass ( Chip * selectionChip,
double * sample,
double * line )

Definition at line 164 of file Selection.cpp.

◆ centerOfMassWeighted()

int Isis::Selection::centerOfMassWeighted ( Chip * inputChip,
Chip * selectionChip,
double * sample,
double * line )

Definition at line 187 of file Selection.cpp.

◆ elipsePercentSelected()

double Isis::Selection::elipsePercentSelected ( Chip * selectionChip,
Ellipse * ell )

Definition at line 292 of file Selection.cpp.

◆ elipticalReduction()

int Isis::Selection::elipticalReduction ( Chip * selectionChip,
double percent_selected,
double play,
int patience_limit )
virtual

Reimplemented in Isis::CentroidApolloPan.

Definition at line 32 of file Selection.cpp.

◆ ellipseAxesAreaFromMatrix()

bool Isis::Selection::ellipseAxesAreaFromMatrix ( Ellipse * ell)

Definition at line 581 of file Selection.cpp.

◆ ellipseFrom5Pts()

bool Isis::Selection::ellipseFrom5Pts ( Ellipse * ell,
double pts[5][2] )

Definition at line 331 of file Selection.cpp.

◆ ellipseFromCenterAxesAngle()

bool Isis::Selection::ellipseFromCenterAxesAngle ( Ellipse * ell,
double centerSample,
double centerLine,
double semiMajor,
double semiMinor,
double theta )

Definition at line 753 of file Selection.cpp.

◆ ellipseFromCubic()

bool Isis::Selection::ellipseFromCubic ( Ellipse * ell,
double cubic[6] )

Definition at line 385 of file Selection.cpp.

◆ ellipseInChip()

bool Isis::Selection::ellipseInChip ( Ellipse * ell,
Chip * chip )

Definition at line 632 of file Selection.cpp.

◆ minimumBoundingElipse()

std::vector< double > Isis::Selection::minimumBoundingElipse ( std::vector< std::vector< int > > pts,
Ellipse * ell )

Definition at line 228 of file Selection.cpp.

◆ pointInEllipse()

bool Isis::Selection::pointInEllipse ( Ellipse * ell,
double pt[2],
double play )

Definition at line 730 of file Selection.cpp.

◆ select()

virtual int Isis::Selection::select ( Chip * inputChip,
Chip * selectionChip )
pure virtual

Implemented in Isis::Centroid.

◆ selectionEdge()

void Isis::Selection::selectionEdge ( Chip * selectionChip,
std::vector< std::vector< int > > * pts )

Definition at line 553 of file Selection.cpp.


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