Class that contains functions needed for feathering. More...
#include <Feather.h>
Public Member Functions | |
Feather () | |
default constructor | |
Feather (const ImageInterface< Float > &SDImage, const ImageInterface< Float > &INTImage, Float sdScale=1.0) | |
Constructor. | |
virtual | ~Feather () |
Destructor. | |
void | clearWeightFlags () |
Clear the weight flags. | |
void | setSDScale (Float sdscale=1.0) |
set the SDimage and Int images | |
void | setSDImage (const ImageInterface< Float > &SDImage) |
void | setINTImage (const ImageInterface< Float > &IntImage) |
Bool | setEffectiveDishDiam (const Float xdiam, const Float ydiam=-1.0) |
set and get effective dish diameter to be used in feathering function setEffectiveDishDiam will return False if you are trying to assign a finer resolution than what the original data came with | |
void | getEffectiveDishDiam (Float &xdiam, Float &ydiam) |
void | getFTCutSDImage (Vector< Float > &ux, Vector< Float > &xamp, Vector< Float > &uy, Vector< Float > &yamp, const Bool radial=False) |
Get the 1-D slices of amplitude along the x and y axis of the FFT of images if radial is set to True then the 1D slice is the the circular average rather that X and Y cuts...only the x-values are valid then Note the SD image is already feathered by its beam..you cannot get unfeathered SD data as it implies deconvolution. | |
void | getFTCutIntImage (Vector< Float > &ux, Vector< Float > &xamp, Vector< Float > &uy, Vector< Float > &yamp, Bool radial=False) |
void | getFeatherSD (Vector< Float > &ux, Vector< Float > &xamp, Vector< Float > &uy, Vector< Float > &yamp, Bool radial=False, Bool normalize=True) |
Get the 1-D slices of the feathering function that will be applied on SD and INTerf data If normalize=False for the SD then the value for Jy/beam correction to final beam size is multiplied to the function. | |
void | getFeatherINT (Vector< Float > &ux, Vector< Float > &xamp, Vector< Float > &uy, Vector< Float > &yamp, Bool radial=False) |
void | getFeatheredCutSD (Vector< Float > &ux, Vector< Float > &xamp, Vector< Float > &uy, Vector< Float > &yamp, Bool radial=False) |
Get 1-D slices of the feathered data . | |
void | getFeatheredCutINT (Vector< Float > &ux, Vector< Float > &xamp, Vector< Float > &uy, Vector< Float > &yamp, Bool radial=False) |
void | convolveINT (const GaussianBeam &newHighBeam) |
This function convolves the INT image to the new GaussianBeam So the INT image stored in this object is going to be replaced by the new convolved image. | |
Bool | saveFeatheredImage (const String &imagename) |
write the feathered image to disk | |
Static Public Member Functions | |
static void | getCutXY (Vector< Float > &ux, Vector< Float > &xamp, Vector< Float > &uy, Vector< Float > &yamp, const ImageInterface< Float > &image) |
static void | getRadialCut (Vector< Float > &radius, Vector< Float > &radialAmp, const ImageInterface< Float > &image) |
static void | feather (const String &image, const ImageInterface< Float > &high, const ImageInterface< Float > &low, const Float &sdScale=1.0, const String &lowPSF="", const Bool useDefault=True, const String &vpTable="", Float effSDDiam=-1.0, const Bool lowpassfiltersd=False) |
static Double | worldFreq (const CoordinateSystem &cs, Int spectralpix=0) |
Private Member Functions | |
void | fillXVectors (Vector< Float > &ux, Vector< Float > &uy) const |
void | calcCWeightImage () |
void | applyFeather () |
Static Private Member Functions | |
static void | applyDishDiam (ImageInterface< Complex > &image, GaussianBeam &beam, Float effDiam, ImageInterface< Float > &newbeam, Vector< Quantity > &extraconv) |
static void | getCutXY (Vector< Float > &ux, Vector< Float > &xamp, Vector< Float > &uy, Vector< Float > &yamp, ImageInterface< Complex > &ftimage) |
static void | getRadialCut (Vector< Float > &radialAmp, ImageInterface< Complex > &ftimage) |
static void | getLowBeam (const ImageInterface< Float > &low0, const String &lowPSF, const Bool useDefaultPB, const String &vpTableStr, GaussianBeam &lBeam) |
calculate the complex weight image to apply on the interf image | |
static void | getRadialUVval (const Int npix, const IPosition &imshape, const CoordinateSystem &csys, Vector< Float > &radius) |
Private Attributes | |
CountedPtr< ImageInterface < Float > > | lowIm_p |
CountedPtr< ImageInterface < Float > > | lowImOrig_p |
CountedPtr< ImageInterface < Float > > | highIm_p |
CountedPtr< ImageInterface < Complex > > | cwImage_p |
CountedPtr< ImageInterface < Complex > > | cwHighIm_p |
GaussianBeam | hBeam_p |
GaussianBeam | lBeam_p |
GaussianBeam | lBeamOrig_p |
Float | dishDiam_p |
Bool | cweightCalced_p |
Bool | cweightApplied_p |
Float | sdScale_p |
CoordinateSystem | csysHigh_p |
Class that contains functions needed for feathering.
Definition at line 43 of file Feather.h.
casa::Feather::Feather | ( | ) |
default constructor
casa::Feather::Feather | ( | const ImageInterface< Float > & | SDImage, | |
const ImageInterface< Float > & | INTImage, | |||
Float | sdScale = 1.0 | |||
) |
Constructor.
virtual casa::Feather::~Feather | ( | ) | [virtual] |
Destructor.
static void casa::Feather::applyDishDiam | ( | ImageInterface< Complex > & | image, | |
GaussianBeam & | beam, | |||
Float | effDiam, | |||
ImageInterface< Float > & | newbeam, | |||
Vector< Quantity > & | extraconv | |||
) | [static, private] |
void casa::Feather::applyFeather | ( | ) | [private] |
void casa::Feather::calcCWeightImage | ( | ) | [private] |
void casa::Feather::clearWeightFlags | ( | ) |
Clear the weight flags.
Used when changing between the SDimage and the dirty image.
void casa::Feather::convolveINT | ( | const GaussianBeam & | newHighBeam | ) |
This function convolves the INT image to the new GaussianBeam So the INT image stored in this object is going to be replaced by the new convolved image.
static void casa::Feather::feather | ( | const String & | image, | |
const ImageInterface< Float > & | high, | |||
const ImageInterface< Float > & | low, | |||
const Float & | sdScale = 1.0 , |
|||
const String & | lowPSF = "" , |
|||
const Bool | useDefault = True , |
|||
const String & | vpTable = "" , |
|||
Float | effSDDiam = -1.0 , |
|||
const Bool | lowpassfiltersd = False | |||
) | [static] |
void casa::Feather::fillXVectors | ( | Vector< Float > & | ux, | |
Vector< Float > & | uy | |||
) | const [private] |
static void casa::Feather::getCutXY | ( | Vector< Float > & | ux, | |
Vector< Float > & | xamp, | |||
Vector< Float > & | uy, | |||
Vector< Float > & | yamp, | |||
ImageInterface< Complex > & | ftimage | |||
) | [static, private] |
static void casa::Feather::getCutXY | ( | Vector< Float > & | ux, | |
Vector< Float > & | xamp, | |||
Vector< Float > & | uy, | |||
Vector< Float > & | yamp, | |||
const ImageInterface< Float > & | image | |||
) | [static] |
void casa::Feather::getEffectiveDishDiam | ( | Float & | xdiam, | |
Float & | ydiam | |||
) |
void casa::Feather::getFeatheredCutINT | ( | Vector< Float > & | ux, | |
Vector< Float > & | xamp, | |||
Vector< Float > & | uy, | |||
Vector< Float > & | yamp, | |||
Bool | radial = False | |||
) |
void casa::Feather::getFeatheredCutSD | ( | Vector< Float > & | ux, | |
Vector< Float > & | xamp, | |||
Vector< Float > & | uy, | |||
Vector< Float > & | yamp, | |||
Bool | radial = False | |||
) |
Get 1-D slices of the feathered data .
.\. note for SD this should return the same values as getFTCutSDImage
void casa::Feather::getFeatherINT | ( | Vector< Float > & | ux, | |
Vector< Float > & | xamp, | |||
Vector< Float > & | uy, | |||
Vector< Float > & | yamp, | |||
Bool | radial = False | |||
) |
void casa::Feather::getFeatherSD | ( | Vector< Float > & | ux, | |
Vector< Float > & | xamp, | |||
Vector< Float > & | uy, | |||
Vector< Float > & | yamp, | |||
Bool | radial = False , |
|||
Bool | normalize = True | |||
) |
Get the 1-D slices of the feathering function that will be applied on SD and INTerf data If normalize=False for the SD then the value for Jy/beam correction to final beam size is multiplied to the function.
void casa::Feather::getFTCutIntImage | ( | Vector< Float > & | ux, | |
Vector< Float > & | xamp, | |||
Vector< Float > & | uy, | |||
Vector< Float > & | yamp, | |||
Bool | radial = False | |||
) |
void casa::Feather::getFTCutSDImage | ( | Vector< Float > & | ux, | |
Vector< Float > & | xamp, | |||
Vector< Float > & | uy, | |||
Vector< Float > & | yamp, | |||
const Bool | radial = False | |||
) |
Get the 1-D slices of amplitude along the x and y axis of the FFT of images if radial is set to True then the 1D slice is the the circular average rather that X and Y cuts...only the x-values are valid then Note the SD image is already feathered by its beam..you cannot get unfeathered SD data as it implies deconvolution.
static void casa::Feather::getLowBeam | ( | const ImageInterface< Float > & | low0, | |
const String & | lowPSF, | |||
const Bool | useDefaultPB, | |||
const String & | vpTableStr, | |||
GaussianBeam & | lBeam | |||
) | [static, private] |
calculate the complex weight image to apply on the interf image
static void casa::Feather::getRadialCut | ( | Vector< Float > & | radialAmp, | |
ImageInterface< Complex > & | ftimage | |||
) | [static, private] |
static void casa::Feather::getRadialCut | ( | Vector< Float > & | radius, | |
Vector< Float > & | radialAmp, | |||
const ImageInterface< Float > & | image | |||
) | [static] |
static void casa::Feather::getRadialUVval | ( | const Int | npix, | |
const IPosition & | imshape, | |||
const CoordinateSystem & | csys, | |||
Vector< Float > & | radius | |||
) | [static, private] |
Bool casa::Feather::saveFeatheredImage | ( | const String & | imagename | ) |
write the feathered image to disk
Bool casa::Feather::setEffectiveDishDiam | ( | const Float | xdiam, | |
const Float | ydiam = -1.0 | |||
) |
set and get effective dish diameter to be used in feathering function setEffectiveDishDiam will return False if you are trying to assign a finer resolution than what the original data came with
void casa::Feather::setINTImage | ( | const ImageInterface< Float > & | IntImage | ) |
void casa::Feather::setSDImage | ( | const ImageInterface< Float > & | SDImage | ) |
void casa::Feather::setSDScale | ( | Float | sdscale = 1.0 |
) |
set the SDimage and Int images
static Double casa::Feather::worldFreq | ( | const CoordinateSystem & | cs, | |
Int | spectralpix = 0 | |||
) | [static] |
CoordinateSystem casa::Feather::csysHigh_p [private] |
Bool casa::Feather::cweightApplied_p [private] |
Bool casa::Feather::cweightCalced_p [private] |
CountedPtr<ImageInterface<Complex> > casa::Feather::cwHighIm_p [private] |
CountedPtr<ImageInterface<Complex> > casa::Feather::cwImage_p [private] |
Float casa::Feather::dishDiam_p [private] |
GaussianBeam casa::Feather::hBeam_p [private] |
CountedPtr<ImageInterface<Float> > casa::Feather::highIm_p [private] |
GaussianBeam casa::Feather::lBeam_p [private] |
GaussianBeam casa::Feather::lBeamOrig_p [private] |
CountedPtr<ImageInterface<Float> > casa::Feather::lowIm_p [private] |
CountedPtr<ImageInterface<Float> > casa::Feather::lowImOrig_p [private] |
Float casa::Feather::sdScale_p [private] |