casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
casa::StatImageCreator Class Reference

#include <StatImageCreator.h>

Inheritance diagram for casa::StatImageCreator:
casa::ImageStatsBase< Float > casa::ImageTask< Float >

Public Member Functions

 StatImageCreator ()=delete
 Create a "statistic" image from an image. More...
 
 StatImageCreator (SPCIIF image, const Record *const region, const String &mask, const String &outname, Bool overwrite)
 region is the usual region used in image analysis tasks. More...
 
 ~StatImageCreator ()
 destructor More...
 
SPIIF compute ()
 
String getClass () const
 
void setAnchorPosition (Int x, Int y)
 set the anchor pixel value. More...
 
void useReferencePixelAsAnchor ()
 rounds reference pixel to nearest ints, if necessary More...
 
void setGridSpacing (uInt x, uInt y)
 set spacing between grid pixels. More...
 
void setInterpAlgorithm (Interpolate2D::Method alg)
 set interpolation algortihm More...
 
void setRadius (const Quantity &radius)
 set radius for circle subregion over which to carry out individual statistics computations. More...
 
void setRectangle (const Quantity &xLength, const Quantity &yLength)
 set a rectangular subregion over which to carry out individual statistics computations. More...
 
void setStatType (casacore::StatisticsData::STATS s)
 void setStatType(casacore::LatticeStatsBase::StatisticsTypes s); More...
 
void setStatType (const String &s)
 
- Public Member Functions inherited from casa::ImageStatsBase< Float >
 ImageStatsBase ()=delete
 This adds configuration methods for statistics classes. More...
 
 ~ImageStatsBase ()
 
void configureBiweight (casacore::Int maxIter)
 
void configureChauvenet (casacore::Double zscore, casacore::Int maxIterations)
 
void configureClassical (ImageStatsData::PreferredClassicalAlgorithm p)
 
void configureFitToHalf (casacore::FitToHalfStatisticsData::CENTER centerType, casacore::FitToHalfStatisticsData::USE_DATA useData, casacore::Double centerValue)
 configure fit to half algorithm More...
 
void configureHingesFences (casacore::Double f)
 configure hinges-fences algorithm More...
 
- Public Member Functions inherited from casa::ImageTask< Float >
virtual ~ImageTask ()
 
void setStretch (const casacore::Bool stretch)
 
void setLogfile (const casacore::String &lf)
 tacitly does nothing if lf is the empty string. More...
 
void setLogfileAppend (const casacore::Bool a)
 
void setRegion (const casacore::Record &region)
 
void setMask (const casacore::String &mask)
 
void setVerbosity (Verbosity verbosity)
 
void addHistory (const std::vector< std::pair< casacore::String, casacore::String > > &msgs) const
 These messages will appear in the product image history upon the call to _prepareOutputImage(). More...
 
void addHistory (const casacore::LogOrigin &origin, const casacore::String &msg) const
 
void addHistory (const casacore::LogOrigin &origin, const std::vector< casacore::String > &msgs) const
 
void addHistory (const casacore::LogOrigin &origin, const casacore::String &taskname, const std::vector< casacore::String > &paramNames, const std::vector< casac::variant > &paramValues) const
 This adds standard history messages regarding the task that was run and input parameters used. More...
 
void suppressHistoryWriting (casacore::Bool b)
 suppress writing the history on _prepareOutputImage() call. More...
 
std::vector< std::pair
< casacore::String,
casacore::String > > 
getHistory ()
 get the history associated with the task. More...
 
void setDropDegen (casacore::Bool d)
 

Protected Member Functions

CasacRegionManager::StokesControl _getStokesControl () const
 
std::vector< Coordinate::Type_getNecessaryCoordinates () const
 Represents the minimum set of coordinates necessary for the task to function. More...
 
Bool _mustHaveSquareDirectionPixels () const
 
Bool _supportsMultipleBeams () const
 does this task support images with multiple beams? false means it never does. More...
 
- Protected Member Functions inherited from casa::ImageStatsBase< Float >
 ImageStatsBase (const SPCIIT image, const casacore::Record *const &regionPtr, const casacore::String &maskInp, const casacore::String &outname="", casacore::Bool overwrite=false)
 
casacore::String _configureAlgorithm ()
 
std::unique_ptr
< casacore::ImageStatistics
< Float > > & 
_getImageStats ()
 
StatisticsData::ALGORITHM _getAlgorithm () const
 
AlgConf _getAlgConf () const
 
void _resetStats (ImageStatistics< Float > *stat=nullptr)
 
- Protected Member Functions inherited from casa::ImageTask< Float >
 ImageTask (const SPCIIT image, const casacore::String &region, const casacore::Record *const &regionPtr, const casacore::String &box, const casacore::String &chanInp, const casacore::String &stokes, const casacore::String &maskInp, const casacore::String &outname, casacore::Bool overwrite)
 if outname is empty, no image will be written if overwrite is True, if image already exists it will be removed if overwrite is False, if image already exists exception will be thrown More...
 
 ImageTask (const SPCIIT image, const casacore::Record *const &regionPtr, const casacore::String &mask, const casacore::String &outname, casacore::Bool overwrite)
 
virtual std::vector
< OutputDestinationChecker::OutputStruct
_getOutputStruct ()
 
virtual void _construct (casacore::Bool verbose=true)
 does the lion's share of constructing the object, ie checks validity of inputs, etc. More...
 
const SPCIIT _getImage () const
 
const casacore::String_getMask () const
 
const casacore::Record_getRegion () const
 
void _setStokes (const casacore::String &stokes)
 
const casacore::String_getStokes () const
 
const casacore::String_getChans () const
 
const casacore::String_getOutname () const
 
casacore::Bool _isPVImage () const
 Is the attached image a position-velocity (PV) image? More...
 
void _removeExistingOutfileIfNecessary () const
 
void _removeExistingFileIfNecessary (const casacore::String &filename, const casacore::Bool overwrite, casacore::Bool warnOnly=false) const
 if warnOnly is true, log a warning message if file exists and overwrite is true, else throw an exception. More...
 
casacore::String _summaryHeader () const
 
const std::shared_ptr
< casacore::LogIO
_getLog () const
 
virtual casacore::Bool _hasLogfileSupport () const
 by default, derived classes are configured to have no log file support. More...
 
casacore::Bool _getStretch () const
 
Bool _getSuppressHistory () const
 
const std::shared_ptr< LogFile_getLogFile () const
 
casacore::Bool _writeLogfile (const casacore::String &output, const casacore::Bool open=true, const casacore::Bool close=true)
 
casacore::Bool _openLogfile ()
 
void _closeLogfile () const
 
virtual casacore::Bool _supportsMultipleRegions () const
 
SPIIT _prepareOutputImage (const casacore::ImageInterface< Float > &image, const casacore::Array< Float > *const values, const casacore::ArrayLattice< casacore::Bool > *const mask=nullptr, const casacore::IPosition *const outShape=nullptr, const casacore::CoordinateSystem *const coordsys=nullptr, const casacore::String *const outname=nullptr, casacore::Bool overwrite=false, casacore::Bool dropDegen=false) const
 If outname != NULL, use the value supplied. More...
 
SPIIT _prepareOutputImage (const casacore::ImageInterface< Float > &image, casacore::Bool dropDegen=false) const
 
SPIIT _prepareOutputImage (const casacore::ImageInterface< Float > &image, const casacore::String &outname, casacore::Bool overwrite, casacore::Bool warnOnly) const
 if warnOnly is true, only log a warning message if the file exists and overwrite is true, else throw an excepction More...
 
SPIIT _prepareOutputImage (const casacore::ImageInterface< Float > &image, const casacore::Lattice< Float > &data) const
 data are copied to the output image from the data lattice. More...
 
Verbosity _getVerbosity () const
 
casacore::Bool _getOverwrite () const
 
casacore::Bool _getDropDegen () const
 
void _doHistory (std::shared_ptr< casacore::ImageInterface< U >> &image) const
 
void _reportOldNewImageShapes (const ImageInterface< Float > &out) const
 
void _reportOldNewImageShapes (const IPosition &outShape) const
 

Private Member Functions

void _doInterpolation (SPIIF output, TempImage< Float > &store, SPCIIF subImage, uInt nxpts, uInt nypts, Int xstart, Int ystart) const
 
void _computeStat (TempImage< Float > &writeTo, SPCIIF subImage, uInt nxpts, uInt nypts, Int xstart, Int ystart)
 
void _doStatsLoop (casacore::TempImage< Float > &writeTo, casacore::RO_MaskedLatticeIterator< Float > &lattIter, casacore::uInt nxpts, casacore::uInt nypts, casacore::Int xstart, casacore::Int ystart, casacore::uInt xBlcOff, casacore::uInt yBlcOff, casacore::uInt xChunkSize, casacore::uInt yChunkSize, const casacore::IPosition &imshape, const casacore::IPosition &chunkShape, std::shared_ptr< casacore::Array< casacore::Bool >> regionMask, std::shared_ptr< casacore::StatisticsAlgorithm< casacore::Double, casacore::Array< casacore::Float >::const_iterator, casacore::Array< casacore::Bool >::const_iterator, casacore::Array< casacore::Float >::const_iterator > > &alg, const casacore::Array< casacore::Bool > &regMaskCopy, const casacore::IPosition &loopAxes, casacore::uInt nPts)
 
void _interpolate (casacore::Matrix< casacore::Float > &result, casacore::Matrix< casacore::Bool > &resultMask, const casacore::Matrix< casacore::Float > &storage, const casacore::Matrix< casacore::Bool > &storeMask, const std::pair< casacore::uInt, casacore::uInt > &start) const
 start is the pixel offset in the result matrix relative the storage matrix. More...
 
void _nominalChunkInfo (std::shared_ptr< Array< Bool >> &chunkMask, uInt &xBlcOff, uInt &yBlcOff, uInt &xChunkSize, uInt &yChunkSize, SPCIIF subimage) const
 the Blc offsets are the pixel offsets from the grid point More...
 
std::shared_ptr
< StatisticsAlgorithm< Double,
Array< Float >::const_iterator,
Array< Bool >::const_iterator > > 
_getStatsAlgorithm (String &algName) const
 

Private Attributes

Quantity _xlen
 
Quantity _ylen
 
std::pair< uInt, uInt_grid
 
Vector< Double_anchor
 _anchor pixel world coordinates More...
 
IPosition _dirAxes
 
casacore::Interpolate2D _interpolater
 
String _interpName
 
casacore::String _statName
 
casacore::StatisticsData::STATS _statType
 
casacore::Bool _doMask
 
casacore::Bool _doProbit
 

Additional Inherited Members

- Public Types inherited from casa::ImageTask< Float >
enum  Verbosity
 Virtual base class for image analysis tasks. More...
 
- Static Protected Member Functions inherited from casa::ImageTask< Float >
static void _copyMask (casacore::Lattice< casacore::Bool > &mask, const casacore::ImageInterface< Float > &image)
 
static void _copyData (casacore::Lattice< Float > &data, const casacore::Lattice< Float > &image)
 

Detailed Description

Definition at line 12 of file StatImageCreator.h.

Constructor & Destructor Documentation

casa::StatImageCreator::StatImageCreator ( )
delete

Create a "statistic" image from an image.

Etymology

Synopsis

See CAS-9195.

casa::StatImageCreator::StatImageCreator ( SPCIIF  image,
const Record *const  region,
const String mask,
const String outname,
Bool  overwrite 
)

region is the usual region used in image analysis tasks.

It is the region in the image over which to perform the computations. The subregion over which to carry out a single statistic computation is set separately after the object has been constructed.

casa::StatImageCreator::~StatImageCreator ( )
inline

destructor

Definition at line 44 of file StatImageCreator.h.

Member Function Documentation

void casa::StatImageCreator::_computeStat ( TempImage< Float > &  writeTo,
SPCIIF  subImage,
uInt  nxpts,
uInt  nypts,
Int  xstart,
Int  ystart 
)
private
void casa::StatImageCreator::_doInterpolation ( SPIIF  output,
TempImage< Float > &  store,
SPCIIF  subImage,
uInt  nxpts,
uInt  nypts,
Int  xstart,
Int  ystart 
) const
private
void casa::StatImageCreator::_doStatsLoop ( casacore::TempImage< Float > &  writeTo,
casacore::RO_MaskedLatticeIterator< Float > &  lattIter,
casacore::uInt  nxpts,
casacore::uInt  nypts,
casacore::Int  xstart,
casacore::Int  ystart,
casacore::uInt  xBlcOff,
casacore::uInt  yBlcOff,
casacore::uInt  xChunkSize,
casacore::uInt  yChunkSize,
const casacore::IPosition imshape,
const casacore::IPosition chunkShape,
std::shared_ptr< casacore::Array< casacore::Bool >>  regionMask,
std::shared_ptr< casacore::StatisticsAlgorithm< casacore::Double, casacore::Array< casacore::Float >::const_iterator, casacore::Array< casacore::Bool >::const_iterator, casacore::Array< casacore::Float >::const_iterator > > &  alg,
const casacore::Array< casacore::Bool > &  regMaskCopy,
const casacore::IPosition loopAxes,
casacore::uInt  nPts 
)
private
std::vector<Coordinate::Type> casa::StatImageCreator::_getNecessaryCoordinates ( ) const
inlineprotectedvirtual

Represents the minimum set of coordinates necessary for the task to function.

Implements casa::ImageTask< Float >.

Definition at line 80 of file StatImageCreator.h.

References casacore::Coordinate::DIRECTION.

std::shared_ptr<StatisticsAlgorithm< Double, Array<Float>::const_iterator, Array<Bool>::const_iterator> > casa::StatImageCreator::_getStatsAlgorithm ( String algName) const
private
CasacRegionManager::StokesControl casa::StatImageCreator::_getStokesControl ( ) const
inlineprotectedvirtual

Implements casa::ImageTask< Float >.

Definition at line 76 of file StatImageCreator.h.

References casa::CasacRegionManager::USE_ALL_STOKES.

void casa::StatImageCreator::_interpolate ( casacore::Matrix< casacore::Float > &  result,
casacore::Matrix< casacore::Bool > &  resultMask,
const casacore::Matrix< casacore::Float > &  storage,
const casacore::Matrix< casacore::Bool > &  storeMask,
const std::pair< casacore::uInt, casacore::uInt > &  start 
) const
private

start is the pixel offset in the result matrix relative the storage matrix.

If one or both values are 0, then pixel 0 of the result matrix corresponds to pixel 0 in the storage matrix. If one or both of the start values are positive, then pixel 0 in the result matrix corresponds to pixel (start/pointsPerCell - 1) in the storage matrix (which is always negative and always greater than -1).

Bool casa::StatImageCreator::_mustHaveSquareDirectionPixels ( ) const
inlineprotectedvirtual

Reimplemented from casa::ImageTask< Float >.

Definition at line 84 of file StatImageCreator.h.

void casa::StatImageCreator::_nominalChunkInfo ( std::shared_ptr< Array< Bool >> &  chunkMask,
uInt xBlcOff,
uInt yBlcOff,
uInt xChunkSize,
uInt yChunkSize,
SPCIIF  subimage 
) const
private

the Blc offsets are the pixel offsets from the grid point

Bool casa::StatImageCreator::_supportsMultipleBeams ( ) const
inlineprotectedvirtual

does this task support images with multiple beams? false means it never does.

true means it does, but not necessarily in all cases (in which case, the derived class is responsible for checking for and throwing exceptions in those cases).

Reimplemented from casa::ImageTask< Float >.

Definition at line 86 of file StatImageCreator.h.

SPIIF casa::StatImageCreator::compute ( )
String casa::StatImageCreator::getClass ( ) const
inlinevirtual

Implements casa::ImageTask< Float >.

Definition at line 48 of file StatImageCreator.h.

void casa::StatImageCreator::setAnchorPosition ( Int  x,
Int  y 
)

set the anchor pixel value.

Note that this applies to the image used at construction, not the resulting subimage if a region was also specified.

void casa::StatImageCreator::setGridSpacing ( uInt  x,
uInt  y 
)

set spacing between grid pixels.

void casa::StatImageCreator::setInterpAlgorithm ( Interpolate2D::Method  alg)

set interpolation algortihm

void casa::StatImageCreator::setRadius ( const Quantity radius)

set radius for circle subregion over which to carry out individual statistics computations.

void casa::StatImageCreator::setRectangle ( const Quantity xLength,
const Quantity yLength 
)

set a rectangular subregion over which to carry out individual statistics computations.

void casa::StatImageCreator::setStatType ( casacore::StatisticsData::STATS  s)

void setStatType(casacore::LatticeStatsBase::StatisticsTypes s);

void casa::StatImageCreator::setStatType ( const String s)
void casa::StatImageCreator::useReferencePixelAsAnchor ( )

rounds reference pixel to nearest ints, if necessary

Member Data Documentation

Vector<Double> casa::StatImageCreator::_anchor
private

_anchor pixel world coordinates

Definition at line 95 of file StatImageCreator.h.

IPosition casa::StatImageCreator::_dirAxes
private

Definition at line 96 of file StatImageCreator.h.

casacore::Bool casa::StatImageCreator::_doMask
private

Definition at line 102 of file StatImageCreator.h.

casacore::Bool casa::StatImageCreator::_doProbit
private

Definition at line 103 of file StatImageCreator.h.

std::pair<uInt, uInt> casa::StatImageCreator::_grid
private

Definition at line 93 of file StatImageCreator.h.

String casa::StatImageCreator::_interpName
private

Definition at line 98 of file StatImageCreator.h.

casacore::Interpolate2D casa::StatImageCreator::_interpolater
private

Definition at line 97 of file StatImageCreator.h.

casacore::String casa::StatImageCreator::_statName
private

Definition at line 99 of file StatImageCreator.h.

casacore::StatisticsData::STATS casa::StatImageCreator::_statType
private

Definition at line 101 of file StatImageCreator.h.

Quantity casa::StatImageCreator::_xlen
private

Definition at line 90 of file StatImageCreator.h.

Quantity casa::StatImageCreator::_ylen
private

Definition at line 91 of file StatImageCreator.h.


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