SliceWorker.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
00026 #ifndef SLICER_WORKER_H_
00027 #define SLICER_WORKER_H_
00028
00029 #include <casa/Arrays/Vector.h>
00030 #include <QVector>
00031 #include <QTextStream>
00032
00033 namespace casa {
00034
00035 class ImageAnalysis;
00036 class Record;
00037 class SliceStatistics;
00038
00044 class SliceWorker {
00045
00046 public:
00047 SliceWorker( int id );
00048 void setImageAnalysis( ImageAnalysis* analysis );
00049 void setVertices( const QList<int>& xValues, const QList<int>& yValues,
00050 const QList<double>& xValuesWorld, const QList<double>& yValuesWorld);
00051 void setAxes( const Vector<Int>& axes );
00052 void setCoords( const Vector<Int>& coords );
00053 void setSampleCount( int count );
00054
00055 void setMethod( const String& method );
00056
00057 void toAscii( QTextStream& stream, SliceStatistics* statistics ) const;
00058 void compute();
00059 int getSegmentCount() const;
00060 QVector<double> getPixels(int index) const;
00061 QVector<double> getData( int index, SliceStatistics* statistics ) const;
00062 virtual ~SliceWorker();
00063
00064 private:
00065 SliceWorker( const SliceWorker& other );
00066 SliceWorker& operator=( const SliceWorker other );
00067
00068 double getDistance( double x, double y ) const;
00069 QVector<double> interpolate( double start, double end,
00070 const QVector<double>& values ) const;
00071 void clearResults();
00072
00073 QVector<double> getValues( int index, const QVector<double>& pixels, SliceStatistics* statistic ) const;
00074 void computeSlice( const Vector<double>& xValues,
00075 const Vector<double>& yValues );
00076 ImageAnalysis* imageAnalysis;
00077 QList<Record*> sliceResults;
00078 Vector<Double> verticesX;
00079 Vector<Double> verticesY;
00080 Vector<Double> verticesXWorld;
00081 Vector<Double> verticesYWorld;
00082
00083 Vector<Int> axes;
00084 Vector<Int> coords;
00085
00086 int sampleCount;
00087 int id;
00088 String method;
00089 };
00090
00091 }
00092 #endif