ProfileTaskMonitor.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef PROFILETASKMONITOR_H_
00026 #define PROFILETASKMONITOR_H_
00027
00028 #include <QString>
00029 #include <casa/BasicSL/String.h>
00030 #include <casa/Arrays/Vector.h>
00031 #include <coordinates/Coordinates/SpectralCoordinate.h>
00032 #include <measures/Measures/MFrequency.h>
00033
00034 namespace casa {
00035
00036 template <class T> class ImageInterface;
00037
00038 class ProfileTaskMonitor {
00039 public:
00040 ProfileTaskMonitor();
00041
00042 enum PURPOSE {
00043 SPECTROSCOPY,
00044 MOMENTS_COLLAPSE
00045 };
00046 virtual QString getFileName() const = 0;
00047 virtual QString getImagePath() const =0;
00048 virtual bool getBeamInfo( const QString& curveName, Double& beamAngle, Double& beamArea ) const = 0;
00049 virtual SpectralCoordinate getSpectralCoordinate(SHARED_PTR<const ImageInterface<Float> > imagePtr, Bool& validCoord ) = 0;
00050 virtual Vector<Float> getXValues() const = 0;
00051 virtual Vector<Float> getYValues() const = 0;
00052 virtual Vector<Float>getZValues() const = 0;
00053 virtual Vector<Double> getRegionXValues() const = 0;
00054 virtual Vector<Double> getRegionYValues() const = 0;
00055 virtual QString getYUnit() const = 0;
00056 virtual QString getYUnitPrefix() const = 0;
00057 virtual String getXAxisUnit() const = 0;
00058 virtual String getRegionShape() const = 0;
00059 virtual void postStatus( String str ) = 0;
00060 virtual void plotMainCurve() = 0;
00061 virtual SHARED_PTR<const ImageInterface<Float> > getImage( const QString& imageName = "") const = 0;
00062 virtual void getPixelBounds( Vector<double>& xPixels, Vector<double>& yPixels) const = 0;
00063 virtual MFrequency::Types getReferenceFrame() const = 0;
00064
00065 virtual void persist( const QString& key, const QString& value ) = 0;
00066 virtual QString read( const QString & key ) const = 0;
00067 virtual void imageCollapsed(String path, String dataType, String displayType,
00068 Bool autoRegister, Bool tmpData,
00069 SHARED_PTR<ImageInterface<Float> > img = SHARED_PTR<ImageInterface<Float> >())=0;
00070 virtual void setPurpose( ProfileTaskMonitor::PURPOSE purpose ) = 0;
00071
00072
00073 virtual void setPosition( const QList<double> &world_x, const QList<double> &world_y ) =0;
00074
00075
00076 virtual ~ProfileTaskMonitor();
00077 };
00078
00079 }
00080 #endif