casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Attributes | List of all members
casa::ImageTask< T > Class Template Referenceabstract

#include <ImageTask.h>

Inheritance diagram for casa::ImageTask< T >:
casa::Image1DSmoother< T > casa::Image2DConvolver< T > casa::ImageCollapser< T > casa::ImageConvolverTask< T > casa::ImageCropper< T > casa::ImageDecimator< T > casa::ImageDecomposerTask< T > casa::ImageFFTer< T > casa::ImageFitter< T > casa::ImageHistogramsCalculator< T > casa::ImageMaskedPixelReplacer< T > casa::ImageMaxFitter< T > casa::ImageMomentsTask< T > casa::ImageRebinner< T > casa::ImageRegridderBase< T > casa::ImageRotator< T > casa::ImageSourceFinder< T > casa::ImageStatsBase< T > casa::PeakIntensityFluxDensityConverter< T > casa::PixelValueManipulator< T > casa::SepImageConvolverTask< T > casa::TwoPointCorrelator< T >

Public Types

enum  Verbosity {
  QUIET,
  WHISPER,
  LOW,
  NORMAL,
  HIGH,
  NOISY,
  DEAFENING
}
 Virtual base class for image analysis tasks. More...
 

Public Member Functions

virtual ~ImageTask ()
 
virtual casacore::String getClass () const =0
 
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

 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
CasacRegionManager::StokesControl 
_getStokesControl () const =0
 
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
 
virtual std::vector
< casacore::Coordinate::Type
_getNecessaryCoordinates () const =0
 Represents the minimum set of coordinates necessary for the task to function. More...
 
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
 
virtual casacore::Bool _supportsMultipleBeams () const
 does this task support images with multiple beams? false means it never does. More...
 
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
 

Static Protected Member Functions

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)
 

Private Attributes

const SPCIIT _image
 
std::shared_ptr< casacore::LogIO_log
 
const casacore::Record *const _regionPtr
 
casacore::Record _regionRecord
 
casacore::String _region
 
casacore::String _box
 
casacore::String _chan
 
casacore::String _stokesString
 
casacore::String _mask
 
casacore::String _outname
 
casacore::Bool _overwrite
 
casacore::Bool _stretch
 
casacore::Bool _logfileAppend
 
casacore::Bool _suppressHistory
 
casacore::Bool _dropDegen
 
std::unique_ptr
< casacore::FiledesIO
_logFileIO
 
Verbosity _verbosity
 
std::shared_ptr< LogFile_logfile
 
std::vector< std::pair
< casacore::String,
casacore::String > > 
_newHistory
 
C11Timer _timer
 

Detailed Description

template<class T>
class casa::ImageTask< T >

Definition at line 27 of file ImageTask.h.

Member Enumeration Documentation

template<class T>
enum casa::ImageTask::Verbosity

Virtual base class for image analysis tasks.

Etymology

Image tasking

Synopsis

Virtual base class for image tasking.verbosity levels

Enumerator
QUIET 
WHISPER 
LOW 
NORMAL 
HIGH 
NOISY 
DEAFENING 

Definition at line 50 of file ImageTask.h.

Constructor & Destructor Documentation

template<class T>
virtual casa::ImageTask< T >::~ImageTask ( )
virtual
template<class T>
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 
)
protected

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

template<class T>
casa::ImageTask< T >::ImageTask ( const SPCIIT  image,
const casacore::Record *const &  regionPtr,
const casacore::String mask,
const casacore::String outname,
casacore::Bool  overwrite 
)
protected

Member Function Documentation

template<class T>
void casa::ImageTask< T >::_closeLogfile ( ) const
protected
template<class T>
virtual void casa::ImageTask< T >::_construct ( casacore::Bool  verbose = true)
protectedvirtual

does the lion's share of constructing the object, ie checks validity of inputs, etc.

template<class T>
static void casa::ImageTask< T >::_copyData ( casacore::Lattice< T > &  data,
const casacore::Lattice< T > &  image 
)
staticprotected
template<class T>
static void casa::ImageTask< T >::_copyMask ( casacore::Lattice< casacore::Bool > &  mask,
const casacore::ImageInterface< T > &  image 
)
staticprotected
template<class T>
template<class U >
void casa::ImageTask< T >::_doHistory ( std::shared_ptr< casacore::ImageInterface< U >> &  image) const
protected
template<class T>
const casacore::String& casa::ImageTask< T >::_getChans ( ) const
inlineprotected

Definition at line 146 of file ImageTask.h.

template<class T>
casacore::Bool casa::ImageTask< T >::_getDropDegen ( ) const
inlineprotected

Definition at line 232 of file ImageTask.h.

template<class T>
const SPCIIT casa::ImageTask< T >::_getImage ( ) const
inlineprotected

Definition at line 136 of file ImageTask.h.

template<class T>
const std::shared_ptr<casacore::LogIO> casa::ImageTask< T >::_getLog ( ) const
inlineprotected

Definition at line 167 of file ImageTask.h.

template<class T>
const std::shared_ptr<LogFile> casa::ImageTask< T >::_getLogFile ( ) const
protected
template<class T>
const casacore::String& casa::ImageTask< T >::_getMask ( ) const
inlineprotected

Definition at line 138 of file ImageTask.h.

template<class T>
virtual std::vector<casacore::Coordinate::Type> casa::ImageTask< T >::_getNecessaryCoordinates ( ) const
protectedpure virtual
template<class T>
const casacore::String& casa::ImageTask< T >::_getOutname ( ) const
inlineprotected

Definition at line 148 of file ImageTask.h.

template<class T>
virtual std::vector<OutputDestinationChecker::OutputStruct> casa::ImageTask< T >::_getOutputStruct ( )
protectedvirtual
template<class T>
casacore::Bool casa::ImageTask< T >::_getOverwrite ( ) const
inlineprotected

Definition at line 228 of file ImageTask.h.

template<class T>
const casacore::Record* casa::ImageTask< T >::_getRegion ( ) const
inlineprotected

Definition at line 140 of file ImageTask.h.

template<class T>
const casacore::String& casa::ImageTask< T >::_getStokes ( ) const
inlineprotected

Definition at line 144 of file ImageTask.h.

template<class T>
virtual CasacRegionManager::StokesControl casa::ImageTask< T >::_getStokesControl ( ) const
protectedpure virtual
template<class T>
casacore::Bool casa::ImageTask< T >::_getStretch ( ) const
inlineprotected

Definition at line 173 of file ImageTask.h.

template<class T>
Bool casa::ImageTask< T >::_getSuppressHistory ( ) const
inlineprotected

Definition at line 175 of file ImageTask.h.

template<class T>
Verbosity casa::ImageTask< T >::_getVerbosity ( ) const
inlineprotected

Definition at line 226 of file ImageTask.h.

template<class T>
virtual casacore::Bool casa::ImageTask< T >::_hasLogfileSupport ( ) const
inlineprotectedvirtual

by default, derived classes are configured to have no log file support.

Reimplemented in casa::ImageProfileFitter, casa::PixelValueManipulator< T >, casa::ImageFitter< T >, and casa::ImageStatsCalculator< T >.

Definition at line 171 of file ImageTask.h.

template<class T>
casacore::Bool casa::ImageTask< T >::_isPVImage ( ) const
protected

Is the attached image a position-velocity (PV) image?

template<class T>
virtual casacore::Bool casa::ImageTask< T >::_mustHaveSquareDirectionPixels ( ) const
inlineprotectedvirtual

Reimplemented in casa::PVGenerator, and casa::StatImageCreator.

Definition at line 230 of file ImageTask.h.

template<class T>
casacore::Bool casa::ImageTask< T >::_openLogfile ( )
protected
template<class T>
SPIIT casa::ImageTask< T >::_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
protected

If outname != NULL, use the value supplied.

If is NULL, use the value of _outname. Create a casacore::TempImage or casacore::PagedImage depending if outname/_outname is empty or not. Generally meant for the image to be returned to the UI or the final image product that the user will want. values=0 => the pixel values from the image will be used mask=0 => the mask attached to the image, if any will be used, outShape=0 => use image shape, coordsys=0 => use image coordinate system. overwrite is only used if outname != NULL.

template<class T>
SPIIT casa::ImageTask< T >::_prepareOutputImage ( const casacore::ImageInterface< T > &  image,
casacore::Bool  dropDegen = false 
) const
protected
template<class T>
SPIIT casa::ImageTask< T >::_prepareOutputImage ( const casacore::ImageInterface< T > &  image,
const casacore::String outname,
casacore::Bool  overwrite,
casacore::Bool  warnOnly 
) const
protected

if warnOnly is true, only log a warning message if the file exists and overwrite is true, else throw an excepction

template<class T>
SPIIT casa::ImageTask< T >::_prepareOutputImage ( const casacore::ImageInterface< T > &  image,
const casacore::Lattice< T > &  data 
) const
protected

data are copied to the output image from the data lattice.

The mask is copied from the input image.

template<class T>
void casa::ImageTask< T >::_removeExistingFileIfNecessary ( const casacore::String filename,
const casacore::Bool  overwrite,
casacore::Bool  warnOnly = false 
) const
protected

if warnOnly is true, log a warning message if file exists and overwrite is true, else throw an exception.

template<class T>
void casa::ImageTask< T >::_removeExistingOutfileIfNecessary ( ) const
protected
template<class T>
void casa::ImageTask< T >::_reportOldNewImageShapes ( const ImageInterface< T > &  out) const
protected
template<class T>
void casa::ImageTask< T >::_reportOldNewImageShapes ( const IPosition outShape) const
protected
template<class T>
void casa::ImageTask< T >::_setStokes ( const casacore::String stokes)
inlineprotected

Definition at line 142 of file ImageTask.h.

template<class T>
casacore::String casa::ImageTask< T >::_summaryHeader ( ) const
protected
template<class T>
virtual casacore::Bool casa::ImageTask< 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 in casa::ImageSourceFinder< T >, casa::ImageMomentsTask< T >, casa::StatImageCreator, casa::Image1DSmoother< T >, casa::ImageDecimator< T >, casa::TwoPointCorrelator< T >, casa::ImageDecomposerTask< T >, and casa::ImageMaxFitter< T >.

Definition at line 193 of file ImageTask.h.

template<class T>
virtual casacore::Bool casa::ImageTask< T >::_supportsMultipleRegions ( ) const
inlineprotectedvirtual
template<class T>
casacore::Bool casa::ImageTask< T >::_writeLogfile ( const casacore::String output,
const casacore::Bool  open = true,
const casacore::Bool  close = true 
)
protected
template<class T>
void casa::ImageTask< T >::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().

They will be located immediately after the input image's copied history. The first value in the pair is the log origin. The second is the associated message. If this method is called more than once on the same object, messages from subsequent calls are appended to the end of messages set in prior calls.

template<class T>
void casa::ImageTask< T >::addHistory ( const casacore::LogOrigin origin,
const casacore::String msg 
) const
template<class T>
void casa::ImageTask< T >::addHistory ( const casacore::LogOrigin origin,
const std::vector< casacore::String > &  msgs 
) const
template<class T>
void casa::ImageTask< T >::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.

The vectors must have the same length

template<class T>
virtual casacore::String casa::ImageTask< T >::getClass ( ) const
pure virtual
template<class T>
std::vector<std::pair<casacore::String, casacore::String> > casa::ImageTask< T >::getHistory ( )
inline

get the history associated with the task.

Does not include the history of the input image.

Definition at line 104 of file ImageTask.h.

template<class T>
void casa::ImageTask< T >::setDropDegen ( casacore::Bool  d)
inline

Definition at line 106 of file ImageTask.h.

template<class T>
void casa::ImageTask< T >::setLogfile ( const casacore::String lf)

tacitly does nothing if lf is the empty string.

template<class T>
void casa::ImageTask< T >::setLogfileAppend ( const casacore::Bool  a)
template<class T>
void casa::ImageTask< T >::setMask ( const casacore::String mask)
inline

Definition at line 73 of file ImageTask.h.

template<class T>
void casa::ImageTask< T >::setRegion ( const casacore::Record region)
template<class T>
void casa::ImageTask< T >::setStretch ( const casacore::Bool  stretch)
inline

Definition at line 64 of file ImageTask.h.

template<class T>
void casa::ImageTask< T >::setVerbosity ( Verbosity  verbosity)
inline

Definition at line 75 of file ImageTask.h.

template<class T>
void casa::ImageTask< T >::suppressHistoryWriting ( casacore::Bool  b)
inline

suppress writing the history on _prepareOutputImage() call.

Useful for not writing history to intermediate image products.

Definition at line 100 of file ImageTask.h.

Member Data Documentation

template<class T>
casacore::String casa::ImageTask< T >::_box
private

Definition at line 250 of file ImageTask.h.

template<class T>
casacore::String casa::ImageTask< T >::_chan
private

Definition at line 251 of file ImageTask.h.

Referenced by casa::ImageTask< casacore::Float >::_getChans().

template<class T>
casacore::Bool casa::ImageTask< T >::_dropDegen
private
template<class T>
const SPCIIT casa::ImageTask< T >::_image
private

Definition at line 245 of file ImageTask.h.

Referenced by casa::ImageTask< casacore::Float >::_getImage().

template<class T>
std::shared_ptr<casacore::LogIO> casa::ImageTask< T >::_log
mutableprivate

Definition at line 246 of file ImageTask.h.

Referenced by casa::ImageTask< casacore::Float >::_getLog().

template<class T>
std::shared_ptr<LogFile> casa::ImageTask< T >::_logfile
private

Definition at line 262 of file ImageTask.h.

template<class T>
casacore::Bool casa::ImageTask< T >::_logfileAppend
private

Definition at line 257 of file ImageTask.h.

template<class T>
std::unique_ptr<casacore::FiledesIO> casa::ImageTask< T >::_logFileIO
private

Definition at line 260 of file ImageTask.h.

template<class T>
casacore::String casa::ImageTask< T >::_mask
private
template<class T>
std::vector<std::pair<casacore::String, casacore::String> > casa::ImageTask< T >::_newHistory
mutableprivate

Definition at line 263 of file ImageTask.h.

Referenced by casa::ImageTask< casacore::Float >::getHistory().

template<class T>
casacore::String casa::ImageTask< T >::_outname
private

Definition at line 254 of file ImageTask.h.

Referenced by casa::ImageTask< casacore::Float >::_getOutname().

template<class T>
casacore::Bool casa::ImageTask< T >::_overwrite
private

Definition at line 255 of file ImageTask.h.

Referenced by casa::ImageTask< casacore::Float >::_getOverwrite().

template<class T>
casacore::String casa::ImageTask< T >::_region
private

Definition at line 249 of file ImageTask.h.

template<class T>
const casacore::Record* const casa::ImageTask< T >::_regionPtr
private

Definition at line 247 of file ImageTask.h.

template<class T>
casacore::Record casa::ImageTask< T >::_regionRecord
private

Definition at line 248 of file ImageTask.h.

Referenced by casa::ImageTask< casacore::Float >::_getRegion().

template<class T>
casacore::String casa::ImageTask< T >::_stokesString
private
template<class T>
casacore::Bool casa::ImageTask< T >::_stretch
private
template<class T>
casacore::Bool casa::ImageTask< T >::_suppressHistory
private
template<class T>
C11Timer casa::ImageTask< T >::_timer
mutableprivate

Definition at line 265 of file ImageTask.h.

template<class T>
Verbosity casa::ImageTask< T >::_verbosity
private

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