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

Forward declaration. More...

#include <Feather.h>

Public Member Functions

 Feather ()
 default constructor More...
 
 Feather (const casacore::ImageInterface< casacore::Float > &SDImage, const casacore::ImageInterface< casacore::Float > &INTImage, casacore::Float sdScale=1.0)
 Constructor. More...
 
virtual ~Feather ()
 Destructor. More...
 
void clearWeightFlags ()
 Clear the weight flags. More...
 
void setSDScale (casacore::Float sdscale=1.0)
 set the SDimage and casacore::Int images More...
 
void setSDImage (const casacore::ImageInterface< casacore::Float > &SDImage)
 
void setINTImage (const casacore::ImageInterface< casacore::Float > &IntImage)
 
casacore::Bool setEffectiveDishDiam (const casacore::Float xdiam, const casacore::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 More...
 
void getEffectiveDishDiam (casacore::Float &xdiam, casacore::Float &ydiam)
 
void getFTCutSDImage (casacore::Vector< casacore::Float > &ux, casacore::Vector< casacore::Float > &xamp, casacore::Vector< casacore::Float > &uy, casacore::Vector< casacore::Float > &yamp, const casacore::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. More...
 
void getFTCutIntImage (casacore::Vector< casacore::Float > &ux, casacore::Vector< casacore::Float > &xamp, casacore::Vector< casacore::Float > &uy, casacore::Vector< casacore::Float > &yamp, casacore::Bool radial=false)
 
void getFeatherSD (casacore::Vector< casacore::Float > &ux, casacore::Vector< casacore::Float > &xamp, casacore::Vector< casacore::Float > &uy, casacore::Vector< casacore::Float > &yamp, casacore::Bool radial=false, casacore::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. More...
 
void getFeatherINT (casacore::Vector< casacore::Float > &ux, casacore::Vector< casacore::Float > &xamp, casacore::Vector< casacore::Float > &uy, casacore::Vector< casacore::Float > &yamp, casacore::Bool radial=false)
 
void getFeatheredCutSD (casacore::Vector< casacore::Float > &ux, casacore::Vector< casacore::Float > &xamp, casacore::Vector< casacore::Float > &uy, casacore::Vector< casacore::Float > &yamp, casacore::Bool radial=false)
 Get 1-D slices of the feathered data... More...
 
void getFeatheredCutINT (casacore::Vector< casacore::Float > &ux, casacore::Vector< casacore::Float > &xamp, casacore::Vector< casacore::Float > &uy, casacore::Vector< casacore::Float > &yamp, casacore::Bool radial=false)
 
void convolveINT (const casacore::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. More...
 
casacore::Bool saveFeatheredImage (const casacore::String &imagename)
 write the feathered image to disk More...
 

Static Public Member Functions

static void getCutXY (casacore::Vector< casacore::Float > &ux, casacore::Vector< casacore::Float > &xamp, casacore::Vector< casacore::Float > &uy, casacore::Vector< casacore::Float > &yamp, const casacore::ImageInterface< casacore::Float > &image)
 
static void getRadialCut (casacore::Vector< casacore::Float > &radius, casacore::Vector< casacore::Float > &radialAmp, const casacore::ImageInterface< casacore::Float > &image)
 
static void feather (const casacore::String &image, const casacore::ImageInterface< casacore::Float > &high, const casacore::ImageInterface< casacore::Float > &low, const casacore::Float &sdScale=1.0, const casacore::String &lowPSF="", const casacore::Bool useDefault=true, const casacore::String &vpTable="", casacore::Float effSDDiam=-1.0, const casacore::Bool lowpassfiltersd=false)
 
static casacore::Double worldFreq (const casacore::CoordinateSystem &cs, casacore::Int spectralpix=0)
 

Private Member Functions

void fillXVectors (casacore::Vector< casacore::Float > &ux, casacore::Vector< casacore::Float > &uy) const
 
void calcCWeightImage ()
 
void applyFeather ()
 

Static Private Member Functions

static void applyDishDiam (casacore::ImageInterface< casacore::Complex > &image, casacore::GaussianBeam &beam, casacore::Float effDiam, casacore::ImageInterface< casacore::Float > &newbeam, casacore::Vector< casacore::Quantity > &extraconv)
 
static void getCutXY (casacore::Vector< casacore::Float > &ux, casacore::Vector< casacore::Float > &xamp, casacore::Vector< casacore::Float > &uy, casacore::Vector< casacore::Float > &yamp, casacore::ImageInterface< casacore::Complex > &ftimage)
 
static void getRadialCut (casacore::Vector< casacore::Float > &radialAmp, casacore::ImageInterface< casacore::Complex > &ftimage)
 
static void getLowBeam (const casacore::ImageInterface< casacore::Float > &low0, const casacore::String &lowPSF, const casacore::Bool useDefaultPB, const casacore::String &vpTableStr, casacore::GaussianBeam &lBeam)
 calculate the complex weight image to apply on the interf image More...
 
static void getRadialUVval (const casacore::Int npix, const casacore::IPosition &imshape, const casacore::CoordinateSystem &csys, casacore::Vector< casacore::Float > &radius)
 

Private Attributes

casacore::CountedPtr
< casacore::ImageInterface
< casacore::Float > > 
lowIm_p
 
casacore::CountedPtr
< casacore::ImageInterface
< casacore::Float > > 
lowImOrig_p
 
casacore::CountedPtr
< casacore::ImageInterface
< casacore::Float > > 
highIm_p
 
casacore::CountedPtr
< casacore::ImageInterface
< casacore::Complex > > 
cwImage_p
 
casacore::CountedPtr
< casacore::ImageInterface
< casacore::Complex > > 
cwHighIm_p
 
casacore::GaussianBeam hBeam_p
 
casacore::GaussianBeam lBeam_p
 
casacore::GaussianBeam lBeamOrig_p
 
casacore::Float dishDiam_p
 
casacore::Bool cweightCalced_p
 
casacore::Bool cweightApplied_p
 
casacore::Float sdScale_p
 
casacore::CoordinateSystem csysHigh_p
 

Detailed Description

Forward declaration.

Class that contains functions needed for feathering

Definition at line 47 of file Feather.h.

Constructor & Destructor Documentation

casa::Feather::Feather ( )

default constructor

casa::Feather::Feather ( const casacore::ImageInterface< casacore::Float > &  SDImage,
const casacore::ImageInterface< casacore::Float > &  INTImage,
casacore::Float  sdScale = 1.0 
)

Constructor.

virtual casa::Feather::~Feather ( )
virtual

Destructor.

Member Function Documentation

static void casa::Feather::applyDishDiam ( casacore::ImageInterface< casacore::Complex > &  image,
casacore::GaussianBeam beam,
casacore::Float  effDiam,
casacore::ImageInterface< casacore::Float > &  newbeam,
casacore::Vector< casacore::Quantity > &  extraconv 
)
staticprivate
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 casacore::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 casacore::String image,
const casacore::ImageInterface< casacore::Float > &  high,
const casacore::ImageInterface< casacore::Float > &  low,
const casacore::Float sdScale = 1.0,
const casacore::String lowPSF = "",
const casacore::Bool  useDefault = true,
const casacore::String vpTable = "",
casacore::Float  effSDDiam = -1.0,
const casacore::Bool  lowpassfiltersd = false 
)
static
void casa::Feather::fillXVectors ( casacore::Vector< casacore::Float > &  ux,
casacore::Vector< casacore::Float > &  uy 
) const
private
static void casa::Feather::getCutXY ( casacore::Vector< casacore::Float > &  ux,
casacore::Vector< casacore::Float > &  xamp,
casacore::Vector< casacore::Float > &  uy,
casacore::Vector< casacore::Float > &  yamp,
const casacore::ImageInterface< casacore::Float > &  image 
)
static
static void casa::Feather::getCutXY ( casacore::Vector< casacore::Float > &  ux,
casacore::Vector< casacore::Float > &  xamp,
casacore::Vector< casacore::Float > &  uy,
casacore::Vector< casacore::Float > &  yamp,
casacore::ImageInterface< casacore::Complex > &  ftimage 
)
staticprivate
void casa::Feather::getEffectiveDishDiam ( casacore::Float xdiam,
casacore::Float ydiam 
)
void casa::Feather::getFeatheredCutINT ( casacore::Vector< casacore::Float > &  ux,
casacore::Vector< casacore::Float > &  xamp,
casacore::Vector< casacore::Float > &  uy,
casacore::Vector< casacore::Float > &  yamp,
casacore::Bool  radial = false 
)
void casa::Feather::getFeatheredCutSD ( casacore::Vector< casacore::Float > &  ux,
casacore::Vector< casacore::Float > &  xamp,
casacore::Vector< casacore::Float > &  uy,
casacore::Vector< casacore::Float > &  yamp,
casacore::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 ( casacore::Vector< casacore::Float > &  ux,
casacore::Vector< casacore::Float > &  xamp,
casacore::Vector< casacore::Float > &  uy,
casacore::Vector< casacore::Float > &  yamp,
casacore::Bool  radial = false 
)
void casa::Feather::getFeatherSD ( casacore::Vector< casacore::Float > &  ux,
casacore::Vector< casacore::Float > &  xamp,
casacore::Vector< casacore::Float > &  uy,
casacore::Vector< casacore::Float > &  yamp,
casacore::Bool  radial = false,
casacore::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 ( casacore::Vector< casacore::Float > &  ux,
casacore::Vector< casacore::Float > &  xamp,
casacore::Vector< casacore::Float > &  uy,
casacore::Vector< casacore::Float > &  yamp,
casacore::Bool  radial = false 
)
void casa::Feather::getFTCutSDImage ( casacore::Vector< casacore::Float > &  ux,
casacore::Vector< casacore::Float > &  xamp,
casacore::Vector< casacore::Float > &  uy,
casacore::Vector< casacore::Float > &  yamp,
const casacore::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 casacore::ImageInterface< casacore::Float > &  low0,
const casacore::String lowPSF,
const casacore::Bool  useDefaultPB,
const casacore::String vpTableStr,
casacore::GaussianBeam lBeam 
)
staticprivate

calculate the complex weight image to apply on the interf image

static void casa::Feather::getRadialCut ( casacore::Vector< casacore::Float > &  radius,
casacore::Vector< casacore::Float > &  radialAmp,
const casacore::ImageInterface< casacore::Float > &  image 
)
static
static void casa::Feather::getRadialCut ( casacore::Vector< casacore::Float > &  radialAmp,
casacore::ImageInterface< casacore::Complex > &  ftimage 
)
staticprivate
static void casa::Feather::getRadialUVval ( const casacore::Int  npix,
const casacore::IPosition imshape,
const casacore::CoordinateSystem csys,
casacore::Vector< casacore::Float > &  radius 
)
staticprivate
casacore::Bool casa::Feather::saveFeatheredImage ( const casacore::String imagename)

write the feathered image to disk

casacore::Bool casa::Feather::setEffectiveDishDiam ( const casacore::Float  xdiam,
const casacore::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 casacore::ImageInterface< casacore::Float > &  IntImage)
void casa::Feather::setSDImage ( const casacore::ImageInterface< casacore::Float > &  SDImage)
void casa::Feather::setSDScale ( casacore::Float  sdscale = 1.0)

set the SDimage and casacore::Int images

static casacore::Double casa::Feather::worldFreq ( const casacore::CoordinateSystem cs,
casacore::Int  spectralpix = 0 
)
static

Member Data Documentation

casacore::CoordinateSystem casa::Feather::csysHigh_p
private

Definition at line 133 of file Feather.h.

casacore::Bool casa::Feather::cweightApplied_p
private

Definition at line 131 of file Feather.h.

casacore::Bool casa::Feather::cweightCalced_p
private

Definition at line 130 of file Feather.h.

casacore::CountedPtr<casacore::ImageInterface<casacore::Complex> > casa::Feather::cwHighIm_p
private

Definition at line 117 of file Feather.h.

casacore::CountedPtr<casacore::ImageInterface<casacore::Complex> > casa::Feather::cwImage_p
private

Definition at line 116 of file Feather.h.

casacore::Float casa::Feather::dishDiam_p
private

Definition at line 129 of file Feather.h.

casacore::GaussianBeam casa::Feather::hBeam_p
private

Definition at line 126 of file Feather.h.

Definition at line 115 of file Feather.h.

casacore::GaussianBeam casa::Feather::lBeam_p
private

Definition at line 127 of file Feather.h.

casacore::GaussianBeam casa::Feather::lBeamOrig_p
private

Definition at line 128 of file Feather.h.

Definition at line 113 of file Feather.h.

casacore::CountedPtr<casacore::ImageInterface<casacore::Float> > casa::Feather::lowImOrig_p
private

Definition at line 114 of file Feather.h.

casacore::Float casa::Feather::sdScale_p
private

Definition at line 132 of file Feather.h.


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