CARTA Backend
The backend component of CARTA
Loading...
Searching...
No Matches
carta::Image2DConvolver< T > Class Template Reference

#include <Image2DConvolver.h>

Inheritance diagram for carta::Image2DConvolver< T >:
[legend]
Collaboration diagram for carta::Image2DConvolver< T >:
[legend]

Public Member Functions

 Image2DConvolver ()=delete
 
 Image2DConvolver (const SPCIIT image, const casacore::Record *const &regionPtr, const casacore::String &mask, const casacore::String &outname, const casacore::Bool overwrite, casa::ImageMomentsProgress *progress_monitor)
 
 Image2DConvolver (const Image2DConvolver< T > &other)=delete
 
 ~Image2DConvolver ()
 
Image2DConvolveroperator= (const Image2DConvolver< T > &other)=delete
 
SPIIT convolve ()
 
void setKernel (const casacore::String &type, const casacore::Quantity &major, const casacore::Quantity &minor, const casacore::Quantity &pa)
 
void setScale (casacore::Double d)
 
void setAxes (const std::pair< casacore::uInt, casacore::uInt > &axes)
 
void setTargetRes (casacore::Bool b)
 
casacore::String getClass () const
 
void StopCalculation ()
 
casacore::uInt GetTotalSteps ()
 

Static Public Attributes

static const casacore::String CLASS_NAME
 

Protected Member Functions

casa::CasacRegionManager::StokesControl _getStokesControl () const
 
std::vector< casacore::Coordinate::Type > _getNecessaryCoordinates () const
 
casacore::Bool _supportsMultipleRegions () const
 

Private Member Functions

void _checkKernelParameters (casacore::VectorKernel::KernelTypes kernelType, const casacore::Vector< casacore::Quantity > &parameters) const
 
void _convolve (SPIIT imageOut, const casacore::ImageInterface< T > &imageIn, casacore::VectorKernel::KernelTypes kernelType) const
 
Double _dealWithRestoringBeam (casacore::String &brightnessUnitOut, casacore::GaussianBeam &beamOut, const casacore::Array< Double > &kernelArray, Double kernelVolume, const casacore::VectorKernel::KernelTypes kernelType, const casacore::Vector< casacore::Quantity > &parameters, const casacore::CoordinateSystem &cSys, const casacore::GaussianBeam &beamIn, const casacore::Unit &brightnessUnit, casacore::Bool emitMessage) const
 
void _doMultipleBeams (ImageInfo &iiOut, Double &kernelVolume, SPIIT imageOut, String &brightnessUnitOut, GaussianBeam &beamOut, Double factor1, const ImageInterface< T > &imageIn, const std::vector< Quantity > &originalParms, std::vector< Quantity > &kernelParms, Array< Double > &kernel, VectorKernel::KernelTypes kernelType, Bool logFactors, Double pixelArea) const
 
void _doSingleBeam (ImageInfo &iiOut, Double &kernelVolume, std::vector< Quantity > &kernelParms, Array< Double > &kernel, String &brightnessUnitOut, GaussianBeam &beamOut, SPIIT imageOut, const ImageInterface< T > &imageIn, const std::vector< Quantity > &originalParms, VectorKernel::KernelTypes kernelType, Bool logFactors, Double factor1, Double pixelArea) const
 
Double _fillKernel (casacore::Matrix< Double > &kernelMatrix, casacore::VectorKernel::KernelTypes kernelType, const casacore::IPosition &kernelShape, const casacore::Vector< casacore::Double > &parameters) const
 
void _fillGaussian (Double &maxVal, Double &volume, casacore::Matrix< Double > &pixels, Double height, Double xCentre, Double yCentre, Double majorAxis, Double ratio, Double positionAngle) const
 
Double _makeKernel (casacore::Array< Double > &kernel, casacore::VectorKernel::KernelTypes kernelType, const std::vector< casacore::Quantity > &parameters, const casacore::ImageInterface< T > &inImage) const
 
casacore::IPosition _shapeOfKernel (const casacore::VectorKernel::KernelTypes kernelType, const casacore::Vector< casacore::Double > &parameters, const casacore::uInt ndim) const
 
casacore::uInt _sizeOfGaussian (const casacore::Double width, const casacore::Double nSigma) const
 
std::vector< casacore::Quantity > _getConvolvingBeamForTargetResolution (const std::vector< casacore::Quantity > &targetBeamParms, const casacore::GaussianBeam &inputBeam) const
 
void _logBeamInfo (const ImageInfo &imageInfo, const String &desc) const
 

Private Attributes

casacore::VectorKernel::KernelTypes _type
 
casacore::Double _scale
 
casacore::Quantity _major
 
casacore::Quantity _minor
 
casacore::Quantity _pa
 
casacore::IPosition _axes
 
casacore::Bool _targetres = casacore::False
 
volatile bool _stop
 
casa::ImageMomentsProgress * _progress_monitor
 
casacore::uInt _total_steps = 0
 

Constructor & Destructor Documentation

◆ Image2DConvolver() [1/3]

template<class T >
carta::Image2DConvolver< T >::Image2DConvolver ( )
delete

◆ Image2DConvolver() [2/3]

template<class T >
carta::Image2DConvolver< T >::Image2DConvolver ( const SPCIIT  image,
const casacore::Record *const &  regionPtr,
const casacore::String &  mask,
const casacore::String &  outname,
const casacore::Bool  overwrite,
casa::ImageMomentsProgress *  progress_monitor 
)

◆ Image2DConvolver() [3/3]

template<class T >
carta::Image2DConvolver< T >::Image2DConvolver ( const Image2DConvolver< T > &  other)
delete

◆ ~Image2DConvolver()

template<class T >
carta::Image2DConvolver< T >::~Image2DConvolver ( )
inline

Member Function Documentation

◆ _checkKernelParameters()

template<class T >
void carta::Image2DConvolver< T >::_checkKernelParameters ( casacore::VectorKernel::KernelTypes  kernelType,
const casacore::Vector< casacore::Quantity > &  parameters 
) const
private

◆ _convolve()

template<class T >
void carta::Image2DConvolver< T >::_convolve ( SPIIT  imageOut,
const casacore::ImageInterface< T > &  imageIn,
casacore::VectorKernel::KernelTypes  kernelType 
) const
private

◆ _dealWithRestoringBeam()

template<class T >
Double carta::Image2DConvolver< T >::_dealWithRestoringBeam ( casacore::String &  brightnessUnitOut,
casacore::GaussianBeam &  beamOut,
const casacore::Array< Double > &  kernelArray,
Double  kernelVolume,
const casacore::VectorKernel::KernelTypes  kernelType,
const casacore::Vector< casacore::Quantity > &  parameters,
const casacore::CoordinateSystem &  cSys,
const casacore::GaussianBeam &  beamIn,
const casacore::Unit &  brightnessUnit,
casacore::Bool  emitMessage 
) const
private

◆ _doMultipleBeams()

template<class T >
void carta::Image2DConvolver< T >::_doMultipleBeams ( ImageInfo &  iiOut,
Double &  kernelVolume,
SPIIT  imageOut,
String &  brightnessUnitOut,
GaussianBeam &  beamOut,
Double  factor1,
const ImageInterface< T > &  imageIn,
const std::vector< Quantity > &  originalParms,
std::vector< Quantity > &  kernelParms,
Array< Double > &  kernel,
VectorKernel::KernelTypes  kernelType,
Bool  logFactors,
Double  pixelArea 
) const
private

◆ _doSingleBeam()

template<class T >
void carta::Image2DConvolver< T >::_doSingleBeam ( ImageInfo &  iiOut,
Double &  kernelVolume,
std::vector< Quantity > &  kernelParms,
Array< Double > &  kernel,
String &  brightnessUnitOut,
GaussianBeam &  beamOut,
SPIIT  imageOut,
const ImageInterface< T > &  imageIn,
const std::vector< Quantity > &  originalParms,
VectorKernel::KernelTypes  kernelType,
Bool  logFactors,
Double  factor1,
Double  pixelArea 
) const
private

◆ _fillGaussian()

template<class T >
void carta::Image2DConvolver< T >::_fillGaussian ( Double &  maxVal,
Double &  volume,
casacore::Matrix< Double > &  pixels,
Double  height,
Double  xCentre,
Double  yCentre,
Double  majorAxis,
Double  ratio,
Double  positionAngle 
) const
private

◆ _fillKernel()

template<class T >
Double carta::Image2DConvolver< T >::_fillKernel ( casacore::Matrix< Double > &  kernelMatrix,
casacore::VectorKernel::KernelTypes  kernelType,
const casacore::IPosition &  kernelShape,
const casacore::Vector< casacore::Double > &  parameters 
) const
private

◆ _getConvolvingBeamForTargetResolution()

template<class T >
std::vector< casacore::Quantity > carta::Image2DConvolver< T >::_getConvolvingBeamForTargetResolution ( const std::vector< casacore::Quantity > &  targetBeamParms,
const casacore::GaussianBeam &  inputBeam 
) const
private

◆ _getNecessaryCoordinates()

template<class T >
std::vector< casacore::Coordinate::Type > carta::Image2DConvolver< T >::_getNecessaryCoordinates ( ) const
inlineprotected

◆ _getStokesControl()

template<class T >
casa::CasacRegionManager::StokesControl carta::Image2DConvolver< T >::_getStokesControl ( ) const
inlineprotected

◆ _logBeamInfo()

template<class T >
void carta::Image2DConvolver< T >::_logBeamInfo ( const ImageInfo &  imageInfo,
const String &  desc 
) const
private

◆ _makeKernel()

template<class T >
Double carta::Image2DConvolver< T >::_makeKernel ( casacore::Array< Double > &  kernel,
casacore::VectorKernel::KernelTypes  kernelType,
const std::vector< casacore::Quantity > &  parameters,
const casacore::ImageInterface< T > &  inImage 
) const
private

◆ _shapeOfKernel()

template<class T >
casacore::IPosition carta::Image2DConvolver< T >::_shapeOfKernel ( const casacore::VectorKernel::KernelTypes  kernelType,
const casacore::Vector< casacore::Double > &  parameters,
const casacore::uInt  ndim 
) const
private

◆ _sizeOfGaussian()

template<class T >
casacore::uInt carta::Image2DConvolver< T >::_sizeOfGaussian ( const casacore::Double  width,
const casacore::Double  nSigma 
) const
private

◆ _supportsMultipleRegions()

template<class T >
casacore::Bool carta::Image2DConvolver< T >::_supportsMultipleRegions ( ) const
inlineprotected

◆ convolve()

template<class T >
SPIIT carta::Image2DConvolver< T >::convolve ( )

◆ getClass()

template<class T >
casacore::String carta::Image2DConvolver< T >::getClass ( ) const
inline

◆ GetTotalSteps()

template<class T >
casacore::uInt carta::Image2DConvolver< T >::GetTotalSteps ( )
inline

◆ operator=()

template<class T >
Image2DConvolver & carta::Image2DConvolver< T >::operator= ( const Image2DConvolver< T > &  other)
delete

◆ setAxes()

template<class T >
void carta::Image2DConvolver< T >::setAxes ( const std::pair< casacore::uInt, casacore::uInt > &  axes)

◆ setKernel()

template<class T >
void carta::Image2DConvolver< T >::setKernel ( const casacore::String &  type,
const casacore::Quantity &  major,
const casacore::Quantity &  minor,
const casacore::Quantity &  pa 
)

◆ setScale()

template<class T >
void carta::Image2DConvolver< T >::setScale ( casacore::Double  d)
inline

◆ setTargetRes()

template<class T >
void carta::Image2DConvolver< T >::setTargetRes ( casacore::Bool  b)
inline

◆ StopCalculation()

template<class T >
void carta::Image2DConvolver< T >::StopCalculation ( )

Member Data Documentation

◆ _axes

template<class T >
casacore::IPosition carta::Image2DConvolver< T >::_axes
private

◆ _major

template<class T >
casacore::Quantity carta::Image2DConvolver< T >::_major
private

◆ _minor

template<class T >
casacore::Quantity carta::Image2DConvolver< T >::_minor
private

◆ _pa

template<class T >
casacore::Quantity carta::Image2DConvolver< T >::_pa
private

◆ _progress_monitor

template<class T >
casa::ImageMomentsProgress* carta::Image2DConvolver< T >::_progress_monitor
private

◆ _scale

template<class T >
casacore::Double carta::Image2DConvolver< T >::_scale
private

◆ _stop

template<class T >
volatile bool carta::Image2DConvolver< T >::_stop
private

◆ _targetres

template<class T >
casacore::Bool carta::Image2DConvolver< T >::_targetres = casacore::False
private

◆ _total_steps

template<class T >
casacore::uInt carta::Image2DConvolver< T >::_total_steps = 0
mutableprivate

◆ _type

template<class T >
casacore::VectorKernel::KernelTypes carta::Image2DConvolver< T >::_type
private

◆ CLASS_NAME

template<class T >
const casacore::String carta::Image2DConvolver< T >::CLASS_NAME
static

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