SDAlgorithmClarkClean2.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
00028
00029 #ifndef SYNTHESIS_SDALGORITHMCLARKCLEAN2_H
00030 #define SYNTHESIS_SDALGORITHMCLARKCLEAN2_H
00031
00032 #include <ms/MeasurementSets/MeasurementSet.h>
00033
00034 #include <casa/Arrays/Matrix.h>
00035 #include <images/Images/ImageInterface.h>
00036 #include <images/Images/PagedImage.h>
00037 #include <images/Images/TempImage.h>
00038 #include <casa/Logging/LogMessage.h>
00039 #include <casa/Logging/LogSink.h>
00040 #include <casa/System/PGPlotter.h>
00041
00042 #include<synthesis/ImagerObjects/SDAlgorithmBase.h>
00043
00044 namespace casa {
00045
00046
00047 class SIMinorCycleController;
00048
00049
00050 class SDAlgorithmClarkClean2 : public SDAlgorithmBase
00051 {
00052 public:
00053
00054
00055 SDAlgorithmClarkClean2(String clarktype);
00056 virtual ~SDAlgorithmClarkClean2();
00057
00058 protected:
00059
00060
00061 virtual void takeOneStep( Float loopgain, Int cycleNiter, Float cycleThreshold, Float &peakresidual, Float &modelflux, Int &iterdone );
00062
00063 virtual void initializeDeconvolver();
00064 virtual void finalizeDeconvolver();
00065 virtual void queryDesiredShape(Int &nchanchunks, Int& npolchunks, IPosition imshape);
00066
00067 Array<Float> itsMatResidual, itsMatModel, itsMatPsf, itsMatMask;
00068 Array<Float> itsMatDeltaModel;
00069
00070 Int psfpatch_p;
00071
00072 };
00073
00074 }
00075
00076 #endif