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::ImageMomentsTask< T > Class Template Reference

#include <ImageMomentsTask.h>

Inheritance diagram for casa::ImageMomentsTask< T >:
casa::ImageTask< T >

Public Member Functions

 ImageMomentsTask ()=delete
 Top level interface for creating image moments. More...
 
 ImageMomentsTask (const SPCIIT image, const casacore::Record *const region, const casacore::String &mask, const casacore::String &smoothImageName, casacore::Bool overwrite)
 overwrite only applies to the smooth image. More...
 
 ~ImageMomentsTask ()
 
casacore::String getClass () const
 
SPIIT makeMoments () const
 the first requested moments image is returned. More...
 
void setAxis (casacore::Int axis)
 set moments axis number More...
 
void setIncludeExcludeRange (const std::vector< T > &range, casacore::Bool isInclude)
 set the include or exclude range. More...
 
void setKernels (const std::vector< casacore::String > &kernels)
 Set smoothing kernels. More...
 
void setKernelWidths (const std::vector< casacore::Quantity > &kernelWidths)
 set smoothing kernel widths More...
 
void setMethods (const std::vector< casacore::String > &methods)
 set moment methods More...
 
void setMoments (const casacore::Vector< casacore::Int > &moments)
 set moments to compute More...
 
void setMomentsProgressMonitor (ImageMomentsProgressMonitor *progressMonitor)
 
void setMomentImageName (const casacore::String &name)
 set the base name for the moment images. More...
 
void setRemoveAxis (casacore::Bool remove)
 Should the moment axis be removed. More...
 
void setSmoothAxes (const std::vector< casacore::uInt > &axes)
 set smoothing axes More...
 
void setSNR (casacore::Double snr)
 set desired signal-to-noise. More...
 
void setStdDev (casacore::Double stddev)
 set desired standard deviation. More...
 
void setVelocityType (const casacore::String &type)
 set the velocity type. More...
 
- Public Member Functions inherited from casa::ImageTask< T >
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
< casacore::Coordinate::Type
_getNecessaryCoordinates () const
 Represents the minimum set of coordinates necessary for the task to function. More...
 
casacore::Bool _supportsMultipleBeams () const
 does this task support images with multiple beams? false means it never does. More...
 
casacore::Bool _supportsMultipleRegions () const
 
- Protected Member Functions inherited from casa::ImageTask< T >
 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
 
SPIIT _prepareOutputImage (const casacore::ImageInterface< T > &image, const casacore::Array< T > *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< T > &image, casacore::Bool dropDegen=false) const
 
SPIIT _prepareOutputImage (const casacore::ImageInterface< T > &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< T > &image, const casacore::Lattice< T > &data) const
 data are copied to the output image from the data lattice. More...
 
Verbosity _getVerbosity () const
 
casacore::Bool _getOverwrite () const
 
virtual casacore::Bool _mustHaveSquareDirectionPixels () const
 
casacore::Bool _getDropDegen () const
 
template<class U >
void _doHistory (std::shared_ptr< casacore::ImageInterface< U >> &image) const
 
void _reportOldNewImageShapes (const ImageInterface< T > &out) const
 
void _reportOldNewImageShapes (const IPosition &outShape) const
 

Private Member Functions

void _deleteTempImage (const casacore::String &tmpImage) const
 

Private Attributes

casacore::Vector< casacore::Int_moments
 
casacore::Int _axis
 
std::vector< casacore::String_methods
 
std::vector< casacore::String_kernels
 
std::vector< casacore::uInt_smoothAxes
 
std::vector< casacore::Quantity_kernelWidths
 
std::vector< T > _range
 
casacore::Bool _isIncludeRange
 
casacore::Bool _removeAxis
 
casacore::Double _snr
 
casacore::Double _stddev
 
casacore::String _velocityType
 
casacore::String _momentName
 
ImageMomentsProgressMonitor_imageMomentsProgressMonitor
 

Additional Inherited Members

- Public Types inherited from casa::ImageTask< T >
enum  Verbosity {
  QUIET,
  WHISPER,
  LOW,
  NORMAL,
  HIGH,
  NOISY,
  DEAFENING
}
 Virtual base class for image analysis tasks. More...
 
- Static Protected Member Functions inherited from casa::ImageTask< T >
static void _copyMask (casacore::Lattice< casacore::Bool > &mask, const casacore::ImageInterface< T > &image)
 
static void _copyData (casacore::Lattice< T > &data, const casacore::Lattice< T > &image)
 

Detailed Description

template<class T>
class casa::ImageMomentsTask< T >

Definition at line 12 of file ImageMomentsTask.h.

Constructor & Destructor Documentation

template<class T >
casa::ImageMomentsTask< T >::ImageMomentsTask ( )
delete

Top level interface for creating image moments.

Etymology

Rebins an image to larger pixels.

Synopsis

Top level interface for rebinning images.

template<class T >
casa::ImageMomentsTask< T >::ImageMomentsTask ( const SPCIIT  image,
const casacore::Record *const  region,
const casacore::String mask,
const casacore::String smoothImageName,
casacore::Bool  overwrite 
)

overwrite only applies to the smooth image.

The moment images should be removed if they exist.

template<class T >
casa::ImageMomentsTask< T >::~ImageMomentsTask ( )
inline

Definition at line 43 of file ImageMomentsTask.h.

Member Function Documentation

template<class T >
void casa::ImageMomentsTask< T >::_deleteTempImage ( const casacore::String tmpImage) const
private
template<class T >
std::vector<casacore::Coordinate::Type> casa::ImageMomentsTask< T >::_getNecessaryCoordinates ( ) const
inlineprotectedvirtual

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

Implements casa::ImageTask< T >.

Definition at line 109 of file ImageMomentsTask.h.

template<class T >
CasacRegionManager::StokesControl casa::ImageMomentsTask< T >::_getStokesControl ( ) const
inlineprotectedvirtual

Implements casa::ImageTask< T >.

Definition at line 105 of file ImageMomentsTask.h.

References casa::CasacRegionManager::USE_ALL_STOKES.

template<class T >
casacore::Bool casa::ImageMomentsTask< T >::_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< T >.

Definition at line 113 of file ImageMomentsTask.h.

template<class T >
casacore::Bool casa::ImageMomentsTask< T >::_supportsMultipleRegions ( ) const
inlineprotectedvirtual

Reimplemented from casa::ImageTask< T >.

Definition at line 115 of file ImageMomentsTask.h.

template<class T >
casacore::String casa::ImageMomentsTask< T >::getClass ( ) const
inlinevirtual

Implements casa::ImageTask< T >.

Definition at line 45 of file ImageMomentsTask.h.

template<class T >
SPIIT casa::ImageMomentsTask< T >::makeMoments ( ) const

the first requested moments image is returned.

template<class T >
void casa::ImageMomentsTask< T >::setAxis ( casacore::Int  axis)

set moments axis number

template<class T >
void casa::ImageMomentsTask< T >::setIncludeExcludeRange ( const std::vector< T > &  range,
casacore::Bool  isInclude 
)

set the include or exclude range.

An empty vector means no range is set, a one element vector means -range[0] to range[0] is set. If the vector contains more than two elements, an exception is thrown. If isInclude is true, then the range is the range to be included, excluded if false.

template<class T >
void casa::ImageMomentsTask< T >::setKernels ( const std::vector< casacore::String > &  kernels)
inline

Set smoothing kernels.

Definition at line 60 of file ImageMomentsTask.h.

References casa::ImageMomentsTask< T >::_kernels.

template<class T >
void casa::ImageMomentsTask< T >::setKernelWidths ( const std::vector< casacore::Quantity > &  kernelWidths)
inline

set smoothing kernel widths

Definition at line 63 of file ImageMomentsTask.h.

References casa::ImageMomentsTask< T >::_kernelWidths.

template<class T >
void casa::ImageMomentsTask< T >::setMethods ( const std::vector< casacore::String > &  methods)
inline

set moment methods

Definition at line 68 of file ImageMomentsTask.h.

References casa::ImageMomentsTask< T >::_methods.

template<class T >
void casa::ImageMomentsTask< T >::setMomentImageName ( const casacore::String name)
inline

set the base name for the moment images.

Definition at line 78 of file ImageMomentsTask.h.

References casa::ImageMomentsTask< T >::_momentName, and casa::name().

template<class T >
void casa::ImageMomentsTask< T >::setMoments ( const casacore::Vector< casacore::Int > &  moments)

set moments to compute

template<class T >
void casa::ImageMomentsTask< T >::setMomentsProgressMonitor ( ImageMomentsProgressMonitor progressMonitor)
inline
template<class T >
void casa::ImageMomentsTask< T >::setRemoveAxis ( casacore::Bool  remove)
inline

Should the moment axis be removed.

These rules will be followed: If the moment axis is associated with a coordinate with one axis only, the axis and its coordinate are physically removed from the output image. Otherwise, if remove=true then the output axis is logically removed from the the output CoordinateSystem. If remove=false then the axis is retained with shape=1 and with its original coordinate information (which is probably meaningless).

Definition at line 87 of file ImageMomentsTask.h.

References casa::ImageMomentsTask< T >::_removeAxis.

template<class T >
void casa::ImageMomentsTask< T >::setSmoothAxes ( const std::vector< casacore::uInt > &  axes)

set smoothing axes

template<class T >
void casa::ImageMomentsTask< T >::setSNR ( casacore::Double  snr)
inline

set desired signal-to-noise.

Less than or equal to zero means use the default value.

Definition at line 94 of file ImageMomentsTask.h.

References casa::ImageMomentsTask< T >::_snr.

template<class T >
void casa::ImageMomentsTask< T >::setStdDev ( casacore::Double  stddev)
inline

set desired standard deviation.

Less than or equal to zero means set to 0.

Definition at line 98 of file ImageMomentsTask.h.

References casa::ImageMomentsTask< T >::_stddev, and casacore::stddev().

template<class T >
void casa::ImageMomentsTask< T >::setVelocityType ( const casacore::String type)
inline

set the velocity type.

Definition at line 101 of file ImageMomentsTask.h.

References casa::ImageMomentsTask< T >::_velocityType, and casa::type().

Member Data Documentation

template<class T >
casacore::Int casa::ImageMomentsTask< T >::_axis
private

Definition at line 119 of file ImageMomentsTask.h.

template<class T >
ImageMomentsProgressMonitor* casa::ImageMomentsTask< T >::_imageMomentsProgressMonitor
private
template<class T >
casacore::Bool casa::ImageMomentsTask< T >::_isIncludeRange
private

Definition at line 124 of file ImageMomentsTask.h.

template<class T >
std::vector<casacore::String> casa::ImageMomentsTask< T >::_kernels
private

Definition at line 120 of file ImageMomentsTask.h.

Referenced by casa::ImageMomentsTask< T >::setKernels().

template<class T >
std::vector<casacore::Quantity> casa::ImageMomentsTask< T >::_kernelWidths
private

Definition at line 122 of file ImageMomentsTask.h.

Referenced by casa::ImageMomentsTask< T >::setKernelWidths().

template<class T >
std::vector<casacore::String> casa::ImageMomentsTask< T >::_methods
private

Definition at line 120 of file ImageMomentsTask.h.

Referenced by casa::ImageMomentsTask< T >::setMethods().

template<class T >
casacore::String casa::ImageMomentsTask< T >::_momentName
private

Definition at line 126 of file ImageMomentsTask.h.

Referenced by casa::ImageMomentsTask< T >::setMomentImageName().

template<class T >
casacore::Vector<casacore::Int> casa::ImageMomentsTask< T >::_moments
private

Definition at line 118 of file ImageMomentsTask.h.

template<class T >
std::vector<T> casa::ImageMomentsTask< T >::_range
private

Definition at line 123 of file ImageMomentsTask.h.

template<class T >
casacore::Bool casa::ImageMomentsTask< T >::_removeAxis
private

Definition at line 124 of file ImageMomentsTask.h.

Referenced by casa::ImageMomentsTask< T >::setRemoveAxis().

template<class T >
std::vector<casacore::uInt> casa::ImageMomentsTask< T >::_smoothAxes
private

Definition at line 121 of file ImageMomentsTask.h.

template<class T >
casacore::Double casa::ImageMomentsTask< T >::_snr
private

Definition at line 125 of file ImageMomentsTask.h.

Referenced by casa::ImageMomentsTask< T >::setSNR().

template<class T >
casacore::Double casa::ImageMomentsTask< T >::_stddev
private

Definition at line 125 of file ImageMomentsTask.h.

Referenced by casa::ImageMomentsTask< T >::setStdDev().

template<class T >
casacore::String casa::ImageMomentsTask< T >::_velocityType
private

Definition at line 126 of file ImageMomentsTask.h.

Referenced by casa::ImageMomentsTask< T >::setVelocityType().


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