USGS

Isis 3.0 Object Programmers' Reference

Home

Todo List
Group Geometry

Develop two different pages for API vs. Programmer documentation. 2004-11-03

Make "std" namespace invisible... probably not gonna happen

Class Isis::Affine

Allow the programmer to apply scale and shear.

Write multiplaction method (operator*) for Affine * Affine.

Class Isis::AlphaCube
2005-04-06 Add coded example.
Member Isis::AlphaCube::ComputeSlope ()
Why the +0.5 and -0.5?
Member Isis::Application::GetEnviromentInfo ()

Replace printenv commands with c library getenv

Class Isis::Basis1VariableFunction
Add coded example
Class Isis::BasisFunction
Add coded example
Class Isis::Blob
Write class description, history, etc.
Class Isis::Brick
2005-02-28 Jeff Anderson - add coded and implementation examples to class documentation
Class Isis::Camera
Finish documentation.
Member Isis::Camera::ComputeAzimuth (Distance radius, const double lat, const double lon)
Write PushState and PopState method to ensure the internals of the class are set based on SetImage or SetGround
Member Isis::Camera::SpacecraftAzimuth ()
Get appropriate radius at the subscraft point
Member Isis::Camera::SunAzimuth ()
Get appropriate radius at the subsolar point
Member Isis::CameraDistortionMap::SetDistortion (int naifIkCode)

Generalize to read variable number of coefficients

Add latex equation to the documentation

Member Isis::CameraDistortionMap::SetFocalPlane (double dx, double dy)
Generalize polynomial equation
Member Isis::CameraDistortionMap::SetUndistortedFocalPlane (double ux, double uy)

Generalize polynomial equation

Figure out a better solution for divergence condition

Member Isis::CameraSkyMap::SetSky (const double ra, const double dec)

what happens if we are looking behind the focal plane?????

what happens if we are looking parallel to the focal plane??

can lookC[2] == zero imply parallel

can this all be solved by restricting the physical size of the focal plane?

Member Isis::Chip::Read (Cube &cube, const int band)
We could modify the affine class to return the coefficients and then compute the derivative of the change in cube sample and line with respect to chip sample or line. The change might make the geom run a bit faster.
Class Isis::CnetViz::FilterWidget
Add type safety to filter types.
Member Isis::ControlPoint::constraintStatus
Eventually add x, y, and z
Member Isis::ControlPoint::LatitudeConstrained
We will eventually need to deal with rectangular coordinates as well, but for now BundleAdjust uses spherical coordinates only.
Member Isis::ControlPoint::SetAprioriSurfacePoint (SurfacePoint aprioriSP)
This method needs to be revisited. It will set the constraint status based on the sigmas and override the existing status.
Class Isis::ControlPointEdit
Re-think design of the change made on 2012-07-26. The linking was put into ::updateLeftPositionLabel because it was the fastest solution, but should this be put somewhere else.
Class Isis::CTXCamera

Allow the programmer to apply scale and shear.

Write multiplaction method (operator*) for Affine * Affine.

Class Isis::Cube
There are undocumented methods and private variables in the Cube class. Also, it needs an example.
Class Isis::CubeDataThread
Add state recording/reverting functionality
Class Isis::DBL_UNION
2005-02-15 Kris Becker - finish class documentation
Class Isis::EndianSwapper
This class needs an example.
Class Isis::ExportPdsTable
This class is currently only exporting BINARY format PDS tables. Implementation may be added later to export ASCII PDS tables.
Class Isis::FileName
This class needs an example.
Class Isis::FramingCamera
Implement more functionality in this class and abstract away from the children
Class Isis::Histogram
This class needs an example.
Class Isis::History
This class needs documentation.
Class Isis::ImportPdsTable
The binary table import methods were written after the ascii table import. The class should be better organized so that the programmer does not need to know which methods to call based on INTERCHANGE_FORMAT. The program should take care of this internally.
Class Isis::Interpolator
This class needs an example.
Member Isis::Interpolator::BiLinear (const double isamp, const double iline, const double buf[])
Add a
Member Isis::Interpolator::CubicConvolution (const double isamp, const double iline, const double buf[])
Add a
Member Isis::Interpolator::Interpolate (const double isamp, const double iline, const double buf[])
Add a
Member Isis::Interpolator::NearestNeighbor (const double isamp, const double iline, const double buf[])
Add a
Member Isis::JP2Importer::getPixel (int s, int l) const
This design was created before it was determined that JPEG 2000 does not have a traditional pixel representation used to get color components, so this is somewhat of a hack.
Class Isis::LineEquation
Add constructor with arguments (double slope, double intercept) Add method to double y = EvaluateLine( double x )
Class Isis::LineScanCamera
Implement more functionality in this class and abstract away from the children
Member Isis::LineScanCameraSkyMap::SetSky (const double ra, const double dec)

what happens if we are looking behind the focal plane?????

what happens if we are looking parallel to the focal plane??

can lookC[2] == zero imply parallel

can this all be solved by restricting the physical size of the focal plane?

Member Isis::LroNarrowAngleDistortionMap::SetFocalPlane (const double dx, const double dy)
Generalize polynomial equation
Member Isis::LroWideAngleCameraDistortionMap::SetFocalPlane (const double dx, const double dy)
Generalize polynomial equation
Member Isis::LroWideAngleCameraDistortionMap::SetUndistortedFocalPlane (const double ux, const double uy)

Generalize polynomial equation

Figure out a better solution for divergence condition

Member Isis::MarciDistortionMap::SetFocalPlane (const double dx, const double dy)
Generalize polynomial equation
Member Isis::MarciDistortionMap::SetUndistortedFocalPlane (const double ux, const double uy)

Generalize polynomial equation

Figure out a better solution for divergence condition

Class Isis::MultivariateStatistics

This class needs an example.

For the below methods we will need to compute log x, loy y, sumx3, sumx4,sumx2y: void ExponentialRegression (double &a, double &b) const; void PowerRegression (double &a, double &b) const; void parabolicRegression (double &a, double &b, double &c);

Member Isis::MultivariateStatistics::RemoveData (const double *x, const double *y, const unsigned int count)
The description for param y doesn't make sense here. -Leah
Class Isis::NaifDskShape
Remove Model from name to match other derived classes
Class Isis::ObservationNumber
This is only a temporary version. The code needs to be modified to use a PVL file to determine which keywords to use to create the Serial Number
Class Isis::PolynomialBivariate
2005-03-11 Jeff Anderson - add coded and implementation examples to class documentation
Class Isis::Preference
The Preference class needs private methods & variables documented. The documentation shows methods that don't exist in the code. It also needs an example.
Class Isis::ProcessByTile
2005-02-08 Jeff Anderson - add coded example, and implementation example to class documentation
Class Isis::ProcessExport

2005-02-09 Stuart Sides - write documentation for CreateWorldFile method

2005-02-09 Jeff Anderson - add coded example to class file and implementation examples

Class Isis::ProcessImportPds
2005-02-09 Finish documentation-lots of holes with variable definitions in .h file and .cpp methods, and insert implementation example
Class Isis::ProcessMapMosaic
2005-02-11 Stuart Sides - add coded example and implementation example to class documentation
Class Isis::ProcessRubberSheet
2005-02-11 Stuart Sides - finish documentation and add coded and implementation example to class documentation
Class Isis::Projection
Continue to modify Projection class to comply with coding standards. Some of these include, but may not be limited to remove "Get" from methods GetX and GetY, change methods to lower camel case, add methods for RelativeScaleFactorLatitude and RelativeScaleFactorLongitude (see LambertAzimuthalEqualArea.cpp).
Class Isis::PushFrameCamera
Implement more functionality in this class and abstract away from the children
Class Isis::PvlGroup
2005-04-04 Needs coded example.
Class Isis::PvlSequence
Add PvlSequence(PvlKeyword) constructor so that we can code PvlSequence s = k; where k is a PvlKeyword.
Class Isis::PvlToken
2005-02-14 Jeff Anderson - add coded and implemetation example to class documentation
Class Isis::PvlTokenizer
2005-02-14 Jeff Anderson - finish class documentation and add coded and implementation examples
Class Isis::PvlTranslationManager
2005-02-15 Stuart Sides - add coded example and implementation example to class documentation, and finish documentation
Class Isis::PvlTranslationTable
2005-02-15 Stuart Sides - add coded and implementation example to class documentation and finish documentation for protected methods and variable
Member Isis::QnetNavTool::aprioriDialog ()
This method should be temporary until the control point editor comes online. If this stick around, needs to be re-disigned- put in a separate class??
Class Isis::QnetPointMeasureFilter
Add ability to filter points without a Reference.
Member Isis::QnetSetAprioriDialog::setApriori ()
This method should be temporary until the control point editor comes online. If this stick around, needs to be re-disigned- put in a separate class??
Member Isis::QnetTool::createToolBarWidget (QStackedWidget *parent)
Find a way to enable Show Nav Button even when there are no images open in the main window.
Class Isis::QuickFilter

2005-02-15 Jeff Anderson - add coded example to class documentation

2005-05-23 Jeff Anderson - Unlikely but we may have issues with 2GB+ cubes. It's unlikely because the boxcar size would have to have more than 2^32-1 pixels.

Class Isis::RadarCamera
Implement more functionality in this class and abstract away from the children
Class Isis::RingPlaneProjection
Continue to modify Projection class to comply with coding standards. Some of these include, but may not be limited to remove "Get" from methods GetX and GetY, change methods to lower camel case, add methods for RelativeScaleFactorLatitude and RelativeScaleFactorLongitude (see LambertAzimuthalEqualArea.cpp).
Class Isis::SerialNumber
This is only a temporary version. The code needs to be modified to use a PVL file to determine which keywords to use to create the Serial Number
Class Isis::SpiceRotation
Downsize using Hermite cubic spline and allow Nadir tables to be downsized again.
Class Isis::Statistics
2005-02-07 Deborah Lee Soltesz - add example using cube data to the class documentation
Class Isis::SurfaceModel
Add plot and/or visualize method
Class Isis::TableField
Finish class documentation
Class Isis::TableRecord
Finish class documentation
Member Isis::TaylorCameraDistortionMap::SetFocalPlane (const double dx, const double dy)

Review the tolerance and maximum iterations of the root- finding algorithm.

Review the handling of non-convergence of the root-finding algorithm.

Add error handling for near-zero determinant.

Class Isis::TextFile
2005-02-16 Glenn Bennett - add coded and implementation examples, and finish documentation
Class Isis::ThemisVisCamera
2014-08-22 Jeannie Backer - THEMIS cameras do not appear to import a ReferenceBand keyword neither in the thm2isis source code nor in its translation tables. In this camera model, BandEphemerisTimeOffset() does a check for HasReferenceBand(), which will always be false since ReferenceBand doesn't exist. We should consider removing this unnecessary check from the camera model or import a ReferenceBand upon ingestion.
Class Isis::TiffImporter

Read chunks of the image into memory at a time, not the entire image.

Add all ISIS projection to the convertProjection member.

Member Isis::TiffImporter::convertProjection () const
Generalize this and make it work for all ISIS projections (preferably without changes when new projections are added to ISIS)
Class Isis::TileManager
2005-05-23 Jeff Anderson - There could be problems with 2GB files if the tile size is very small, 1x1, 2x1, 1x2. Should we worry about this?
Class Isis::TProjection
Continue to modify Projection class to comply with coding standards. Some of these include, but may not be limited to remove "Get" from methods GetX and GetY, change methods to lower camel case, add methods for RelativeScaleFactorLatitude and RelativeScaleFactorLongitude (see LambertAzimuthalEqualArea.cpp).
Class Isis::Transform
2005-02-22 Stuart Sides - finish documentation
Class Isis::UniversalGroundMap
Jeff Anderson - Finish Class Documentation
Class Isis::WorldMapper
2005-02-22 Jeff Anderson - add coded example to class documentation
Class IsisAml
This class needs an example.
Member IsisAml::IsisAml (const QString &xmlfile)
This namespace needs documentation.