casa
$Rev:20696$
|
Compute and display various statistics from a lattice. More...
#include <LatticeStatistics.h>
Public Types | |
typedef NumericTraits< T > ::PrecisionType | AccumType |
typedef std::pair< String, String > | stat_element |
typedef std::list< stat_element > | stat_list |
Public Member Functions | |
LatticeStatistics (const MaskedLattice< T > &lattice, LogIO &os, Bool showProgress=True, Bool forceDisk=False) | |
Constructor takes the lattice and a LogIO object for logging. | |
LatticeStatistics (const MaskedLattice< T > &lattice, Bool showProgress=True, Bool forceDisk=False) | |
Constructor takes the lattice only. | |
LatticeStatistics (const LatticeStatistics< T > &other) | |
Copy constructor. | |
virtual | ~LatticeStatistics () |
Destructor. | |
LatticeStatistics< T > & | operator= (const LatticeStatistics< T > &other) |
Assignment operator. | |
Bool | setAxes (const Vector< Int > &cursorAxes) |
Set the cursor axes (0 relative). | |
Bool | setInExCludeRange (const Vector< T > &include, const Vector< T > &exclude, Bool setMinMaxToInclude=False) |
You may specify a pixel intensity range as either one for which all pixels in that range are included or one for which all pixels in that range are excluded. | |
Bool | setList (const Bool &doList) |
This function allows you to control whether the statistics are written to the output stream if you are also making a plot. | |
Bool | setPlotting (PGPlotter &plotter, const Vector< Int > &statsToPlot, const Vector< Int > &nxy) |
This functions enable you to specify which statistics you would like to plot, sets the name of the PGPLOT plotting device and the number of subplots in x and y per page. | |
Bool | display () |
Display the statistics by listing and/or plotting them. | |
Bool | getLayerStats (String &stats, Double area, Int zAxis=-1, Int zLayer=-1, Int hAxis=-1, Int hLayer=-1) |
Bool | getLayerStats (stat_list &stats, Double area, Int zAxis=-1, Int zLayer=-1, Int hAxis=-1, Int hLayer=-1) |
void | closePlotting () |
CLose plotter. | |
Vector< Int > | displayAxes () const |
Return the display axes. | |
Bool | getStatistic (Array< AccumType > &stat, LatticeStatsBase::StatisticsTypes type, Bool dropDeg=True) |
Recover the desired Statistic into an array. | |
Bool | getConvertedStatistic (Array< T > &stat, LatticeStatsBase::StatisticsTypes type, Bool dropDeg=True) |
Bool | getMinMaxPos (IPosition &minPos, IPosition &maxPos) |
Recover position of min and max. | |
Bool | getStats (Vector< AccumType > &, const IPosition &pos, const Bool posInLattice=False) |
This function gets a vector containing all the statistics for a given location. | |
void | resetError () |
Reset argument error condition. | |
Bool | getFullMinMax (T &dataMin, T &dataMax) |
Get full lattice min and max only. | |
String | errorMessage () const |
Recover last error message. | |
Bool | setNewLattice (const MaskedLattice< T > &lattice) |
Set a new MaskedLattice object. | |
Bool | hasLogger () const |
Did we construct with a logger ? | |
Protected Member Functions | |
virtual Bool | _getBeamArea (Array< Double > &beamArea) const |
Virtual Functions. | |
virtual void | listMinMax (ostringstream &osMin, ostringstream &osMax, Int oWidth, DataType type) |
virtual Bool | listStats (Bool hasBeam, const IPosition &dPos, const Matrix< AccumType > &ord) |
List the statistics to the logger. | |
virtual Bool | listLayerStats (Double hasBeam, const Matrix< AccumType > &ord, ostringstream &rslt, Int zLayer) |
virtual void | getLabels (String &higherOrderLabel, String &xAxisLabel, const IPosition &dPos) const |
Gets labels for higher order axes and x axis. | |
IPosition | locInLattice (const IPosition &storagePosition, Bool relativeToParent=True) const |
Given a location in the storage lattice, convert those locations on the non-statistics axis (the last one) and optionally account for the lattice subsectioning. | |
void | setStream (ostream &os, Int oPrec) |
Non-virtual functions. | |
IPosition | _storageLatticeShape () const |
get the storage lattice shape | |
Protected Attributes | |
LogIO | os_p |
Vector< Int > | cursorAxes_p |
Vector< Int > | displayAxes_p |
Bool | goodParameterStatus_p |
Bool | haveLogger_p |
Bool | fixedMinMax_p |
Bool | doRobust_p |
doRobust means that when the storage lattice is generated, the robust statistics are generated as well | |
Bool | doList_p |
IPosition | minPos_p |
IPosition | maxPos_p |
IPosition | blcParent_p |
String | error_p |
Private Member Functions | |
virtual void | summStats () |
Summarize the statistics found over the entire lattice. | |
virtual void | displayStats (AccumType nPts, AccumType sum, AccumType median, AccumType medAbsDevMed, AccumType quartile, AccumType sumSq, AccumType mean, AccumType var, AccumType rms, AccumType sigma, AccumType dMin, AccumType dMax) |
Bool | calculateStatistic (Array< AccumType > &slice, LatticeStatsBase::StatisticsTypes type, Bool dropDeg) |
Calculate statistic from storage lattice and return in an array. | |
Bool | findNextDatum (uInt &iFound, const uInt &n, const Vector< AccumType > &mask, const uInt &iStart, const Bool &findGood) const |
Find the next good or bad point in an array. | |
Bool | findNextLabel (String &subLabel, Int &iLab, String &label) const |
Find the next label in a list of comma delimitered labels. | |
void | generateRobust () |
Find the median per cursorAxes chunk. | |
Bool | generateStorageLattice () |
Create a new storage lattice. | |
void | lineSegments (uInt &nSeg, Vector< uInt > &start, Vector< uInt > &nPts, const Vector< AccumType > &mask) const |
Examine an array and determine how many segments of good points it consists of. | |
IPosition | locInStorageLattice (const IPosition &latticePosition, LatticeStatsBase::StatisticsTypes type) const |
Given a location in the lattice and a statistic type, work out where to put it in the storage lattice. | |
void | multiColourYLabel (String &label, PGPlotter &plotter, const String &LRLoc, const Vector< uInt > &colours, const Int &nLabs) const |
Draw each Y-axis sublabel in a string with a different colour. | |
void | multiPlot (PGPlotter &plotter, const Vector< AccumType > &x, const Vector< AccumType > &y, const Vector< AccumType > &n) const |
Plot an array which may have some blanked points. | |
void | minMax (Bool &none, AccumType &dMin, AccumType &dMax, const Vector< AccumType > &d, const Vector< AccumType > &n) const |
Find min and max of good data in arrays specified by pointers. | |
Int | niceColour (Bool &initColours) const |
Find the next nice PGPLOT colour index. | |
Bool | plotStats (Bool hasBeam, const IPosition &dPos, const Matrix< AccumType > &ord, PGPlotter &plotter) |
Plot the statistics. | |
Bool | retrieveStorageStatistic (Array< AccumType > &slice, const LatticeStatsBase::StatisticsTypes type, const Bool dropDeg) |
Retrieve a statistic from the storage lattice and return in an array. | |
Bool | retrieveStorageStatistic (Vector< AccumType > &slice, const IPosition &pos, const Bool posInLattice) |
Retrieve a statistic from the storage lattice at the specified location and return in an array. | |
IPosition | statsSliceShape () const |
Find the shape of slice from the statistics lattice at one spatial pixel. | |
Bool | someGoodPoints () |
See if there were some valid points found in the storage lattice. | |
void | stretchMinMax (AccumType &dMin, AccumType &dMax) const |
Stretch min and max by 5%. | |
void | _latticePosToStoragePos (IPosition &storagePos, const IPosition &latticePos) |
convert a position in the input lattice to the corresponding position in the stats storage lattice. | |
Static Private Member Functions | |
static Float | convertATtoF (AccumType value) |
Convert a AccumType to a Float for plotting. | |
Private Attributes | |
const MaskedLattice< T > * | pInLattice_p |
TempLattice< AccumType > * | pStoreLattice_p |
Vector< Int > | nxy_p |
Vector< Int > | statsToPlot_p |
Vector< T > | range_p |
PGPlotter | plotter_p |
Bool | noInclude_p |
Bool | noExclude_p |
Bool | needStorageLattice_p |
Bool | doneSomeGoodPoints_p |
Bool | someGoodPointsValue_p |
Bool | showProgress_p |
Bool | forceDisk_p |
T | minFull_p |
T | maxFull_p |
Bool | doneFullMinMax_p |
Compute and display various statistics from a lattice.
Public interface
This is a class designed to display and retrieve statistics from lattices
This class enable you to display and/or retrieve statistics evaluated over specified regions of a lattice. The dimension of the region is arbitrary, but the size of each dimension is always the shape of the corresponding lattice axis. The statistics are displayed as a function of location of the axes not used to evaluate the statistics over. The axes which you evaluate the statistics over are called the cursor axes, the others are called the display axes.
For example, consider a lattice cube (call the axes xyz or [0,1,2]). You could display statistics from xy planes (cursor axes [0,1]) as a function of z (display axes [2]). Or you could retrieve statistics from the z axis (cursor axes [2]) for each [x,y] location (display axes [0,1]).
This class inherits from LatticeStatsBase This base class provides an enum
defining allowed statistics types and a helper function to convert between a String
and a Vector<Int>
describing the desired statistics to plot. An example is shown below.
This class can list, plot and retrieve statistics. When it lists statistics, it always lists all the available statistics. When you plot statistics, you must specify which ones you would like to see.
This class generates a "storage lattice" into which it writes the accumulated statistical sums. It is from this storage lattice that the plotting and retrieval arrays are drawn. The storage lattice is either in core or on disk depending upon its size (if > 10% of memory given by .aipsrc system.resources.memory then it goes into a disk-based PagedArray). If on disk, the storage lattice is deleted when the LatticeStatistics
class object destructs. However, currently, if the process is terminated ungracefully, the storage lattice will be left over.
Tip: This class has a few virtual functions; they are not part of a nice general polymorphic interface; rather they have specialized functionality; The idea of these is that you can derive a class from LatticeStatistics, such as ImageStatistics which provides you with a little more information when displaying/logging the statistics (such as world coordinates) The virtual functions are
getBeamArea
can be used to return the synthesized beam area so that the FLUX statistic can be computed listStats
is used to list the statistics to the logger getLabelsM
find the X-axis label and the title label for the plotting;
Tip: If you ignore return error statuses from the functions that set the state of the class, the internal status of the class is set to bad; This means it will just keep on returning error conditions until you explicitly recover the situation; A message describing the last error condition can be recovered with function errorMessage;
// Construct PagedImage (which isA MaskedLattice) from file name PagedImage<Float> inImage(inName); // Construct statistics object LogOrigin or("myClass", "myFunction(...)", WHERE); LogIO os(or); LatticeStatistics<Float> stats(SubImage<FLoat>(inImage), os); // Set cursor axes to see statistics of yz planes (0 relative) Vector<Int> cursorAxes(2) cursorAxes(0) = 1; cursorAxes(1) = 2; if (!stats.setAxes(cursorAxes)) return 1; // Set to list and plot mean, sigma and rms if (!stats.setList(True)) return 1; String device = "/xs"; Vector<Int> nxy(2); nxy(0) = 1; nxy(1) = 1; Vector<Int> statsToPlot = LatticeStatsBase::toStatisticTypes("mean,rms,sigma"); if (!stats.setPlotting(statsToPlot, device, nxy)) return 1; // Now activate actual listing and plotting if (!stats.display ()) return 1; // Retrieve statistics into array Array<Double> sum; if (!stats.getStatistic(sum, LatticeStatsBase::SUM)) return 1;
In this example, a PagedImage
is constructed (which isA MaskedLattice) with . We set the cursor axes to be the y and z axes, we specify to list the statistics if we plot them, and we ask to plot the mean, standard deviation, and root mean square of each yz plane as a function of x location on the PGPLOT device "/xs" with 1 subplot per page (there will be only one in this case). After the plotting and listing, we also retrieve the sum of the selected pixels as a function of x location into an array.
The generation of statistical information from a lattice is a basic and necessary capability.
Definition at line 192 of file LatticeStatistics.h.
typedef NumericTraits<T>::PrecisionType casa::LatticeStatistics< T >::AccumType |
Reimplemented in casa::ImageStatistics< T >.
Definition at line 197 of file LatticeStatistics.h.
typedef std::pair<String,String> casa::LatticeStatistics< T >::stat_element |
Definition at line 287 of file LatticeStatistics.h.
typedef std::list<stat_element> casa::LatticeStatistics< T >::stat_list |
Definition at line 288 of file LatticeStatistics.h.
casa::LatticeStatistics< T >::LatticeStatistics | ( | const MaskedLattice< T > & | lattice, |
LogIO & | os, | ||
Bool | showProgress = True , |
||
Bool | forceDisk = False |
||
) |
Constructor takes the lattice and a LogIO
object for logging.
You can specify whether you want to see progress meters or not. You can force the storage lattice to be disk based, otherwise the decision for core or disk is taken for you.
casa::LatticeStatistics< T >::LatticeStatistics | ( | const MaskedLattice< T > & | lattice, |
Bool | showProgress = True , |
||
Bool | forceDisk = False |
||
) |
Constructor takes the lattice only.
In the absence of a logger you get no messages. This includes error messages and potential listing of the statistics. You can specify whether you want to see progress meters or not. You can force the storage lattice to be disk based, otherwise the decision for core or disk is taken for you.
casa::LatticeStatistics< T >::LatticeStatistics | ( | const LatticeStatistics< T > & | other | ) |
Copy constructor.
Copy semantics are followed. Therefore any storage lattice that has already been created for other
is copied to *this
virtual casa::LatticeStatistics< T >::~LatticeStatistics | ( | ) | [virtual] |
Destructor.
virtual Bool casa::LatticeStatistics< T >::_getBeamArea | ( | Array< Double > & | beamArea | ) | const [protected, virtual] |
Virtual Functions.
See implementation to figure it all out !
Get beam volume if possible. Your lattice needs to be an ImageInterface for you to be able to do this. See for example, class ImageStatistics. When you provide the beam, then the Flux statistic, if requested, can be computed. Returns False if beam not available, else True. The implementation here returns False. Callers are responsible for deleting the beamArea
pointer which is created
Reimplemented in casa::ImageStatistics< T >.
void casa::LatticeStatistics< T >::_latticePosToStoragePos | ( | IPosition & | storagePos, |
const IPosition & | latticePos | ||
) | [private] |
convert a position in the input lattice to the corresponding position in the stats storage lattice.
The number of elements in storagePos will not be changed and only the first N elements will be modified where N = the number of elements in latticePos. storagePos
must therefore have at least as many elements as latticePos
. Returns False if latticePos
is inconsistent with the input lattice.
IPosition casa::LatticeStatistics< T >::_storageLatticeShape | ( | ) | const [inline, protected] |
get the storage lattice shape
Definition at line 423 of file LatticeStatistics.h.
Bool casa::LatticeStatistics< T >::calculateStatistic | ( | Array< AccumType > & | slice, |
LatticeStatsBase::StatisticsTypes | type, | ||
Bool | dropDeg | ||
) | [private] |
Calculate statistic from storage lattice and return in an array.
void casa::LatticeStatistics< T >::closePlotting | ( | ) |
CLose plotter.
static Float casa::LatticeStatistics< T >::convertATtoF | ( | AccumType | value | ) | [inline, static, private] |
Convert a AccumType to a Float for plotting.
Definition at line 454 of file LatticeStatistics.h.
Bool casa::LatticeStatistics< T >::display | ( | ) |
Display the statistics by listing and/or plotting them.
If you don't call this function then you won't see anything ! A return value of False
indicates an invalid plotting device, or that the internal state of the class is bad.
Vector<Int> casa::LatticeStatistics< T >::displayAxes | ( | ) | const [inline] |
Return the display axes.
The returned vector will be valid only if setAxes
has been called, or if one of the active "display" or "get*" methods has been called.
Definition at line 299 of file LatticeStatistics.h.
virtual void casa::LatticeStatistics< T >::displayStats | ( | AccumType | nPts, |
AccumType | sum, | ||
AccumType | median, | ||
AccumType | medAbsDevMed, | ||
AccumType | quartile, | ||
AccumType | sumSq, | ||
AccumType | mean, | ||
AccumType | var, | ||
AccumType | rms, | ||
AccumType | sigma, | ||
AccumType | dMin, | ||
AccumType | dMax | ||
) | [private, virtual] |
Reimplemented in casa::ImageStatistics< T >.
String casa::LatticeStatistics< T >::errorMessage | ( | ) | const [inline] |
Recover last error message.
Definition at line 348 of file LatticeStatistics.h.
Bool casa::LatticeStatistics< T >::findNextDatum | ( | uInt & | iFound, |
const uInt & | n, | ||
const Vector< AccumType > & | mask, | ||
const uInt & | iStart, | ||
const Bool & | findGood | ||
) | const [private] |
Find the next good or bad point in an array.
Bool casa::LatticeStatistics< T >::findNextLabel | ( | String & | subLabel, |
Int & | iLab, | ||
String & | label | ||
) | const [private] |
Find the next label in a list of comma delimitered labels.
void casa::LatticeStatistics< T >::generateRobust | ( | ) | [private] |
Find the median per cursorAxes chunk.
Bool casa::LatticeStatistics< T >::generateStorageLattice | ( | ) | [private] |
Create a new storage lattice.
Bool casa::LatticeStatistics< T >::getConvertedStatistic | ( | Array< T > & | stat, |
LatticeStatsBase::StatisticsTypes | type, | ||
Bool | dropDeg = True |
||
) |
Bool casa::LatticeStatistics< T >::getFullMinMax | ( | T & | dataMin, |
T & | dataMax | ||
) |
Get full lattice min and max only.
Returns False if no unmasked data, else returns True. Honours any include or exclude range if set.
virtual void casa::LatticeStatistics< T >::getLabels | ( | String & | higherOrderLabel, |
String & | xAxisLabel, | ||
const IPosition & | dPos | ||
) | const [protected, virtual] |
Gets labels for higher order axes and x axis.
dPos is the location of the start of the cursor in the storage image for this row.
Reimplemented in casa::ImageStatistics< T >.
Bool casa::LatticeStatistics< T >::getLayerStats | ( | String & | stats, |
Double | area, | ||
Int | zAxis = -1 , |
||
Int | zLayer = -1 , |
||
Int | hAxis = -1 , |
||
Int | hLayer = -1 |
||
) |
Bool casa::LatticeStatistics< T >::getLayerStats | ( | stat_list & | stats, |
Double | area, | ||
Int | zAxis = -1 , |
||
Int | zLayer = -1 , |
||
Int | hAxis = -1 , |
||
Int | hLayer = -1 |
||
) |
Bool casa::LatticeStatistics< T >::getMinMaxPos | ( | IPosition & | minPos, |
IPosition & | maxPos | ||
) |
Recover position of min and max.
Only works if there are no display axes (i.e. statistics found over entire image), otherwise, the returned values are resized to 0 shape. A return value of False
indicates that the internal state of the class is bad.
Bool casa::LatticeStatistics< T >::getStatistic | ( | Array< AccumType > & | stat, |
LatticeStatsBase::StatisticsTypes | type, | ||
Bool | dropDeg = True |
||
) |
Recover the desired Statistic into an array.
If you choose to use the T version, be aware that the values in the AccumType version of the Array may not be representable in the T version (e.g. large values for SumSq). The shape of the array is the shape of the display axes (e.g. if the shape of the lattice is [nx,ny,nz] and you ask for the mean of the y axis the shape of the returned array would be [nx,nz]. A returned array of zero shape indicates that there were no good values. A return value of False
indicates that the internal state of the class is bad.
Bool casa::LatticeStatistics< T >::getStats | ( | Vector< AccumType > & | , |
const IPosition & | pos, | ||
const Bool | posInLattice = False |
||
) |
This function gets a vector containing all the statistics for a given location.
If posInLattice=True
then the location is a location in the input lattice. Any positions on the display axes are ignored. Otherwise, you should just give locations for the display axes only. Use can use the enum in class LatticeStatsBase to find out which locations in the vector contain which statistics. A returned vector of zero shape indicates that there were no good values. A return value of False
indicates that the internal state of the class is bad.
Bool casa::LatticeStatistics< T >::hasLogger | ( | ) | const [inline] |
Did we construct with a logger ?
Definition at line 355 of file LatticeStatistics.h.
void casa::LatticeStatistics< T >::lineSegments | ( | uInt & | nSeg, |
Vector< uInt > & | start, | ||
Vector< uInt > & | nPts, | ||
const Vector< AccumType > & | mask | ||
) | const [private] |
Examine an array and determine how many segments of good points it consists of.
A good point occurs if the array value is greater than zero.
virtual Bool casa::LatticeStatistics< T >::listLayerStats | ( | Double | hasBeam, |
const Matrix< AccumType > & | ord, | ||
ostringstream & | rslt, | ||
Int | zLayer | ||
) | [protected, virtual] |
virtual void casa::LatticeStatistics< T >::listMinMax | ( | ostringstream & | osMin, |
ostringstream & | osMax, | ||
Int | oWidth, | ||
DataType | type | ||
) | [protected, virtual] |
Reimplemented in casa::ImageStatistics< T >.
virtual Bool casa::LatticeStatistics< T >::listStats | ( | Bool | hasBeam, |
const IPosition & | dPos, | ||
const Matrix< AccumType > & | ord | ||
) | [protected, virtual] |
List the statistics to the logger.
The implementation here is adequate for all lattices. See ImageStatistics for an example of where extra information is provided. hasBeam is the return value of getBeamArea. If it is true, that means that the FLUX statistics will be available in the storage lattice. dPos is the location of the start of the cursor in the storage image for this row. stats(j,i) is the statistics matrix. for the jth point and the ith statistic. The return value is False if something goes wrong ! Have a look at the implementation to see what you really have to do.
Reimplemented in casa::ImageStatistics< T >.
IPosition casa::LatticeStatistics< T >::locInLattice | ( | const IPosition & | storagePosition, |
Bool | relativeToParent = True |
||
) | const [protected] |
Given a location in the storage lattice, convert those locations on the non-statistics axis (the last one) and optionally account for the lattice subsectioning.
IPosition casa::LatticeStatistics< T >::locInStorageLattice | ( | const IPosition & | latticePosition, |
LatticeStatsBase::StatisticsTypes | type | ||
) | const [private] |
Given a location in the lattice and a statistic type, work out where to put it in the storage lattice.
void casa::LatticeStatistics< T >::minMax | ( | Bool & | none, |
AccumType & | dMin, | ||
AccumType & | dMax, | ||
const Vector< AccumType > & | d, | ||
const Vector< AccumType > & | n | ||
) | const [private] |
Find min and max of good data in arrays specified by pointers.
void casa::LatticeStatistics< T >::multiColourYLabel | ( | String & | label, |
PGPlotter & | plotter, | ||
const String & | LRLoc, | ||
const Vector< uInt > & | colours, | ||
const Int & | nLabs | ||
) | const [private] |
Draw each Y-axis sublabel in a string with a different colour.
void casa::LatticeStatistics< T >::multiPlot | ( | PGPlotter & | plotter, |
const Vector< AccumType > & | x, | ||
const Vector< AccumType > & | y, | ||
const Vector< AccumType > & | n | ||
) | const [private] |
Plot an array which may have some blanked points.
Thus we plot it in segments
Int casa::LatticeStatistics< T >::niceColour | ( | Bool & | initColours | ) | const [private] |
Find the next nice PGPLOT colour index.
LatticeStatistics<T>& casa::LatticeStatistics< T >::operator= | ( | const LatticeStatistics< T > & | other | ) |
Assignment operator.
Deletes any storage lattice associated with the object being assigned to and copies any storage lattice that has already been created for "other".
Bool casa::LatticeStatistics< T >::plotStats | ( | Bool | hasBeam, |
const IPosition & | dPos, | ||
const Matrix< AccumType > & | ord, | ||
PGPlotter & | plotter | ||
) | [private] |
Plot the statistics.
void casa::LatticeStatistics< T >::resetError | ( | ) | [inline] |
Reset argument error condition.
If you specify invalid arguments to one of the above set
functions, an internal flag will be set which will prevent the work functions from doing anything (should you have chosen to ignore the Boolean return values of the set
functions). This function allows you to reset that internal state to good.
Definition at line 341 of file LatticeStatistics.h.
Bool casa::LatticeStatistics< T >::retrieveStorageStatistic | ( | Array< AccumType > & | slice, |
const LatticeStatsBase::StatisticsTypes | type, | ||
const Bool | dropDeg | ||
) | [private] |
Retrieve a statistic from the storage lattice and return in an array.
Bool casa::LatticeStatistics< T >::retrieveStorageStatistic | ( | Vector< AccumType > & | slice, |
const IPosition & | pos, | ||
const Bool | posInLattice | ||
) | [private] |
Retrieve a statistic from the storage lattice at the specified location and return in an array.
Bool casa::LatticeStatistics< T >::setAxes | ( | const Vector< Int > & | cursorAxes | ) |
Set the cursor axes (0 relative).
A return value of False
indicates you have asked for an invalid axis. The default state of the class is to set the cursor axes to all axes in the lattice.
Bool casa::LatticeStatistics< T >::setInExCludeRange | ( | const Vector< T > & | include, |
const Vector< T > & | exclude, | ||
Bool | setMinMaxToInclude = False |
||
) |
You may specify a pixel intensity range as either one for which all pixels in that range are included or one for which all pixels in that range are excluded.
One or the other of include
and exclude
must therefore be a zero length vector if you call this function. If you are setting an include
range, then if you set setMinMaxToInclude=True
, the minimum and maximum values that this class returns will always be the minimum and maximum of the include
range, respectively. A return value of False
indicates that you have given both an include
and an exclude
range. A vector of length 1 for include
and/or exclude
means that the range will be set to (say for include
) -abs(include(0))
to abs(include(0))
. A return value of False
indicates that both an inclusion and exclusion range were given or that the internal state of the class is bad. If you don't call this function, the default state of the class is to include all pixels.
Bool casa::LatticeStatistics< T >::setList | ( | const Bool & | doList | ) |
This function allows you to control whether the statistics are written to the output stream if you are also making a plot.
A return value of False
indicates that the internal state of the class is bad. If you have created the LatticeStatistics
object without a LogIO
object, you won't see any listings, but no error conditions will be generated. The default state of the class is to not list the output when making a plot.
Bool casa::LatticeStatistics< T >::setNewLattice | ( | const MaskedLattice< T > & | lattice | ) |
Set a new MaskedLattice object.
A return value of False
indicates the lattice had an invalid type or that the internal state of the class is bad.
Bool casa::LatticeStatistics< T >::setPlotting | ( | PGPlotter & | plotter, |
const Vector< Int > & | statsToPlot, | ||
const Vector< Int > & | nxy | ||
) |
This functions enable you to specify which statistics you would like to plot, sets the name of the PGPLOT plotting device and the number of subplots in x and y per page.
If you set device
but offer a zero length array for nxy
then nxy
is set to [1,1]. Similarly, the default for statsToPlot
is to plot the mean and standard deviation. Use the helper function LatticeStatsBase::toStatisticTypes(String& stats)
to convert a String
to the desired Vector<Int> statsToPlot
. A return value of False
indicates invalid plotting arguments or that the internal state of the class is bad. If you don't call this function, the default state of the class is to not make plots.
void casa::LatticeStatistics< T >::setStream | ( | ostream & | os, |
Int | oPrec | ||
) | [protected] |
Non-virtual functions.
set stream manipulators
Bool casa::LatticeStatistics< T >::someGoodPoints | ( | ) | [private] |
See if there were some valid points found in the storage lattice.
IPosition casa::LatticeStatistics< T >::statsSliceShape | ( | ) | const [private] |
Find the shape of slice from the statistics lattice at one spatial pixel.
void casa::LatticeStatistics< T >::stretchMinMax | ( | AccumType & | dMin, |
AccumType & | dMax | ||
) | const [private] |
Stretch min and max by 5%.
virtual void casa::LatticeStatistics< T >::summStats | ( | ) | [private, virtual] |
Summarize the statistics found over the entire lattice.
IPosition casa::LatticeStatistics< T >::blcParent_p [protected] |
Definition at line 369 of file LatticeStatistics.h.
Vector<Int> casa::LatticeStatistics< T >::cursorAxes_p [protected] |
Definition at line 360 of file LatticeStatistics.h.
Vector<Int> casa::LatticeStatistics< T >::displayAxes_p [protected] |
Definition at line 360 of file LatticeStatistics.h.
Referenced by casa::LatticeStatistics< Float >::displayAxes().
Bool casa::LatticeStatistics< T >::doList_p [protected] |
Definition at line 368 of file LatticeStatistics.h.
Bool casa::LatticeStatistics< T >::doneFullMinMax_p [private] |
Definition at line 437 of file LatticeStatistics.h.
Bool casa::LatticeStatistics< T >::doneSomeGoodPoints_p [private] |
Definition at line 433 of file LatticeStatistics.h.
Bool casa::LatticeStatistics< T >::doRobust_p [protected] |
doRobust means that when the storage lattice is generated, the robust statistics are generated as well
Definition at line 367 of file LatticeStatistics.h.
String casa::LatticeStatistics< T >::error_p [protected] |
Definition at line 370 of file LatticeStatistics.h.
Referenced by casa::LatticeStatistics< Float >::errorMessage().
Bool casa::LatticeStatistics< T >::fixedMinMax_p [protected] |
Definition at line 362 of file LatticeStatistics.h.
Bool casa::LatticeStatistics< T >::forceDisk_p [private] |
Definition at line 434 of file LatticeStatistics.h.
Bool casa::LatticeStatistics< T >::goodParameterStatus_p [protected] |
Definition at line 361 of file LatticeStatistics.h.
Referenced by casa::LatticeStatistics< Float >::resetError().
Bool casa::LatticeStatistics< T >::haveLogger_p [protected] |
Definition at line 362 of file LatticeStatistics.h.
T casa::LatticeStatistics< T >::maxFull_p [private] |
Definition at line 436 of file LatticeStatistics.h.
IPosition casa::LatticeStatistics< T >::maxPos_p [protected] |
Definition at line 369 of file LatticeStatistics.h.
T casa::LatticeStatistics< T >::minFull_p [private] |
Definition at line 436 of file LatticeStatistics.h.
IPosition casa::LatticeStatistics< T >::minPos_p [protected] |
Definition at line 369 of file LatticeStatistics.h.
Bool casa::LatticeStatistics< T >::needStorageLattice_p [private] |
Definition at line 433 of file LatticeStatistics.h.
Bool casa::LatticeStatistics< T >::noExclude_p [private] |
Definition at line 431 of file LatticeStatistics.h.
Bool casa::LatticeStatistics< T >::noInclude_p [private] |
Definition at line 431 of file LatticeStatistics.h.
Vector<Int> casa::LatticeStatistics< T >::nxy_p [private] |
Definition at line 428 of file LatticeStatistics.h.
LogIO casa::LatticeStatistics< T >::os_p [protected] |
Reimplemented in casa::ImageStatistics< T >.
Definition at line 355 of file LatticeStatistics.h.
const MaskedLattice<T>* casa::LatticeStatistics< T >::pInLattice_p [private] |
Definition at line 426 of file LatticeStatistics.h.
PGPlotter casa::LatticeStatistics< T >::plotter_p [private] |
Definition at line 430 of file LatticeStatistics.h.
TempLattice<AccumType>* casa::LatticeStatistics< T >::pStoreLattice_p [private] |
Definition at line 427 of file LatticeStatistics.h.
Referenced by casa::LatticeStatistics< Float >::_storageLatticeShape().
Vector<T> casa::LatticeStatistics< T >::range_p [private] |
Definition at line 429 of file LatticeStatistics.h.
Bool casa::LatticeStatistics< T >::showProgress_p [private] |
Definition at line 434 of file LatticeStatistics.h.
Bool casa::LatticeStatistics< T >::someGoodPointsValue_p [private] |
Definition at line 433 of file LatticeStatistics.h.
Vector<Int> casa::LatticeStatistics< T >::statsToPlot_p [private] |
Definition at line 428 of file LatticeStatistics.h.