casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SliceStatisticsDistance.h
Go to the documentation of this file.
1 //# Copyright (C) 1994,1995,1996,1997,1998,1999,2000
2 //# Associated Universities, Inc. Washington DC, USA.
3 //#
4 //# This library is free software; you can redistribute it and/or modify it
5 //# under the terms of the GNU Library General Public License as published by
6 //# the Free Software Foundation; either version 2 of the License, or (at your
7 //# option) any later version.
8 //#
9 //# This library is distributed in the hope that it will be useful, but WITHOUT
10 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
12 //# License for more details.
13 //#
14 //# You should have received a copy of the GNU Library General Public License
15 //# along with this library; if not, write to the Free Software Foundation,
16 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
17 //#
18 //# Correspondence concerning AIPS++ should be addressed as follows:
19 //# Internet email: aips2-request@nrao.edu.
20 //# Postal address: AIPS++ Project Office
21 //# National Radio Astronomy Observatory
22 //# 520 Edgemont Road
23 //# Charlottesville, VA 22903-2475 USA
24 //#
25 
26 
27 #ifndef SLICESTATISTICSDISTANCE_H_
28 #define SLICESTATISTICSDISTANCE_H_
29 
31 
32 namespace casa {
33 
35  public:
37  virtual double getLength(std::pair<double,double> worldStart,
38  std::pair<double,double> worldEnd,
39  std::pair<int,int> pixelStart,
40  std::pair<int,int> pixelEnd) const;
41  virtual double getLength( double side1World, double side2World,
42  double side1Pixel, double side2Pixel ) const;
43  virtual double getStart( double value1World, double value2World,
44  double value1Pixel, double value2Pixel ) const;
45  virtual double getEnd( double value1World, double value2World,
46  double value1Pixel, double value2Pixel ) const;
47  virtual QString getLengthLabel() const;
48  virtual QVector<double> interpolate( double start, double end,
49  const QVector<double>& values ) const;
50  virtual void adjustStart( QVector<double>& values, double newStart ) const;
51  virtual void storeIncrement( double* incr, QVector<double>& values, int index) const;
52  virtual ~SliceStatisticsDistance();
53  virtual QVector<double> fromResults( casacore::Record* record )const;
54  private:
55  double getHypotenuse( double side1, double side2 ) const ;
56  double getHypotenuse( double x1, double x2, double y1, double y2 ) const;
57  };
58 
59 } /* namespace casa */
60 #endif /* SLICESTATISTICSDISTANCE_H_ */
virtual QString getLengthLabel() const
virtual QVector< double > interpolate(double start, double end, const QVector< double > &values) const
virtual double getEnd(double value1World, double value2World, double value1Pixel, double value2Pixel) const
const_iterator end() const
virtual double getStart(double value1World, double value2World, double value1Pixel, double value2Pixel) const
double getHypotenuse(double side1, double side2) const
virtual void adjustStart(QVector< double > &values, double newStart) const
virtual void storeIncrement(double *incr, QVector< double > &values, int index) const
A hierarchical collection of named fields of various types.
Definition: Record.h:180
virtual QVector< double > fromResults(casacore::Record *record) const
Computes the angle and distance for a single line segment in the slice.
virtual double getLength(std::pair< double, double > worldStart, std::pair< double, double > worldEnd, std::pair< int, int > pixelStart, std::pair< int, int > pixelEnd) const
SliceStatisticsDistance(SliceStatisticsFactory::AxisXUnits units)