30 #ifndef COORDINATES_TABULARCOORDINATE_H
31 #define COORDINATES_TABULARCOORDINATE_H
33 #include <casacore/casa/aips.h>
34 #include <casacore/casa/Arrays/ArrayMath.h>
35 #include <casacore/casa/Arrays/Vector.h>
36 #include <casacore/coordinates/Coordinates/Coordinate.h>
40 template<
class Domain,
class Range>
class Interpolate1D;
41 template<
class T>
class Quantum;
Type
This enum lists the types of the derived classes.
String: the storage and methods of handling collections of characters.
virtual Vector< Double > referenceValue() const
Vector< Double > pixelValues() const
Get the table, i.e.
static TabularCoordinate * restore(const RecordInterface &container, const String &fieldName)
Recover the TabularCoordinate from a record.
Bool overwriteWorldAxisUnits(const Vector< String > &units)
Overwrite the world axis units with no compatibility checks or adjustment.
Interpolate1D< Double, Double > * channel_corrector_rev_p
virtual Coordinate::Type type() const
Returns Coordinate::TABULAR.
TabularCoordinate(const Vector< Double > &pixelValues, const Vector< Double > &worldValues, const String &unit, const String &axisName)
Construct a TabularCoordinate with the specified world values.
virtual String showType() const
Always returns the String "Tabular".
virtual void makePixelAbsolute(Vector< Double > &pixel) const
Bool toPixel(Double &pixel, Double world) const
virtual void makeWorldRelative(Vector< Double > &world) const
void copy(const TabularCoordinate &other)
Common code for copy ctor and assignment operator.
Interpolate1D< Double, Double > * channel_corrector_p
Channel_True = channel_corrections_p(Channel_average).
virtual Vector< String > worldAxisUnits() const
virtual Bool setIncrement(const Vector< Double > &inc)
virtual Vector< Double > increment() const
virtual Coordinate * clone() const
Make a copy of the TabularCoordinate using new.
Vector< Double > worldValues() const
virtual Bool setReferenceValue(const Vector< Double > &refval)
virtual void makeWorldAbsolute(Vector< Double > &world) const
TabularCoordinate(const Vector< Double > &pixelValues, const Quantum< Vector< Double > > &worldValues, const String &axisName)
Construct a TabularCoordinate with the specified world values via the Quantum-based interface.
TabularCoordinate()
Default constructor.
virtual ~TabularCoordinate()
Destructor.
virtual Bool toPixelMany(Matrix< Double > &pixel, const Matrix< Double > &world, Vector< Bool > &failures) const
virtual Bool near(const Coordinate &other, Double tol=1e-6) const
Comparison function.
Bool toWorld(Double &world, Double pixel) const
TabularCoordinate(const TabularCoordinate &other)
Copy constructor (copy semantics).
virtual Bool setWorldAxisUnits(const Vector< String > &units)
Set/get the axis unit.
virtual void makePixelRelative(Vector< Double > &pixel) const
Make absolute coordinates relative and vice-versa (with respect to the referencfe value).
virtual Bool save(RecordInterface &container, const String &fieldName) const
Save the TabularCoordinate into the supplied record using the supplied field name.
virtual uInt nPixelAxes() const
Always returns 1.
virtual Coordinate * makeFourierCoordinate(const Vector< Bool > &axes, const Vector< Int > &shape) const
Find the Coordinate for when we Fourier Transform ourselves.
virtual Bool near(const Coordinate &other, const Vector< Int > &excludeAxes, Double tol=1e-6) const
virtual uInt nWorldAxes() const
virtual Vector< Double > referencePixel() const
TabularCoordinate(Double refval, Double inc, Double refpix, const String &unit, const String &axisName)
Create a linear TabularCoordinate where world = refval + inc*(pixel-refpix)
virtual Bool toWorldMany(Matrix< Double > &world, const Matrix< Double > &pixel, Vector< Bool > &failures) const
Batch up a lot of transformations.
virtual Bool setReferencePixel(const Vector< Double > &refPix)
virtual Matrix< Double > linearTransform() const
virtual Bool toWorld(Vector< Double > &world, const Vector< Double > &pixel, Bool=True) const
Convert a pixel position to a world position or vice versa.
void makeNonLinearTabularCoordinate(const Vector< Double > &pixelValues, const Vector< Double > &worldValues)
TabularCoordinate & operator=(const TabularCoordinate &other)
Assignment (copy semantics).
void clear_self()
Common for assignment operator and destructor.
virtual Vector< String > worldAxisNames() const
Return the requested attribute.
TabularCoordinate(const Quantum< Double > &refval, const Quantum< Double > &inc, Double refpix, const String &axisName)
Create a linear TabularCoordinate with a Quantum-based interface where world = refval + inc*(pixel-re...
virtual Bool toPixel(Vector< Double > &pixel, const Vector< Double > &world) const
virtual Bool setWorldAxisNames(const Vector< String > &names)
Set the value of the requested attribute.
virtual Bool setLinearTransform(const Matrix< Double > &xform)
const Double e
e and functions thereof:
this file contains all the compiler specific defines
TableExprNode shape(const TableExprNode &array)
Function operating on any scalar or array resulting in a Double array containing the shape.
bool Bool
Define the standard types used by Casacore.