8 #ifndef SIDEBANDSEPARATOR_H_
9 #define SIDEBANDSEPARATOR_H_
58 void setShift(
const std::vector<double> &shift,
const bool signal =
true);
98 virtual void separate(
const std::string& outfile,
const bool overwrite) = 0;
105 void setInput(
const std::vector<std::string>& inputname);
111 const std::vector<casacore::uInt> &inIdvec,
112 const bool signal =
true);
115 const std::vector<casacore::uInt> &inIdvec,
116 const bool signal =
true);
129 const std::vector<float> &invec,
130 const std::vector<double> &shift,
131 std::vector<float> &outvec);
196 virtual void separate(
const std::string& outfile,
const bool overwrite);
A Vector of integers, for indexing into Array<T> objects.
void initLocal()
protected:
casacore::Bool checkFile(const std::string name, std::string type="")
Return if the path exists (optionally, check file type)
std::vector< double > imgShift_
void solveBoth(const bool flag)
Resolve both image and signal sideband when true is set.
bool otherside_
solution parameters
void shiftSpectrum(const casacore::Vector< float > &invec, double shift, casacore::Vector< float > &outvec)
void setInput(const std::vector< std::string > &inputname)
std::vector< std::string > inputNames_
Member variables.
SideBandSeparatorBase(const std::vector< std::string > &inputname)
The constructor.
casacore::Vector< bool > collapseMask(const casacore::Matrix< bool > &flagMat, const std::vector< casacore::uInt > &inIdvec, const bool signal=true)
virtual Type type()
Return the type enum.
bool getSpectraToSolve(const std::vector< casa::SPIIF > &images, const casacore::Slicer &slicer, casacore::Matrix< float > &specMat, casacore::Matrix< bool > &maskMat, std::vector< casacore::uInt > &imgIdvec)
casacore::FFTServer< casacore::Float, casacore::Complex > fftsi
A 2-D Specialization of the Array class.
ABSTRACT CLASSES Abstract class for colors Any implementation of color should be able to provide a hexadecimal form of the if a human readable name(i.e."black").In many places throughout the plotter
casacore::Vector< float > solve(const casacore::Matrix< float > &specMat, const std::vector< casacore::uInt > &inIdvec, const bool signal=true)
std::vector< double > sigShift_
frequency and direction setup to select data.
void solvefromOther(const bool flag)
Obtain spectra by subtracting the solution of the other sideband.
Data model dependent side band separator class.
bool compareImageAxes(const string &imagename, const casacore::CoordinateSystem &refcsys, const casacore::IPosition &refnpix)
bool interpolateMaskedChannels(casacore::Array< float > spectrum, const casacore::Array< bool > maskp)
The base class of side band separation algorithm using FFT.
void deconvolve(casacore::Matrix< float > &specmat, const std::vector< double > shiftvec, const double threshold, casacore::Matrix< float > &outmat)
void subtractFromOther(const casacore::Matrix< float > &shiftmat, const std::vector< float > &invec, const std::vector< double > &shift, std::vector< float > &outvec)
bool Bool
Define the standard types used by Casacore.
template <class T, class U> class vector;
SideBandSeparatorII(const std::vector< std::string > &imagename)
The constructor.
Specify which elements to extract from an n-dimensional array.
void init()
Initialize member variables.
void setThreshold(const double limit)
Set rejection limit of solution.
void aggregateMat(const casacore::Matrix< float > &inmat, std::vector< float > &outvec)
virtual void separate(const std::string &outfile, const bool overwrite)=0
invoke sideband separation
void setShift(const std::vector< double > &shift, const bool signal=true)
Set the number of channels shifted in each input data.
casacore::FFTServer< casacore::Float, casacore::Complex > fftsf
virtual ~SideBandSeparatorII()
The destructor.
virtual void separate(const std::string &outfile, const bool overwrite)
invoke sideband separation
void shiftFlag(const casacore::Vector< bool > &invec, double shift, casacore::Vector< bool > &outvec)
void setImageBandFrequency(const double refpix, const casacore::Quantity refval)
set frequency information of output image in image sideband
virtual ~SideBandSeparatorBase()
The destructor.
Interconvert pixel and world coordinates.
bool getImageCoordinate(const string &imagename, casacore::CoordinateSystem &csys, casacore::IPosition &npix)