![]() |
Isis 3 Programmer Reference
|
a control network More...
#include <ControlNet.h>
Classes | |
struct | Connection |
Used to define the edges of the graph. More... | |
class | ControlMeasureLessThanFunctor |
struct | Image |
Used to define the verticies of the graph. More... | |
Public Types | |
enum | ModType { Swapped, GraphModified } |
Control Point Modification Types. More... | |
Signals | |
void | networkStructureModified () |
void | networkModified (ControlNet::ModType type) |
void | pointModified (ControlPoint *point, ControlPoint::ModType type, QVariant oldValue, QVariant newValue) |
void | measureModified (ControlMeasure *measure, ControlMeasure::ModType type, QVariant oldValue, QVariant newValue) |
void | pointDeleted (ControlPoint *point) |
void | newPoint (ControlPoint *) |
void | newMeasure (ControlMeasure *) |
void | measureRemoved (ControlMeasure *) |
Public Member Functions | |
ControlNet (SurfacePoint::CoordinateType=SurfacePoint::Latitudinal) | |
Creates an empty ControlNet object. More... | |
ControlNet (const ControlNet &other) | |
ControlNet (const QString &filename, Progress *progress=0, SurfacePoint::CoordinateType=SurfacePoint::Latitudinal) | |
Creates a ControlNet object from the given file. More... | |
~ControlNet () | |
Destructor removes allocated memory. More... | |
void | clear () |
Clear the contents of this object. More... | |
QList< ControlPoint * > | take () |
Transfer ownership of all points to caller. More... | |
void | ReadControl (const QString &filename, Progress *progress=0) |
Reads in the control points from the given file. More... | |
void | Write (const QString &filename, bool pvl=false) |
Writes out the control network. More... | |
void | AddPoint (ControlPoint *point) |
Adds a ControlPoint to the ControlNet. More... | |
int | DeletePoint (ControlPoint *point) |
Delete a ControlPoint from the network by the point's address. More... | |
int | DeletePoint (QString pointId) |
Delete a ControlPoint from the network using the point's Id. More... | |
int | DeletePoint (int index) |
Delete a ControlPoint from the network using the point's index. More... | |
bool | ContainsPoint (QString pointId) const |
QList< QString > | GetCubeSerials () const |
Use this method to get a complete list of all the cube serial numbers in the network. More... | |
QString | GraphToString () const |
Used for verifying graph intergrity. More... | |
QList< QList< QString > > | GetSerialConnections () const |
This method searches through all the cube serial numbers in the network. More... | |
int | getEdgeCount () const |
QList< QString > | getAdjacentImages (QString serialNumber) const |
Get all images connected to a given image by common control points. More... | |
QList< ControlMeasure * > | GetMeasuresInCube (QString serialNumber) |
Get all the measures pertaining to a given cube serial number. More... | |
QList< ControlMeasure * > | GetValidMeasuresInCube (QString serialNumber) |
Get all the valid measures pertaining to a given cube serial number. More... | |
QList< ControlMeasure * > | sortedMeasureList (double(ControlMeasure::*statFunc)() const, double min, double max) |
Get a sorted list of all the measures that have values in a given ragen. More... | |
void | ComputeResiduals () |
Compute error for each point in the network. More... | |
void | ComputeApriori () |
Compute aprior values for each point in the network. More... | |
const ControlPoint * | GetPoint (QString pointId) const |
ControlPoint * | GetPoint (QString pointId) |
const ControlPoint * | GetPoint (int index) const |
ControlPoint * | GetPoint (int index) |
double | AverageResidual () |
Compute the average error of all points in the network. More... | |
Isis::Camera * | Camera (int index) |
Returns the camera list from the given image number. More... | |
QString | CreatedDate () const |
Return the Created Date. More... | |
QString | Description () const |
Return the description of the network. More... | |
ControlPoint * | FindClosest (QString serialNumber, double sample, double line) |
Finds and returns a pointer to the closest ControlPoint to the ControlMeasure with the given serial number and line sample location. More... | |
double | GetMaximumResidual () |
Determine the maximum error of all points in the network. More... | |
QString | GetNetworkId () const |
int | GetNumEditLockMeasures () |
Return the total number of edit locked measures for all control points in the network. More... | |
int | GetNumEditLockPoints () |
Returns the number of edit locked control points. More... | |
int | GetNumIgnoredMeasures () |
Return the total number of ignored measures for all control points in the network. More... | |
int | GetNumberOfValidMeasuresInImage (const QString &serialNumber) |
Return the number of measures in image specified by serialNumber. More... | |
int | GetNumberOfJigsawRejectedMeasuresInImage (const QString &serialNumber) |
Return the number of jigsaw rejected measures in image specified by serialNumber. More... | |
void | ClearJigsawRejected () |
Sets jigsaw rejected flag to false for all points and measures. More... | |
void | IncrementNumberOfRejectedMeasuresInImage (const QString &serialNumber) |
Increment number of jigsaw rejected measures in image specified by serialNumber. More... | |
void | DecrementNumberOfRejectedMeasuresInImage (const QString &serialNumber) |
Decrement number of jigsaw rejected measures in image specified by serialNumber. More... | |
int | GetNumMeasures () const |
Returns the total number of measures for all control points in the network. More... | |
int | GetNumPoints () const |
Return the number of control points in the network. More... | |
int | GetNumValidMeasures () |
Return the number of valid (non-ignored) measures for all control points in the network. More... | |
int | GetNumValidPoints () |
Returns the number of non-ignored control points. More... | |
QString | GetTarget () const |
Return the target name. More... | |
QString | GetUserName () const |
Return the user name. More... | |
QString | GetLastModified () const |
Return the last modified date. More... | |
QList< ControlPoint * > | GetPoints () |
Return QList of all the ControlPoints in the network. More... | |
QList< QString > | GetPointIds () const |
Return QList of ControlPoint Ids used in hash, in order of addition. More... | |
SurfacePoint::CoordinateType | GetCoordType () |
Get the control point coordinate type (see the available types in SurfacePoint.h). More... | |
void | SetCreatedDate (const QString &date) |
Set the creation time. More... | |
void | SetDescription (const QString &newDescription) |
Set the description of the network. More... | |
void | SetImages (const QString &imageListFile) |
Creates the ControlNet's image cameras based on an input file. More... | |
void | SetImages (SerialNumberList &list, Progress *progress=0) |
Creates the ControlNet's image camera's based on the list of Serial Numbers. More... | |
void | SetModifiedDate (const QString &date) |
Set the last modified date. More... | |
void | SetMutex (QMutex *mutex) |
Set mutex to lock for making Naif calls. More... | |
void | SetNetworkId (const QString &id) |
Set the network id. More... | |
void | SetTarget (const QString &target) |
Sets the target name and target radii, if available. More... | |
void | SetTarget (Pvl label) |
Sets the target name and radii using values found in the mapping group of the given label, if available. More... | |
void | SetTarget (const ControlNet &other) |
void | SetUserName (const QString &name) |
Set the user name of the control network. More... | |
void | SetCoordType (SurfacePoint::CoordinateType coordType) |
Sets the control point coordinate type. More... | |
void | swap (ControlNet &other) |
Swaps the member data with the given control net. More... | |
ControlNet & | operator= (const ControlNet &other) |
Assign other to this. More... | |
const ControlPoint * | operator[] (QString id) const |
ControlPoint * | operator[] (QString id) |
const ControlPoint * | operator[] (int id) const |
ControlPoint * | operator[] (int id) |
Private Types | |
typedef boost::adjacency_list< boost::setS, boost::listS, boost::undirectedS, Image, Connection > | Network |
Defines the graph type as an undirected graph that uses Images for verticies, and Connections for edges. It is defined as an adjacency list with the edge list represented by a set, the and vertex list represented by a list. More... | |
typedef Network::vertex_descriptor | ImageVertex |
typedef Network::edge_descriptor | ImageConnection |
Reprents the verticies of the graph. More... | |
typedef std::map< ImageVertex, size_t > | VertexIndexMap |
Represents the edges of the graph. More... | |
typedef boost::associative_property_map< VertexIndexMap > | VertexIndexMapAdaptor |
Converts VertexIndexMap into the appropriate form to be used by boost. More... | |
typedef boost::graph_traits< Network >::adjacency_iterator | AdjacencyIterator |
Iterates over adjacent verticies. More... | |
typedef boost::graph_traits< Network >::vertex_iterator | VertexIterator |
Private Member Functions | |
void | nullify () |
bool | ValidateSerialNumber (QString serialNumber) const |
Does a check to ensure that the given serial number is contained within the network. More... | |
void | measureAdded (ControlMeasure *measure) |
Updates the ControlNet graph for the measure's serial number to reflect the addition. More... | |
void | measureDeleted (ControlMeasure *measure) |
Updates the node for this measure's serial number to reflect the deletion. More... | |
void | measureIgnored (ControlMeasure *measure) |
Updates the edges in the ControlNet graph to reflect the ignored measure. More... | |
void | measureUnIgnored (ControlMeasure *measure) |
Updates the connections for the ControlNet graph associated with the measure's serial number to reflect the unignoration. More... | |
void | pointIgnored (ControlPoint *point) |
Update the ControlNet's internal structure when a ControlPoint is ignored. More... | |
void | pointUnIgnored (ControlPoint *point) |
Update the ControlNet's internal structure when a ControlPoint is un-ignored. More... | |
void | UpdatePointReference (ControlPoint *point, QString oldId) |
Updates the key reference (poind Id) from the old one to what the point id was changet to. More... | |
void | emitNetworkStructureModified () |
This method is a wrapper to emit the networkStructureModified() signal. More... | |
void | emitMeasureModified (ControlMeasure *measure, ControlMeasure::ModType type, QVariant oldValue, QVariant newValue) |
This method is a wrapper to emit the measureModified() signal and is called whenever a change is made to a Control Measure. More... | |
void | emitPointModified (ControlPoint *point, ControlPoint::ModType type, QVariant oldValue, QVariant newValue) |
This method is a wrapper to emit the pointModified() signal and is called whenever a change is made to a Control Point. More... | |
void | pointAdded (ControlPoint *point) |
Adds a whole point to the control net graph. More... | |
bool | addEdge (QString sourceSerial, QString targetSerial) |
In the ControlNet graph: adds an edge between the verticies associated with the two serial numbers provided. More... | |
bool | removeEdge (QString sourceSerial, QString targetSerial) |
In the ControlNet graph, decrements the strength on the edge between the two serial numbers. More... | |
Private Attributes | |
QHash< QString, ControlPoint * > * | points |
hash ControlPoints by ControlPoint Id More... | |
QHash< QString, ImageVertex > | m_vertexMap |
Network | m_controlGraph |
The serial number -> vertex hash used by the graph. More... | |
QStringList * | pointIds |
The ControlNet graph. More... | |
QMutex * | m_mutex |
QString | p_targetName |
Name of the target. More... | |
QString | p_networkId |
The Network Id. More... | |
QString | p_created |
Creation Date. More... | |
QString | p_modified |
Date Last Modified. More... | |
QString | p_description |
Textual Description of network. More... | |
QString | p_userName |
The user who created the network. More... | |
QMap< QString, Isis::Camera * > | p_cameraMap |
A map from serialnumber to camera. More... | |
QMap< QString, int > | p_cameraValidMeasuresMap |
A map from serialnumber to #measures. More... | |
QMap< QString, int > | p_cameraRejectedMeasuresMap |
A map from serialnumber to #rejected measures. More... | |
QVector< Isis::Camera * > | p_cameraList |
Vector of image number to camera. More... | |
bool | m_ownPoints |
Specifies ownership of point list. True if owned by this object. More... | |
SurfacePoint::CoordinateType | m_coordType |
The coordinate type of the control points. More... | |
Friends | |
class | ControlMeasure |
class | ControlPoint |
a control network
This class is used to store a network of ControlPoints
Definition at line 257 of file ControlNet.h.
|
private |
Iterates over adjacent verticies.
Definition at line 457 of file ControlNet.h.
|
private |
Reprents the verticies of the graph.
Definition at line 448 of file ControlNet.h.
|
private |
Defines the graph type as an undirected graph that uses Images for verticies, and Connections for edges. It is defined as an adjacency list with the edge list represented by a set, the and vertex list represented by a list.
Definition at line 445 of file ControlNet.h.
|
private |
Represents the edges of the graph.
A map between an ImageVertex and its index
Definition at line 451 of file ControlNet.h.
|
private |
Converts VertexIndexMap into the appropriate form to be used by boost.
Definition at line 454 of file ControlNet.h.
Control Point Modification Types.
This enum is designed to represent the different types of modifications that can be made to a ControlNet.
Swapped means the network was swapped with another network (ControlNet::Swap(ControlNet &other)). GraphModified means that a vertice or edge was added/removed from the graph..
Definition at line 274 of file ControlNet.h.
Isis::ControlNet::ControlNet | ( | SurfacePoint::CoordinateType | coordType = SurfacePoint::Latitudinal | ) |
Creates an empty ControlNet object.
Creates an empty ControlNet object
Definition at line 60 of file ControlNet.cpp.
Isis::ControlNet::ControlNet | ( | const QString & | ptfile, |
Progress * | progress = 0 , |
||
SurfacePoint::CoordinateType | coordType = SurfacePoint::Latitudinal |
||
) |
Creates a ControlNet object from the given file.
ptfile | Name of network file |
progress | A pointer to the progress of reading in the control points |
Definition at line 107 of file ControlNet.cpp.
Isis::ControlNet::~ControlNet | ( | ) |
Destructor removes allocated memory.
Definition at line 133 of file ControlNet.cpp.
|
private |
In the ControlNet graph: adds an edge between the verticies associated with the two serial numbers provided.
Or, if the edge already exists, increments the strength of the edge.
sourceSerial | The first serial to be connected by the edge |
targetSerial | The second serial number to be connected by the edge |
Definition at line 442 of file ControlNet.cpp.
void Isis::ControlNet::AddPoint | ( | ControlPoint * | point | ) |
Adds a ControlPoint to the ControlNet.
point | Control point to be added |
IException::Programmer | "Null pointer passed to ControlNet::AddPoint!" |
IException::Programmer | "ControlPoint must have unique Id" |
Definition at line 352 of file ControlNet.cpp.
References Isis::ControlPoint::GetId(), and Isis::ControlPoint::parentNetwork.
double Isis::ControlNet::AverageResidual | ( | ) |
Compute the average error of all points in the network.
Definition at line 1203 of file ControlNet.cpp.
References Isis::Statistics::Average(), and Isis::ControlPoint::GetStatistic().
Isis::Camera * Isis::ControlNet::Camera | ( | int | index | ) |
Returns the camera list from the given image number.
index | The image number |
Definition at line 1232 of file ControlNet.cpp.
Referenced by Isis::QnetSetAprioriDialog::fillReferenceAprioriLineEdits(), Isis::QnetCubeDistanceFilter::filter(), and Isis::QnetPointDistanceFilter::filter().
void Isis::ControlNet::clear | ( | ) |
Clear the contents of this object.
The contents of the ControlNet object are deleted. The internal variables that hold the contents are not. See the destructor.
Definition at line 180 of file ControlNet.cpp.
Referenced by swap().
void Isis::ControlNet::ClearJigsawRejected | ( | ) |
Sets jigsaw rejected flag to false for all points and measures.
Called by BundleAdjust::Init method
Definition at line 1423 of file ControlNet.cpp.
References Isis::ControlPoint::ClearJigsawRejected().
void Isis::ControlNet::ComputeApriori | ( | ) |
Compute aprior values for each point in the network.
Definition at line 1185 of file ControlNet.cpp.
References Isis::ControlPoint::ComputeApriori().
void Isis::ControlNet::ComputeResiduals | ( | ) |
Compute error for each point in the network.
Definition at line 1169 of file ControlNet.cpp.
bool Isis::ControlNet::ContainsPoint | ( | QString | pointId | ) | const |
pointId | the point Id to check for in the network. |
Definition at line 951 of file ControlNet.cpp.
Referenced by Isis::NewControlPointDialog::enableOkButton(), and Isis::MatchToolNewPointDialog::MatchToolNewPointDialog().
QString Isis::ControlNet::CreatedDate | ( | ) | const |
Return the Created Date.
Definition at line 1244 of file ControlNet.cpp.
Referenced by Isis::ControlNetVersioner::ControlNetVersioner().
void Isis::ControlNet::DecrementNumberOfRejectedMeasuresInImage | ( | const QString & | serialNumber | ) |
Decrement number of jigsaw rejected measures in image specified by serialNumber.
Definition at line 1443 of file ControlNet.cpp.
int Isis::ControlNet::DeletePoint | ( | ControlPoint * | point | ) |
Delete a ControlPoint from the network by the point's address.
point | The point to delete |
Definition at line 879 of file ControlNet.cpp.
References Isis::ControlPoint::GetId().
Referenced by Isis::CnetEditorWidget::filteredNetwork(), and Isis::ControlNetFilter::FilterOutPoint().
int Isis::ControlNet::DeletePoint | ( | int | index | ) |
Delete a ControlPoint from the network using the point's index.
index | The index of the Control Point to be deleted. |
Definition at line 936 of file ControlNet.cpp.
int Isis::ControlNet::DeletePoint | ( | QString | pointId | ) |
Delete a ControlPoint from the network using the point's Id.
pointId | The Point Id of the ControlPoint to be deleted. |
IException::User | "the point Id does not exist in the network" |
Definition at line 899 of file ControlNet.cpp.
References Isis::ControlPoint::Delete(), and Isis::ControlPoint::getMeasures().
QString Isis::ControlNet::Description | ( | ) | const |
Return the description of the network.
Definition at line 1254 of file ControlNet.cpp.
Referenced by Isis::ControlNetVersioner::ControlNetVersioner().
|
private |
This method is a wrapper to emit the measureModified() signal and is called whenever a change is made to a Control Measure.
measure | The ControlMeasure* that was modified. |
type | The ControlMeasure::ModType indicating which modification occured. |
oldValue | The oldValue before the change. |
newValue | The new value that the change incorporated. |
Definition at line 153 of file ControlNet.cpp.
Referenced by Isis::ControlPoint::emitMeasureModified().
|
private |
This method is a wrapper to emit the networkStructureModified() signal.
Definition at line 869 of file ControlNet.cpp.
Referenced by Isis::ControlPoint::AddMeasure(), and Isis::ControlPoint::Delete().
|
private |
This method is a wrapper to emit the pointModified() signal and is called whenever a change is made to a Control Point.
point | The ControlPoint* that was modified. |
type | The ControlPoint::ModType indicating which modification occured. |
oldValue | The oldValue before the change. |
newValue | The new value that the change incorporated. |
Definition at line 167 of file ControlNet.cpp.
Referenced by Isis::ControlPoint::SetEditLock(), Isis::ControlPoint::SetIgnored(), and Isis::ControlPoint::SetType().
ControlPoint * Isis::ControlNet::FindClosest | ( | QString | serialNumber, |
double | sample, | ||
double | line | ||
) |
Finds and returns a pointer to the closest ControlPoint to the ControlMeasure with the given serial number and line sample location.
serialNumber | The serial number of the the file the ControlMeasure is on |
sample | The sample number of the ControlMeasure |
line | The line number of the ControlMeasure |
Definition at line 1271 of file ControlNet.cpp.
QList< QString > Isis::ControlNet::getAdjacentImages | ( | QString | serialNumber | ) | const |
Get all images connected to a given image by common control points.
serialNumber | the serial number of the image to find images adjacent to. |
Definition at line 1041 of file ControlNet.cpp.
SurfacePoint::CoordinateType Isis::ControlNet::GetCoordType | ( | ) |
Get the control point coordinate type (see the available types in SurfacePoint.h).
Definition at line 1862 of file ControlNet.cpp.
Referenced by Isis::ControlPoint::SetAprioriSurfacePoint().
QList< QString > Isis::ControlNet::GetCubeSerials | ( | ) | const |
Use this method to get a complete list of all the cube serial numbers in the network.
Note that the order in which the serials are ordered in the returned list is arbitrary and could change each time this method is called (but the operation is done in constant time).
Definition at line 1016 of file ControlNet.cpp.
Referenced by Isis::ControlNetStatistics::GenerateImageStats(), Isis::CnetDisplayProperties::getCubeList(), Isis::ControlNetVitals::getCubeSerials(), Isis::ControlNetVitals::getImagesBelowMeasureThreshold(), Isis::ControlNetVitals::initializeVitals(), Isis::ControlNetVitals::numImages(), and Isis::ChipViewport::paintEvent().
int Isis::ControlNet::getEdgeCount | ( | ) | const |
Definition at line 1003 of file ControlNet.cpp.
QString Isis::ControlNet::GetLastModified | ( | ) | const |
Return the last modified date.
Definition at line 1518 of file ControlNet.cpp.
Referenced by Isis::ControlNetVersioner::ControlNetVersioner().
double Isis::ControlNet::GetMaximumResidual | ( | ) |
Determine the maximum error of all points in the network.
Definition at line 1323 of file ControlNet.cpp.
References Isis::ControlPoint::GetStatistic(), and Isis::Statistics::Maximum().
QList< ControlMeasure * > Isis::ControlNet::GetMeasuresInCube | ( | QString | serialNumber | ) |
Get all the measures pertaining to a given cube serial number.
Definition at line 1065 of file ControlNet.cpp.
Referenced by Isis::ControlNetFilter::FilterOutMeasuresBySerialNum(), Isis::ControlNetStatistics::GenerateImageStats(), and Isis::ChipViewport::paintEvent().
int Isis::ControlNet::GetNumberOfJigsawRejectedMeasuresInImage | ( | const QString & | serialNumber | ) |
Return the number of jigsaw rejected measures in image specified by serialNumber.
Definition at line 1413 of file ControlNet.cpp.
int Isis::ControlNet::GetNumberOfValidMeasuresInImage | ( | const QString & | serialNumber | ) |
Return the number of measures in image specified by serialNumber.
Definition at line 1399 of file ControlNet.cpp.
Referenced by Isis::ControlNetVitals::addMeasureToCounts(), Isis::ControlNetVitals::initializeVitals(), and Isis::ControlNetVitals::removeMeasureFromCounts().
int Isis::ControlNet::GetNumEditLockMeasures | ( | ) |
Return the total number of edit locked measures for all control points in the network.
Definition at line 1349 of file ControlNet.cpp.
References Isis::ControlPoint::GetNumLockedMeasures().
Referenced by Isis::ControlNetStatistics::GenerateControlNetStats().
int Isis::ControlNet::GetNumEditLockPoints | ( | ) |
Returns the number of edit locked control points.
Definition at line 1364 of file ControlNet.cpp.
Referenced by Isis::ControlNetStatistics::GenerateControlNetStats().
int Isis::ControlNet::GetNumIgnoredMeasures | ( | ) |
Return the total number of ignored measures for all control points in the network.
Definition at line 1381 of file ControlNet.cpp.
References Isis::ControlPoint::GetNumValidMeasures().
int Isis::ControlNet::GetNumMeasures | ( | ) | const |
Returns the total number of measures for all control points in the network.
Definition at line 1454 of file ControlNet.cpp.
Referenced by Isis::ControlNetVitals::addPoint(), and Isis::ControlNetVitals::initializeVitals().
int Isis::ControlNet::GetNumPoints | ( | ) | const |
Return the number of control points in the network.
Definition at line 1465 of file ControlNet.cpp.
Referenced by Isis::Histogram::addMeasureDataFromNet(), Isis::ControlNetGraphicsItem::buildChildren(), Isis::ControlNetFilter::CubeDistanceFilter(), Isis::QnetNavTool::deletePoints(), Isis::QnetCubeDistanceFilter::filter(), Isis::QnetCubePointsFilter::filter(), Isis::QnetPointDistanceFilter::filter(), Isis::CnetEditorWidget::filteredNetwork(), Isis::InterestOperator::FindCnetRef(), Isis::ControlNetStatistics::GenerateControlNetStats(), Isis::ControlNetStatistics::GeneratePointStats(), Isis::ControlNetStatistics::GetPointDoubleStats(), Isis::ControlNetStatistics::GetPointIntStats(), Isis::ChipViewport::paintEvent(), Isis::ControlNetFilter::PointCubeNamesFilter(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNetFilter::PointEditLockFilter(), Isis::ControlNetFilter::PointGoodnessOfFitFilter(), Isis::ControlNetFilter::PointIDFilter(), Isis::ControlNetFilter::PointLatLonFilter(), Isis::ControlNetFilter::PointMeasurePropertiesFilter(), Isis::ControlNetFilter::PointMeasuresFilter(), Isis::ControlNetFilter::PointNumMeasuresEditLockFilter(), Isis::ControlNetFilter::PointPixelShiftFilter(), Isis::ControlNetFilter::PointPropertiesFilter(), Isis::ControlNetFilter::PointResMagnitudeFilter(), Isis::Histogram::rangesFromNet(), and Isis::QnetNavTool::resetList().
int Isis::ControlNet::GetNumValidMeasures | ( | ) |
Return the number of valid (non-ignored) measures for all control points in the network.
Definition at line 1479 of file ControlNet.cpp.
References Isis::ControlPoint::GetNumValidMeasures().
int Isis::ControlNet::GetNumValidPoints | ( | ) |
Returns the number of non-ignored control points.
Definition at line 1495 of file ControlNet.cpp.
QList< QString > Isis::ControlNet::GetPointIds | ( | ) | const |
Return QList of ControlPoint Ids used in hash, in order of addition.
Definition at line 1536 of file ControlNet.cpp.
QList< ControlPoint * > Isis::ControlNet::GetPoints | ( | ) |
Return QList of all the ControlPoints in the network.
Definition at line 1524 of file ControlNet.cpp.
Referenced by Isis::ControlNetVersioner::ControlNetVersioner(), Isis::ControlNetVitals::getAllPoints(), Isis::ControlNetVitals::getConstrainedPoints(), Isis::ControlNetVitals::getFixedPoints(), Isis::ControlNetVitals::getFreePoints(), Isis::ControlNetVitals::getIgnoredPoints(), Isis::ControlNetVitals::getLockedPoints(), Isis::ControlNetVitals::getPointsBelowMeasureThreshold(), and Isis::ControlNetVitals::initializeVitals().
This method searches through all the cube serial numbers in the network.
Serials which are connected to other serials through points are grouped together in the same lists. The list containing the lists of strings is nothing more than a list of islands such that each island is a list of serials which are connected to each other. If the control network is completely connected, then this list will only have one element (a list of all the serials in the network).
Definition at line 967 of file ControlNet.cpp.
Referenced by Isis::MosaicControlNetTool::displayConnectivity(), Isis::ControlNetVitals::initializeVitals(), and Isis::ControlNetVitals::validateNetwork().
QString Isis::ControlNet::GetTarget | ( | ) | const |
Return the target name.
Definition at line 1507 of file ControlNet.cpp.
Referenced by Isis::ControlNetVersioner::ControlNetVersioner().
QString Isis::ControlNet::GetUserName | ( | ) | const |
Return the user name.
Definition at line 1513 of file ControlNet.cpp.
Referenced by Isis::ControlNetVersioner::ControlNetVersioner().
QList< ControlMeasure * > Isis::ControlNet::GetValidMeasuresInCube | ( | QString | serialNumber | ) |
Get all the valid measures pertaining to a given cube serial number.
Definition at line 1081 of file ControlNet.cpp.
Referenced by Isis::ControlNetVitals::getImagesBelowMeasureThreshold().
QString Isis::ControlNet::GraphToString | ( | ) | const |
Used for verifying graph intergrity.
Definition at line 497 of file ControlNet.cpp.
References Isis::ControlPoint::GetId(), and Isis::toString().
void Isis::ControlNet::IncrementNumberOfRejectedMeasuresInImage | ( | const QString & | serialNumber | ) |
Increment number of jigsaw rejected measures in image specified by serialNumber.
Definition at line 1434 of file ControlNet.cpp.
|
private |
Updates the ControlNet graph for the measure's serial number to reflect the addition.
If there is currently no node for this measure's serial, then a new node is created with this measure as its first.
measure | The measure added to the network. |
IException::Programmer | "NULL measure passed to ControlNet::measureAdded!" |
IException::Programmer | "Control measure with NULL parent passed to ControlNet::measureAdded!" |
IException::Programmer | "ControlNet does not contain the point." |
Definition at line 580 of file ControlNet.cpp.
References Isis::ControlMeasure::GetCubeSerialNumber(), Isis::ControlPoint::GetId(), and Isis::ControlPoint::GetMeasure().
Referenced by Isis::ControlPoint::AddMeasure().
|
private |
Updates the node for this measure's serial number to reflect the deletion.
measure | The measure removed from the network. |
Definition at line 754 of file ControlNet.cpp.
References Isis::ControlMeasure::GetCubeSerialNumber().
Referenced by Isis::ControlPoint::Delete().
|
private |
Updates the edges in the ControlNet graph to reflect the ignored measure.
If this was the last measure connecting one node to another, then the edge is deleted as well.
measure | The measure set to ignored from the network. |
Definition at line 821 of file ControlNet.cpp.
References Isis::ControlMeasure::GetCubeSerialNumber(), and Isis::ControlPoint::GetMeasure().
|
private |
Updates the connections for the ControlNet graph associated with the measure's serial number to reflect the unignoration.
measure | The measure unignored from the network. |
IException::Programmer | "NULL measure passed to ControlNet::measureUnIgnored!" |
IException::Programmer | "Control measure with NULL parent passed to ControlNet::measureUnIgnored!" |
IException::Programmer | "ControlNet does not contain the point." |
IException::Programmer | "Node does not exist for the cube serial number." |
Definition at line 683 of file ControlNet.cpp.
References Isis::ControlMeasure::GetCubeSerialNumber(), Isis::ControlPoint::GetId(), and Isis::ControlPoint::GetMeasure().
ControlNet & Isis::ControlNet::operator= | ( | const ControlNet & | other | ) |
Assign other to this.
This is an exception-safe assignment operator.
other | The control net to assign to this. |
Definition at line 1803 of file ControlNet.cpp.
|
private |
Adds a whole point to the control net graph.
IException::Programmer | "NULL measure passed to ControlNet::pointAdded!" |
IException::Programmer | "Control measure with NULL parent passed to ControlNet::pointAdded" |
IException::Programmer | "ControlNet does not contain the point." |
Definition at line 384 of file ControlNet.cpp.
References Isis::ControlMeasure::GetCubeSerialNumber(), Isis::ControlPoint::GetId(), Isis::ControlPoint::GetMeasure(), and Isis::ControlPoint::getMeasures().
|
private |
Update the ControlNet's internal structure when a ControlPoint is ignored.
point | A pointer to the ignored point. |
Definition at line 779 of file ControlNet.cpp.
References Isis::ControlMeasure::GetCubeSerialNumber(), and Isis::ControlPoint::getMeasures().
Referenced by Isis::ControlPoint::SetIgnored().
|
private |
Update the ControlNet's internal structure when a ControlPoint is un-ignored.
point | A pointer to the un-ignored point. |
Definition at line 637 of file ControlNet.cpp.
References Isis::ControlMeasure::GetCubeSerialNumber(), and Isis::ControlPoint::getMeasures().
Referenced by Isis::ControlPoint::SetIgnored().
void Isis::ControlNet::ReadControl | ( | const QString & | filename, |
Progress * | progress = 0 |
||
) |
Reads in the control points from the given file.
ptfile | Name of file containing a Pvl list of control points |
progress | A pointer to the progress of reading in the control points |
Isis::iException::User | - "Invalid Network Type" |
Isis::iException::User | - "Invalid Control Point" |
Isis::iException::User | - "Invalid Format" |
Definition at line 271 of file ControlNet.cpp.
References Isis::Progress::CheckStatus(), Isis::ControlNetVersioner::creationDate(), Isis::ControlNetVersioner::description(), Isis::ControlNetVersioner::lastModificationDate(), Isis::ControlNetVersioner::netId(), Isis::ControlNetVersioner::numPoints(), Isis::Progress::SetMaximumSteps(), Isis::Progress::SetText(), Isis::ControlNetVersioner::takeFirstPoint(), Isis::ControlNetVersioner::targetName(), and Isis::ControlNetVersioner::userName().
Referenced by Isis::ImportControlNetWorkOrder::CreateControlsFunctor::operator()().
|
private |
In the ControlNet graph, decrements the strength on the edge between the two serial numbers.
This is called when the ControlMeasures that connect these images are deleted or ignored. If it is the last measure connecting two verticies (serial numbers) the edge is removed.
sourceSerial | The first serial number defining the end of the edge to have its strength decremented or be removed. |
targetSerial | The second serial number defining the other end of the edge to have its strength decremented or be removed. |
Definition at line 471 of file ControlNet.cpp.
void Isis::ControlNet::SetCoordType | ( | SurfacePoint::CoordinateType | coordType | ) |
Sets the control point coordinate type.
coordType | Control point coordinate type |
Definition at line 861 of file ControlNet.cpp.
void Isis::ControlNet::SetCreatedDate | ( | const QString & | date | ) |
Set the creation time.
date | The date this Control Network was created |
Definition at line 1546 of file ControlNet.cpp.
void Isis::ControlNet::SetDescription | ( | const QString & | newDescription | ) |
Set the description of the network.
desc | The description of this Control Network |
Definition at line 1556 of file ControlNet.cpp.
void Isis::ControlNet::SetImages | ( | const QString & | imageListFile | ) |
Creates the ControlNet's image cameras based on an input file.
imageListFile | The list of images |
Definition at line 1566 of file ControlNet.cpp.
Referenced by Isis::QnetFileTool::open(), and Isis::Project::setActiveImageList().
void Isis::ControlNet::SetImages | ( | SerialNumberList & | list, |
Progress * | progress = 0 |
||
) |
Creates the ControlNet's image camera's based on the list of Serial Numbers.
list | The list of Serial Numbers |
progress | A pointer to the progress of creating the cameras |
Isis::iException::System | - "Unable to create camera for cube file" |
Isis::iException::User | - "Control point measure does not have a cube with a matching serial number" |
Definition at line 1587 of file ControlNet.cpp.
References Isis::Progress::CheckStatus(), Isis::SerialNumberList::fileName(), Isis::ControlMeasure::GetCubeSerialNumber(), Isis::ControlPoint::getCubeSerialNumbers(), Isis::ControlPoint::GetId(), Isis::SerialNumberList::hasSerialNumber(), Isis::SerialNumberList::serialNumber(), Isis::ControlMeasure::SetCamera(), Isis::Progress::SetMaximumSteps(), Isis::Progress::SetText(), and Isis::SerialNumberList::size().
void Isis::ControlNet::SetModifiedDate | ( | const QString & | date | ) |
Set the last modified date.
date | The last date this Control Network was modified |
Definition at line 1654 of file ControlNet.cpp.
void Isis::ControlNet::SetMutex | ( | QMutex * | mutex | ) |
Set mutex to lock for making Naif calls.
mutex |
Definition at line 1666 of file ControlNet.cpp.
Referenced by Isis::Control::openControlNet(), and Isis::ImportControlNetWorkOrder::CreateControlsFunctor::operator()().
void Isis::ControlNet::SetNetworkId | ( | const QString & | id | ) |
Set the network id.
id | The Id of this Control Network |
Definition at line 1676 of file ControlNet.cpp.
void Isis::ControlNet::SetTarget | ( | const QString & | target | ) |
Sets the target name and target radii, if available.
Note: The target radii are found using NAIF target codes. If the given target name is not recognized, the target radii vector will be filled with Isis::Null values.
target | The name of the target of this Control Network |
Definition at line 1692 of file ControlNet.cpp.
Referenced by Isis::QnetFileTool::open().
void Isis::ControlNet::SetTarget | ( | Pvl | label | ) |
Sets the target name and radii using values found in the mapping group of the given label, if available.
If this fails, calls SetTarget(QString).
label | A PVL Containing Target information (usually in a Mapping group or NaifKeywords object). |
Definition at line 1704 of file ControlNet.cpp.
References Isis::PvlObject::findGroup(), Isis::PvlObject::findObject(), Isis::PvlObject::hasGroup(), Isis::PvlContainer::hasKeyword(), and Isis::PvlObject::hasObject().
void Isis::ControlNet::SetUserName | ( | const QString & | name | ) |
Set the user name of the control network.
name | The name of the user creating or modifying this ControlNet |
Definition at line 1730 of file ControlNet.cpp.
Referenced by Isis::QnetFileTool::open().
QList< ControlMeasure * > Isis::ControlNet::sortedMeasureList | ( | double(ControlMeasure::*)() const | statFunc, |
double | min, | ||
double | max | ||
) |
Get a sorted list of all the measures that have values in a given ragen.
statFunc | A pointer to a control Measure acessor |
min | the minimum value of acessor return for list inclusion |
max | the maximum value of acessor return for list inclusion |
Definition at line 1133 of file ControlNet.cpp.
References Isis::ControlPoint::GetMeasure().
void Isis::ControlNet::swap | ( | ControlNet & | other | ) |
Swaps the member data with the given control net.
This is an optimized form of: ControlNet a = ... ControlNet b = ...
Swap 'a' and 'b' ControlNet tmp = a; a = b; b = tmp;
This is used primarily for the assignment operator in order to do copy-and-swap.
other | The control net to swap with. |
Definition at line 1749 of file ControlNet.cpp.
References clear(), m_controlGraph, p_cameraList, p_cameraMap, p_cameraRejectedMeasuresMap, p_cameraValidMeasuresMap, p_created, p_description, p_modified, p_networkId, p_targetName, p_userName, pointIds, and points.
QList< ControlPoint * > Isis::ControlNet::take | ( | ) |
Transfer ownership of all points to caller.
This method is used to transfer ownership to the caller. This method is not reintrant in the sense that if someone else has already made this call, it is an error to attempt to take ownership again.
Note that it now becomes the responsibility of the caller to delete all the pointers to ControlPoints that are returned in the list.
WARNING!!! This call alone can create a situation where the owner could delete point memory after the point list is exported from this class creating a problem. For this reason, the clear() method be called!!!
Definition at line 226 of file ControlNet.cpp.
|
private |
Updates the key reference (poind Id) from the old one to what the point id was changet to.
This method should only be called from ControlPoint's SetId().
point | The point that needs to be updated. |
oldId | The pointId that the point had. |
Definition at line 741 of file ControlNet.cpp.
References Isis::ControlPoint::GetId().
Referenced by Isis::ControlPoint::SetId().
|
private |
Does a check to ensure that the given serial number is contained within the network.
serialNumber | the cube serial number to validate |
Definition at line 1029 of file ControlNet.cpp.
void Isis::ControlNet::Write | ( | const QString & | ptfile, |
bool | pvl = false |
||
) |
Writes out the control network.
ptfile | Name of file containing a Pvl list of control points |
pvl | Boolean indicating whether to write in pvl format (Default=false) |
Definition at line 311 of file ControlNet.cpp.
References Isis::ControlNetVersioner::toPvl(), Isis::Pvl::write(), and Isis::ControlNetVersioner::write().
Referenced by Isis::Control::copyToNewProjectRoot(), Isis::ImportControlNetWorkOrder::CreateControlsFunctor::operator()(), Isis::QnetFileTool::save(), Isis::QnetFileTool::saveAs(), and Isis::Control::write().
|
private |
The serial number -> vertex hash used by the graph.
Definition at line 461 of file ControlNet.h.
Referenced by swap().
|
private |
The coordinate type of the control points.
Definition at line 478 of file ControlNet.h.
|
private |
Specifies ownership of point list. True if owned by this object.
Definition at line 477 of file ControlNet.h.
|
private |
Vector of image number to camera.
Definition at line 475 of file ControlNet.h.
Referenced by swap().
|
private |
A map from serialnumber to camera.
Definition at line 471 of file ControlNet.h.
Referenced by swap().
|
private |
A map from serialnumber to #rejected measures.
Definition at line 473 of file ControlNet.h.
Referenced by swap().
|
private |
A map from serialnumber to #measures.
Definition at line 472 of file ControlNet.h.
Referenced by swap().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
The user who created the network.
Definition at line 470 of file ControlNet.h.
Referenced by swap().
|
private |
|
private |
hash ControlPoints by ControlPoint Id
Definition at line 423 of file ControlNet.h.
Referenced by swap().
U.S. Department of the Interior | U.S. Geological Survey ISIS | Privacy & Disclaimers | Astrogeology Research Program To contact us, please post comments and questions on the USGS Astrogeology Discussion Board To report a bug, or suggest a feature go to: ISIS Github File Modified: 07/13/2023 15:18:31 |