SliceStatisticsDistance.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
00027 #ifndef SLICESTATISTICSDISTANCE_H_
00028 #define SLICESTATISTICSDISTANCE_H_
00029
00030 #include <display/Slicer/SliceStatistics.h>
00031
00032 namespace casa {
00033
00034 class SliceStatisticsDistance : public SliceStatistics {
00035 public:
00036 SliceStatisticsDistance(SliceStatisticsFactory::AxisXUnits units );
00037 virtual double getLength(std::pair<double,double> worldStart,
00038 std::pair<double,double> worldEnd,
00039 std::pair<int,int> pixelStart,
00040 std::pair<int,int> pixelEnd) const;
00041 virtual double getLength( double side1World, double side2World,
00042 double side1Pixel, double side2Pixel ) const;
00043 virtual double getStart( double value1World, double value2World,
00044 double value1Pixel, double value2Pixel ) const;
00045 virtual double getEnd( double value1World, double value2World,
00046 double value1Pixel, double value2Pixel ) const;
00047 virtual QString getLengthLabel() const;
00048 virtual QVector<double> interpolate( double start, double end,
00049 const QVector<double>& values ) const;
00050 virtual void adjustStart( QVector<double>& values, double newStart ) const;
00051 virtual void storeIncrement( double* incr, QVector<double>& values, int index) const;
00052 virtual ~SliceStatisticsDistance();
00053 virtual QVector<double> fromResults( Record* record )const;
00054 private:
00055 double getHypotenuse( double side1, double side2 ) const ;
00056 double getHypotenuse( double x1, double x2, double y1, double y2 ) const;
00057 };
00058
00059 }
00060 #endif