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

#include <ImageRegridder.h>

Inheritance diagram for casa::ImageRegridder< T >:
casa::ImageRegridderBase< T > casa::ImageTask< T >

Public Member Functions

 ImageRegridder ()=delete
 Top level interface which regrids an image to a specified coordinate system. More...
 
 ImageRegridder (const SPCIIT image, const casacore::Record *const regionRec, const casacore::String &maskInp, const casacore::String &outname, casacore::Bool overwrite, const casacore::CoordinateSystem &csysTo, const casacore::IPosition &axes, const casacore::IPosition &shape)
 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...
 
 ImageRegridder (const SPCIIT image, const casacore::String &outname, const SPCIIT templateIm, const casacore::IPosition &axes=casacore::IPosition(), const casacore::Record *const regionRec=0, const casacore::String &maskInp="", casacore::Bool overwrite=false, const casacore::IPosition &shape=casacore::IPosition())
 FIXME Add support to allow image and templateIm to be of different data types. More...
 
 ~ImageRegridder ()
 destructor More...
 
SPIIT regrid () const
 perform the regrid. More...
 
casacore::String getClass () const
 
void setDebug (casacore::Int debug)
 
- Public Member Functions inherited from casa::ImageRegridderBase< T >
 ImageRegridderBase ()=delete
 
virtual ~ImageRegridderBase ()
 destructor More...
 
void setSpecAsVelocity (casacore::Bool v)
 regrid the spectral axis in velocity space rather than frequency space? More...
 
void setMethod (const casacore::String &method)
 Set interpolation method. More...
 
void setMethod (casacore::Interpolate2D::Method method)
 
void setDoRefChange (casacore::Bool d)
 
void setReplicate (casacore::Bool r)
 
void setDecimate (casacore::Int d)
 throws exception if 3*decimate > length of an axis that will be regridded More...
 
void setForceRegrid (casacore::Bool f)
 
void setShape (const casacore::IPosition s)
 
template<class U >
void setConfiguration (const ImageRegridderBase< U > &that)
 
- 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)
 

Private Member Functions

SPIIT _regrid () const
 
SPIIT _regridByVelocity () const
 
casacore::Bool _doImagesOverlap (SPCIIT image0, SPCIIT image1) const
 
void _checkOutputShape (const casacore::SubImage< T > &subImage, const std::set< casacore::Coordinate::Type > &coordsToRegrid) const
 
SPIIT _decimateStokes (SPIIT workIm) const
 

Static Private Member Functions

static casacore::Vector
< std::pair< casacore::Double,
casacore::Double > > 
_getDirectionCorners (const casacore::DirectionCoordinate &dc, const casacore::IPosition &directionShape)
 
static casacore::Bool _doRectanglesIntersect (const casacore::Vector< std::pair< casacore::Double, casacore::Double > > &corners0, const casacore::Vector< std::pair< casacore::Double, casacore::Double > > &corners1)
 

Private Attributes

SPIIT _subimage
 
casacore::Int _debug
 

Static Private Attributes

static const casacore::String _class
 

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...
 
- Protected Member Functions inherited from casa::ImageRegridderBase< T >
 ImageRegridderBase (const SPCIIT image, const casacore::Record *const regionRec, const casacore::String &maskInp, const casacore::String &outname, casacore::Bool overwrite, const casacore::CoordinateSystem &csys, const casacore::IPosition &axes, const casacore::IPosition &shape)
 
casacore::Interpolate2D::Method _getMethod () const
 
casacore::Bool _getDoRefChange () const
 
casacore::Bool _getReplicate () const
 
casacore::Int _getDecimate () const
 
casacore::Bool _getForceRegrid () const
 
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 _getSpecAsVelocity () const
 
casacore::IPosition _getShape () const
 
const casacore::CoordinateSystem_getTemplateCoords () const
 
casacore::IPosition _getAxes () const
 
casacore::IPosition _getKludgedShape () const
 
std::vector< casacore::String_getOutputStokes () const
 
casacore::uInt _getNReplicatedChans () const
 
casacore::Bool _regriddingDirectionAxes () 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
 
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 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::ImageRegridder< T >

Definition at line 42 of file ImageRegridder.h.

Constructor & Destructor Documentation

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

Top level interface which regrids an image to a specified coordinate system.

Etymology

Regrids image.

Synopsis

High level interface for regridding an image. Note that in the case of a complex-valued image, the image is first divided into its composite real and imaginary parts, and these parts are regridded independently. The resulting regridded images are combined to form the final regridded complex-valued image.

template<class T >
casa::ImageRegridder< T >::ImageRegridder ( const SPCIIT  image,
const casacore::Record *const  regionRec,
const casacore::String maskInp,
const casacore::String outname,
casacore::Bool  overwrite,
const casacore::CoordinateSystem csysTo,
const casacore::IPosition axes,
const casacore::IPosition shape 
)

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::ImageRegridder< T >::ImageRegridder ( const SPCIIT  image,
const casacore::String outname,
const SPCIIT  templateIm,
const casacore::IPosition axes = casacore::IPosition(),
const casacore::Record *const  regionRec = 0,
const casacore::String maskInp = "",
casacore::Bool  overwrite = false,
const casacore::IPosition shape = casacore::IPosition() 
)

FIXME Add support to allow image and templateIm to be of different data types.

template<class T >
casa::ImageRegridder< T >::~ImageRegridder ( )

destructor

Member Function Documentation

template<class T >
void casa::ImageRegridder< T >::_checkOutputShape ( const casacore::SubImage< T > &  subImage,
const std::set< casacore::Coordinate::Type > &  coordsToRegrid 
) const
private
template<class T >
SPIIT casa::ImageRegridder< T >::_decimateStokes ( SPIIT  workIm) const
private
template<class T >
casacore::Bool casa::ImageRegridder< T >::_doImagesOverlap ( SPCIIT  image0,
SPCIIT  image1 
) const
private
template<class T >
static casacore::Bool casa::ImageRegridder< T >::_doRectanglesIntersect ( const casacore::Vector< std::pair< casacore::Double, casacore::Double > > &  corners0,
const casacore::Vector< std::pair< casacore::Double, casacore::Double > > &  corners1 
)
staticprivate
template<class T >
static casacore::Vector<std::pair<casacore::Double, casacore::Double> > casa::ImageRegridder< T >::_getDirectionCorners ( const casacore::DirectionCoordinate dc,
const casacore::IPosition directionShape 
)
staticprivate
template<class T >
SPIIT casa::ImageRegridder< T >::_regrid ( ) const
private
template<class T >
SPIIT casa::ImageRegridder< T >::_regridByVelocity ( ) const
private
template<class T >
casacore::String casa::ImageRegridder< T >::getClass ( ) const
inlinevirtual

Implements casa::ImageTask< T >.

Definition at line 101 of file ImageRegridder.h.

References casa::ImageRegridder< T >::_class.

template<class T >
SPIIT casa::ImageRegridder< T >::regrid ( ) const
virtual

perform the regrid.

Implements casa::ImageRegridderBase< T >.

template<class T >
void casa::ImageRegridder< T >::setDebug ( casacore::Int  debug)
inline

Definition at line 103 of file ImageRegridder.h.

References casa::ImageRegridder< T >::_debug, and debug.

Member Data Documentation

template<class T >
const casacore::String casa::ImageRegridder< T >::_class
staticprivate

Definition at line 108 of file ImageRegridder.h.

Referenced by casa::ImageRegridder< T >::getClass().

template<class T >
casacore::Int casa::ImageRegridder< T >::_debug
private

Definition at line 107 of file ImageRegridder.h.

Referenced by casa::ImageRegridder< T >::setDebug().

template<class T >
SPIIT casa::ImageRegridder< T >::_subimage
mutableprivate

Definition at line 106 of file ImageRegridder.h.


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