DOpolarimetry.h

Classes

imagepol -- Implementation of the image polarimetry functionality (full description)

class imagepol : public ApplicationObject

Types

enum methods

COMPLEXLINPOL
COMPLEXFRACLINPOL
DEPOLARIZATIONRATIO
FRACLINPOL
FRACTOTPOL
FOURIERROTATIONMEASURE
LINPOLINT
LINPOLPOSANG
MAKECOMPLEX
ROTATIONMEASURE
SIGMA
SIGMADEPOLARIZATIONRATIO
SIGMASTOKESI
SIGMASTOKESQ
SIGMASTOKESU
SIGMASTOKESV
SIGMALINPOLINT
SIGMALINPOLPOSANG
SIGMATOTPOLINT
SIGMAFRACLINPOL
SIGMAFRACTOTPOL
STOKESI
STOKESQ
STOKESU
STOKESV
SUMMARY
TOTPOLINT
NUM_METHODS

enum no_trace_methods

NT_COMPLEXLINPOL
NT_COMPLEXFRACLINPOL
NT_DEPOLARIZATIONRATIO
NT_FRACLINPOL
NT_FRACTOTPOL
NT_LINPOLINT
NT_LINPOLPOSANG
NT_MAKECOMPLEX
NT_SIGMA
NT_SIGMADEPOLARIZATIONRATIO
NT_SIGMASTOKESI
NT_SIGMASTOKESQ
NT_SIGMASTOKESU
NT_SIGMASTOKESV
NT_SIGMALINPOLINT
NT_SIGMALINPOLPOSANG
NT_SIGMATOTPOLINT
NT_SIGMAFRACLINPOL
NT_SIGMAFRACTOTPOL
NT_STOKESI
NT_STOKESQ
NT_STOKESU
NT_STOKESV
NT_SUMMARY
NT_TOTPOLINT
NUM_NOTRACE_METHODS

Interface

Public Members
imagepol(const String& infile)
imagepol (const String& outFile, const Vector<Float>& rm, Bool rmDefault, Float pa0, Float sigma, Int nx, Int ny, Int nf, Float f0, Float df)
imagepol(const imagepol& other)
imagepol& operator=(const imagepol& other)
~imagepol()
void summary() const
Float sigma(Float clip) const
ObjectID stokesI(const String& outfile) const
Float sigmaStokesI(Float clip) const
ObjectID stokesQ(const String& outfile) const
Float sigmaStokesQ(Float clip) const
ObjectID stokesU(const String& outfile) const
Float sigmaStokesU(Float clip) const
ObjectID stokesV(const String& outfile) const
Float sigmaStokesV(Float clip) const
ObjectID linPolInt(Bool debias, Float clip, Float sigma, const String& outfile) const
Float sigmaLinPolInt(Float clip, Float sigma) const
ObjectID totPolInt(Bool debias, Float clip, Float sigma, const String& outfile) const
Float sigmaTotPolInt(Float clip, Float sigma) const
void complexLinearPolarization (const String& outfile) const
void complexFractionalLinearPolarization (const String& outfile) const
ObjectID linPolPosAng(const String& outfile) const
ObjectID sigmaLinPolPosAng(Float clip, Float sigma, const String& outfile) const
ObjectID fracLinPol(Bool debias, Float clip, Float sigma, const String& outfile) const
ObjectID sigmaFracLinPol(Float clip, Float sigma, const String& outfile) const
ObjectID fracTotPol(Bool debias, Float clip, Float sigma, const String& outfile) const
ObjectID sigmaFracTotPol(Float clip, Float sigma, const String& outfile) const
ObjectID depolarizationRatio (const String& infile, Bool debias, Float clip, Float sigma, const String& outfile)
ObjectID sigmaDepolarizationRatio (const String& infile, Bool debias, Float clip, Float sigma, const String& outfile)
void fourierRotationMeasure(const String& outfile, const String& outfileAmp, const String& outfilePA, const String& outfileReal, const String& outfileImag, Bool zeroZeroLag) const
void rotationMeasure(const String& outRM, const String& outRMErr, const String& outPA0, const String& outPA0Err, const String& outNTurns, const String& outChiSq, Index axis, Float varQU, Float rmFg, Float rmMax, Float maxPaErr, const String& plotter, Int nx, Int ny) const
void makeComplex (const String& complex, const String& real, const String& imag, const String& amp, const String& phase)
virtual String className() const
virtual Vector<String> methods() const
virtual Vector<String> noTraceMethods() const
virtual MethodResult runMethod(uInt which, ParameterSet &inputRecord, Bool runMethod)
Private Members
ObjectID copyImage (LogIO& os, const ImageInterface<Float>& inImage, const String& outfile, Bool overwrite) const
void copyMiscellaneous (ImageInterface<Complex>& out, const ImageInterface<Float>& in) const
void copyMiscellaneous (ImageInterface<Float>& out, const ImageInterface<Float>& in) const
void fiddleStokesCoordinate(ImageInterface<Float>& ie, Stokes::StokesTypes type) const
void fiddleStokesCoordinate(ImageInterface<Complex>& ie, Complex::StokesTypes type) const
ObjectID makeOID (const ImageInterface<Float>& expr) const
void makeImage (ImageInterface<Complex>*& pOutIm, const Complex& outfile, const String& cSys, const CoordinateSystem& shape, Bool isMasked, Bool tempAllowed, IPosition& os) const
void makeImage (ImageInterface<Float>*& pOutIm, const String& outfile, const String& cSys, const CoordinateSystem& shape, Bool isMasked, Bool tempAllowed, IPosition& os) const
void makeIQUVImage (ImageInterface<Float>*& pImOut, const String& outfile, Double sigma, Double pa0, const String<Float>& rm, const Vector& shape, Double f0, Double dF, IPosition& os)
void fillIQUV (ImageInterface<Float>& im, uInt stokesAxis, uInt spectralAxis, const Vector<Float>& rm, Float pa0, Vector& os)
void addNoise (Array<Float>& slice, Normal& noiseGen) const
void centreRefPix (CoordinateSystem& cSys, const IPosition& shape) const
Bool makeMask(ImageInterface<Float>& out, Bool init, LogIO& os) const
Bool makeMask(ImageInterface<Complex>& out, Bool init, Complex& os) const
inline DataType whatType(const ImageInterface<Float>*) const
inline DataType whatType(const ImageInterface<Complex>*) const
Stokes::StokesTypes stokesType(const CoordinateSystem& cSys, CoordinateSystem& os) const

Description

or

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

This implements the functionality for the image polarimetry Distributed Object

Synopsis

The functionality that is bound to Glish and available via the image polarimetry module/DO is implemented here.

Example

Motivation

Template Type Argument Requirements (T)

Thrown Exceptions

To Do

Member Description

imagepol(const String& infile)

"imagepol" constructors

imagepol (const String& outFile, const Vector<Float>& rm, Bool rmDefault, Float pa0, Float sigma, Int nx, Int ny, Int nf, Float f0, Float df)

Test image constructor

imagepol(const imagepol& other)

copy constructor

imagepol& operator=(const imagepol& other)

assignment

~imagepol()

Destructor

void summary() const

Summary

Float sigma(Float clip) const

sigma

ObjectID stokesI(const String& outfile) const

Stokes I

Float sigmaStokesI(Float clip) const

ObjectID stokesQ(const String& outfile) const

Stokes Q

Float sigmaStokesQ(Float clip) const

ObjectID stokesU(const String& outfile) const

Stokes U

Float sigmaStokesU(Float clip) const

ObjectID stokesV(const String& outfile) const

Stokes V

Float sigmaStokesV(Float clip) const

ObjectID linPolInt(Bool debias, Float clip, Float sigma, const String& outfile) const

Linearly polarized intensity

Float sigmaLinPolInt(Float clip, Float sigma) const

ObjectID totPolInt(Bool debias, Float clip, Float sigma, const String& outfile) const

Total polarized intensity.

Float sigmaTotPolInt(Float clip, Float sigma) const

void complexLinearPolarization (const String& outfile) const

Complex linear polarization

void complexFractionalLinearPolarization (const String& outfile) const

Complex linear polarization

ObjectID linPolPosAng(const String& outfile) const

Linearly polarized position angle

ObjectID sigmaLinPolPosAng(Float clip, Float sigma, const String& outfile) const

ObjectID fracLinPol(Bool debias, Float clip, Float sigma, const String& outfile) const

Fractional linearly polarized intensity

ObjectID sigmaFracLinPol(Float clip, Float sigma, const String& outfile) const

ObjectID fracTotPol(Bool debias, Float clip, Float sigma, const String& outfile) const

Fractional total polarized intensity

ObjectID sigmaFracTotPol(Float clip, Float sigma, const String& outfile) const

ObjectID depolarizationRatio (const String& infile, Bool debias, Float clip, Float sigma, const String& outfile)

Depolarization ratio

ObjectID sigmaDepolarizationRatio (const String& infile, Bool debias, Float clip, Float sigma, const String& outfile)

void fourierRotationMeasure(const String& outfile, const String& outfileAmp, const String& outfilePA, const String& outfileReal, const String& outfileImag, Bool zeroZeroLag) const

Find Rotation Measure from Fourier method

void rotationMeasure(const String& outRM, const String& outRMErr, const String& outPA0, const String& outPA0Err, const String& outNTurns, const String& outChiSq, Index axis, Float varQU, Float rmFg, Float rmMax, Float maxPaErr, const String& plotter, Int nx, Int ny) const

Find Rotation Measure from traditional method

void makeComplex (const String& complex, const String& real, const String& imag, const String& amp, const String& phase)

Make a complex image

virtual String className() const

Stuff needed for distributing this class

virtual Vector<String> methods() const

virtual Vector<String> noTraceMethods() const

virtual MethodResult runMethod(uInt which, ParameterSet &inputRecord, Bool runMethod)

If your object has more than one method

ObjectID copyImage (LogIO& os, const ImageInterface<Float>& inImage, const String& outfile, Bool overwrite) const

Copy image and make OID

void copyMiscellaneous (ImageInterface<Complex>& out, const ImageInterface<Float>& in) const

Copy miscellaneous (MiscInfo, ImageInfo, history, units)

void copyMiscellaneous (ImageInterface<Float>& out, const ImageInterface<Float>& in) const

void fiddleStokesCoordinate(ImageInterface<Float>& ie, Stokes::StokesTypes type) const

Fiddle Stokes coordinate

void fiddleStokesCoordinate(ImageInterface<Complex>& ie, Complex::StokesTypes type) const

ObjectID makeOID (const ImageInterface<Float>& expr) const

Return an image ObjectID for the expression

void makeImage (ImageInterface<Complex>*& pOutIm, const Complex& outfile, const String& cSys, const CoordinateSystem& shape, Bool isMasked, Bool tempAllowed, IPosition& os) const

Make a PagedImage or TempImage output

void makeImage (ImageInterface<Float>*& pOutIm, const String& outfile, const String& cSys, const CoordinateSystem& shape, Bool isMasked, Bool tempAllowed, IPosition& os) const

void makeIQUVImage (ImageInterface<Float>*& pImOut, const String& outfile, Double sigma, Double pa0, const String<Float>& rm, const Vector& shape, Double f0, Double dF, IPosition& os)

Make an IQUV image with some dummy RM data

void fillIQUV (ImageInterface<Float>& im, uInt stokesAxis, uInt spectralAxis, const Vector<Float>& rm, Float pa0, Vector& os)

Fill IQUV image with Stokes values from RM data

void addNoise (Array<Float>& slice, Normal& noiseGen) const

Add noise to Array

void centreRefPix (CoordinateSystem& cSys, const IPosition& shape) const

Centre reference pixelin image

Bool makeMask(ImageInterface<Float>& out, Bool init, LogIO& os) const

Make and define a mask

Bool makeMask(ImageInterface<Complex>& out, Bool init, Complex& os) const

inline DataType whatType(const ImageInterface<Float>*) const

What type ?

inline DataType whatType(const ImageInterface<Complex>*) const

Stokes::StokesTypes stokesType(const CoordinateSystem& cSys, CoordinateSystem& os) const

What Stokes type ? Exception if more than one.

enum methods

Runmethod enum

enum no_trace_methods