casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FeatherManager.qo.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 FEATHERMANAGER_H_
28 #define FEATHERMANAGER_H_
32 #include <QObject>
33 namespace casacore{
34 
35 template <class T> class ImageInterface;
36 class LogIO;
37 }
38 
39 namespace casa {
40 
41 //FeatherWorker1 (SD, INT)
42 //- SD //getFTCutSDImage
43 //- SD weighted and scaled //getFeatheredCutSD
44 //- INT //getFTCutIntImage
45 //- INT weighted and scaled //getFeatheredCutInt
46 
47 //FeatherWorker2 (SD, DIRTY)
48 // - DIRTY //getFtCutIntImage
49 // - DIRTY, weighted and scaled //getFeatheredCutInt
50 
51 //FeatherWorker3 ( SD convolved with int synthesized beam, INT )
52 //- SD convolved with INT synthesized beam //getFTCutSDImage
53 //- SD convolved with INT synthesized beam; weighted and scaled //getFeatheredCutSD
54 
55 //FeatherWorker4 ( SD convolved with DIRTY beam, DIRTY )
56 //- SD convolved with DIRTY beam //getFTCutSDImage
57 //- SD convolved with DIRTY beam, weighted and scaled //getFeatheredCutSD
58 
59 //FeatherWorker5 ( SD, INT Convolved with SD resolution (beam) )
60 //- INT convolved with SD resolution (beam) //getFTCutIntImage
61 //- INT convolved with SD resolution (beam), weighted and scaled //getFeatheredCutInt
62 
63 //FeatherWorker6 (SD, DIRTY )
64 //- DIRTY (or other image) //getFTCutIntImage
65 //- DIRTY (or other image), weighted and scaled //getFeatheredCutInt
66 
67 //FeatherWorker7( SD, DIRTY Convolved with SD resolution (beam) )
68 //- DIRTY convolved with SD resolution (beam) //getFTCutIntImage
69 //- DIRTY convolved with SD resolution (beam), weighted and scaled //getFeatheredCutInt
70 
71 
72 
73 
79 class FeatherManager : public QObject {
80  Q_OBJECT
81 public:
83  bool isReady() const ;
84  bool isSuccess() const;
85  bool loadImages( const QString& lowImagePath, const QString& highImagePath, casacore::LogIO* logger );
86  bool loadDirtyImage( const QString& dirtyImagePath);
87  void applyFeather( bool saveOutput, const QString& outputImagePath );
88  void getEffectiveDishDiameter( float& xDiam, float& yDiam );
89  bool setEffectiveDishDiameter( float xDiam, float yDiam );
90  void setSDScale( float scale );
91  void setRadial( bool radialPlot );
92  void setChannelsAveraged( bool averaged );
93  void setChannelIndex( int index );
94  bool isRadial() const;
95  int getPlaneCount() const;
96  int getChannelIndex() const;
97  QString getError() const;
98  bool isFileSaved() const;
99  bool isChannelsAveraged() const;
100 
101  //Data
105 
106  FeatheredData getSDWeight() const;
107  FeatheredData getIntWeight() const;
108 
109  FeatheredData getSDCut() const;
110  FeatheredData getIntCut() const;
111  FeatheredData getDirtyCut() const;
112 
117 
120  //FeatheredData getSDConvolvedDirtyOrig();
121  //FeatheredData getSDConvolvedDirtyCut() const;
122  virtual ~FeatherManager();
123 signals:
124  void featheringDone();
125 private slots:
126  void featherDone();
127 private:
128  FeatherManager( const FeatherManager& other );
129  FeatherManager operator=( const FeatherManager& other );
131  bool generateInputImage( QString highResImagePath, QString lowResImagePath);
132  bool generateDirtyImage( QString dirtyImagePath);
135  void resetBasicFeedImages();
136  void resetDirtyFeedImage();
145  QString errorMessage;
149  bool success;
151 };
152 
153 } // end namespace casa
154 
155 #endif /* FEATHERMANAGER_H_ */
void setSDScale(float scale)
FeatheredData getSDCut() const
casacore::ImageInterface< float > * lowResFeedImage
bool generateDirtyImage(QString dirtyImagePath)
Gathers up the data from the feathering process and stores it.
Definition: FeatherThread.h:49
Forward declaration.
Definition: Feather.h:47
void setChannelIndex(int index)
bool loadImages(const QString &lowImagePath, const QString &highImagePath, casacore::LogIO *logger)
FeatheredData getDirtyOrig()
int getChannelIndex() const
void setRadial(bool radialPlot)
casacore::ImageInterface< float > * highResFeedImage
FeatheredData getIntConvolvedSDOrig()
FeatheredData getDirtyCut() const
casacore::ImageInterface< float > * dirtyImage
ostream-like interface to creating log messages.
Definition: LogIO.h:167
casacore::ImageInterface< float > * dirtyFeedImage
casacore::ImageInterface< float > * highResImage
void setChannelsAveraged(bool averaged)
FeatherWorker1 (SD, INT)
FeatheredData getSDConvolvedIntCut() const
void getEffectiveDishDiameter(float &xDiam, float &yDiam)
bool isRadial() const
bool loadDirtyImage(const QString &dirtyImagePath)
void applyFeather(bool saveOutput, const QString &outputImagePath)
FeatheredData getSDOrig()
Data.
FeatheredData getIntConvolvedSDCut() const
casacore::ImageInterface< float > * lowResImage
FeatheredData getSDWeight() const
int getPlaneCount() const
FeatherManager operator=(const FeatherManager &other)
bool isChannelsAveraged() const
casacore::Data structure class to collect related feather data in one location.
Definition: FeatheredData.h:39
FeatheredData getIntCut() const
casacore::LogIO * logger
FeatheredData getIntWeight() const
casacore::ImageInterface< float > * getSinglePlaneImage(casacore::ImageInterface< float > *image) const
FeatheredData getSDConvolvedIntOrig()
FeatheredData getDirtyConvolvedSDOrig()
virtual ~FeatherManager()
FeatheredData getSDConvolvedDirtyOrig(); FeatheredData getSDConvolvedDirtyCut() const;.
bool isFileSaved() const
bool isReady() const
bool isSuccess() const
FeatheredData getConvolvedOrig(casacore::ImageInterface< float > *image) const
QString getError() const
FeatheredData getDirtyConvolvedSDCut() const
FeatheredData getIntOrig()
bool setEffectiveDishDiameter(float xDiam, float yDiam)
bool generateInputImage(QString highResImagePath, QString lowResImagePath)
FeatherThread * thread
#define casacore
&lt;X11/Intrinsic.h&gt; #defines true, false, casacore::Bool, and String.
Definition: X11Intrinsic.h:42