casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FeatherThread.h
Go to the documentation of this file.
1 //# Copyright (C) 2005
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 FEATHERTHREAD_H_
28 #define FEATHERTHREAD_H_
29 
30 #include <QThread>
31 #include <QMap>
34 
35 namespace casacore{
36 
37 template <class T> class ImageInterface;
38 }
39 
40 namespace casa {
41 
42 class Feather;
43 
49 class FeatherThread : public QThread {
50 
51 friend class FeatherManager;
52 
53 
54 public:
60  FeatherThread();
64  LOW_CONVOLVED_HIGH_WEIGHTED, /*LOW_CONVOLVED_DIRTY, LOW_CONVOLVED_DIRTY_WEIGHTED,*/ END_DATA };
66  void setFeatherWorker( Feather* worker );
67  static void setLogger( casacore::LogIO* logger );
68  void setRadial( bool radialPlot );
69  bool isSuccess() const;
70  QString getErrorMessage() const;
71  void setSaveOutput( bool save, const QString& outputPath = "");
72  void run();
74 
75 private:
76  FeatherThread( const FeatherThread& other );
77  FeatherThread operator=( const FeatherThread& other );
78  bool collectLowHighData();
79  bool collectLowDirtyData();
81  bool collectConvolvedData( DataTypes original, DataTypes cut);
88 
89 
90  QMap<DataTypes, FeatheredData> dataMap;
91 
92  bool radial;
93  bool saveOutput;
94  bool fileSaved;
95  bool success;
96  QString saveFilePath;
97  QString errorMessage;
98 };
99 
100 
101 } // end namespace casa
102 
103 #endif /* FEATHERTHREAD_H_ */
static casacore::LogIO * logger
Definition: FeatherThread.h:84
Gathers up the data from the feathering process and stores it.
Definition: FeatherThread.h:49
Forward declaration.
Definition: Feather.h:47
QString getErrorMessage() const
static void setLogger(casacore::LogIO *logger)
ostream-like interface to creating log messages.
Definition: LogIO.h:167
FeatherWorker1 (SD, INT)
QMap< DataTypes, FeatheredData > dataMap
Definition: FeatherThread.h:90
FeatherThread operator=(const FeatherThread &other)
void setFeatherWorker(Feather *worker)
casacore::ImageInterface< float > * highImage
Definition: FeatherThread.h:86
casacore::ImageInterface< float > * lowImage
Definition: FeatherThread.h:85
bool collectConvolvedData(DataTypes original, DataTypes cut)
casacore::ImageInterface< float > * makeConvolvedImage(casacore::ImageInterface< float > *firstImage, casacore::ImageInterface< float > *secondImage)
Computes First Image x Second Image.
void setRadial(bool radialPlot)
static casacore::ImageInterface< float > * addMissingAxes(casacore::ImageInterface< float > *firstImage)
void setImages(casacore::ImageInterface< float > *lowImage, casacore::ImageInterface< float > *highImage, casacore::ImageInterface< float > *dirtyImage)
Feather * featherWorker
Definition: FeatherThread.h:83
bool isSuccess() const
bool setWorkerImages(casacore::ImageInterface< float > *imageLow, casacore::ImageInterface< float > *imageHigh)
casacore::ImageInterface< float > * dirtyImage
Definition: FeatherThread.h:87
void setSaveOutput(bool save, const QString &outputPath="")
#define casacore
&lt;X11/Intrinsic.h&gt; #defines true, false, casacore::Bool, and String.
Definition: X11Intrinsic.h:42