28 #ifndef IMAGES_IMAGE2DCONVOLVER_H
29 #define IMAGES_IMAGE2DCONVOLVER_H
41 template <
class T>
class Matrix;
42 template <
class T>
class Vector;
124 void setAxes(
const std::pair<casacore::uInt, casacore::uInt>& axes);
141 return std::vector<casacore::Coordinate::Type>();
187 ImageInfo& iiOut,
Double& kernelVolume, std::vector<Quantity>& kernelParms,
190 const std::vector<Quantity>& originalParms,
211 const std::vector<casacore::Quantity>& parameters,
226 const std::vector<casacore::Quantity>& targetBeamParms,
239 #ifndef CASACORE_NO_AUTO_TEMPLATES
240 #include <imageanalysis/ImageAnalysis/Image2DConvolver.tcc>
241 #endif //# CASACORE_NO_AUTO_TEMPLATES
void _log(const String &msg, LogIO::Command priority) const
casacore::uInt _sizeOfGaussian(const casacore::Double width, const casacore::Double nSigma) const
A Vector of integers, for indexing into Array<T> objects.
This class does 2D convolution of an image by a functional form.
A 1-D Specialization of the Array class.
casacore::Bool _supportsMultipleRegions() const
void setScale(casacore::Double d)
LatticeExprNode mask(const LatticeExprNode &expr)
This function returns the mask of the given expression.
void _fillGaussian(Double &maxVal, Double &volume, casacore::Matrix< Double > &pixels, Double height, Double xCentre, Double yCentre, Double majorAxis, Double ratio, Double positionAngle) const
virtual Type type()
Return the type enum.
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 > ¶meters, const casacore::CoordinateSystem &cSys, const casacore::GaussianBeam &beamIn, const casacore::Unit &brightnessUnit, casacore::Bool emitMessage) const
returns the value by which pixel values will be scaled
casacore::IPosition _axes
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
Command
Special commands to the LogIO object.
casacore::IPosition _shapeOfKernel(const casacore::VectorKernel::KernelTypes kernelType, const casacore::Vector< casacore::Double > ¶meters, const casacore::uInt ndim) const
Double _makeKernel(casacore::Array< Double > &kernel, casacore::VectorKernel::KernelTypes kernelType, const std::vector< casacore::Quantity > ¶meters, const casacore::ImageInterface< T > &inImage) const
A 2-D Specialization of the Array class.
Represents a Gaussian restoring beam associated with an image.
void _convolve(SPIIT imageOut, const casacore::ImageInterface< T > &imageIn, casacore::VectorKernel::KernelTypes kernelType) const
Image2DConvolver & operator=(const Image2DConvolver< T > &other)=delete
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
The kernel is currently always real-valued, so make it Double at this point to avoid unnecessary temp...
std::vector< casacore::Quantity > _getConvolvingBeamForTargetResolution(const std::vector< casacore::Quantity > &targetBeamParms, const casacore::GaussianBeam &inputBeam) const
void setSuppressWarnings(casacore::Bool b)
if true, do not log certain info/warning messages which would normally be logged during convolution ...
LatticeExprNode pa(const LatticeExprNode &left, const LatticeExprNode &right)
This function finds 180/pi*atan2(left,right)/2.
A base class for astronomical images.
void _logBeamInfo(const ImageInfo &imageInfo, const String &desc) const
casacore::Bool _suppressWarnings
Double _fillKernel(casacore::Matrix< Double > &kernelMatrix, casacore::VectorKernel::KernelTypes kernelType, const casacore::IPosition &kernelShape, const casacore::Vector< casacore::Double > ¶meters) const
void _checkKernelParameters(casacore::VectorKernel::KernelTypes kernelType, const casacore::Vector< casacore::Quantity > ¶meters) const
LatticeExprNode ndim(const LatticeExprNode &expr)
1-argument function to get the dimensionality of a lattice.
casacore::Quantity _minor
void setKernel(const casacore::String &type, const casacore::Quantity &major, const casacore::Quantity &minor, const casacore::Quantity &pa)
type is a string that starts with "g" (gaussian), "b" (boxcar), or "h" (hanning), and is case insensi...
A hierarchical collection of named fields of various types.
bool Bool
Define the standard types used by Casacore.
std::vector< casacore::Coordinate::Type > _getNecessaryCoordinates() const
Represents the minimum set of coordinates necessary for the task to function.
void setTargetRes(casacore::Bool b)
casacore::VectorKernel::KernelTypes _type
static const casacore::String CLASS_NAME
Image2DConvolver()=delete
casacore::String getClass() const
casacore::Bool _targetres
String: the storage and methods of handling collections of characters.
CasacRegionManager::StokesControl _getStokesControl() const
Miscellaneous information related to an image.
void setAxes(const std::pair< casacore::uInt, casacore::uInt > &axes)
casacore::Quantity _major
Interconvert pixel and world coordinates.
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.