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 #ifndef OBITDCONCLEANWINDOW_H
00029 #define OBITDCONCLEANWINDOW_H
00030
00031 #include "Obit.h"
00032 #include "ObitImageMosaic.h"
00033 #include "ObitErr.h"
00034
00035
00075
00077 typedef struct {
00078 #include "ObitDConCleanWindowDef.h"
00079 } ObitDConCleanWindow;
00080
00081
00086 enum ObitDConCleanWindowType {
00088 OBIT_DConCleanWindow_rectangle = 0,
00090 OBIT_DConCleanWindow_round,
00092 OBIT_DConCleanWindow_unrectangle,
00094 OBIT_DConCleanWindow_unround
00095 };
00099 typedef enum ObitDConCleanWindowType ObitDConCleanWindowType;
00100
00101
00107 #define ObitDConCleanWindowUnref(in) ObitUnref (in)
00108
00114 #define ObitDConCleanWindowRef(in) ObitRef (in)
00115
00122 #define ObitDConCleanWindowIsA(in) ObitIsA (in, ObitDConCleanWindowGetClass())
00123
00124
00126 void ObitDConCleanWindowClassInit (void);
00127
00129 ObitDConCleanWindow* newObitDConCleanWindow (gchar* name);
00130
00132 ObitDConCleanWindow*
00133 ObitDConCleanWindowCreate (gchar* name, ObitImageMosaic *mosaic, ObitErr *err);
00135 typedef ObitDConCleanWindow* (*ObitDConCleanWindowCreateFP) (gchar* name,
00136 ObitImageMosaic *mosaic,
00137 ObitErr *err);
00138
00140 ObitDConCleanWindow*
00141 ObitDConCleanWindowCreate1 (gchar* name, glong naxis[2], ObitErr *err);
00143 typedef ObitDConCleanWindow*
00144 (*ObitDConCleanWindowCreate1FP) (gchar* name, glong naxis[2], ObitErr *err);
00145
00147 gconstpointer ObitDConCleanWindowGetClass (void);
00148
00150 ObitDConCleanWindow* ObitDConCleanWindowCopy (ObitDConCleanWindow *in,
00151 ObitDConCleanWindow *out,
00152 ObitErr *err);
00153
00155 void ObitDConCleanWindowClone (ObitDConCleanWindow *in,
00156 ObitDConCleanWindow *out,
00157 ObitErr *err);
00158
00160 gboolean ObitDConCleanWindowInfo (ObitDConCleanWindow *in,
00161 glong field, glong Id,
00162 ObitDConCleanWindowType *type,
00163 glong **window, ObitErr *err);
00165 typedef gboolean (*ObitDConCleanWindowInfoFP) (ObitDConCleanWindow *in,
00166 glong field, glong Id,
00167 ObitDConCleanWindowType *type,
00168 glong **window, ObitErr *err);
00169
00171 glong ObitDConCleanWindowSearch (ObitDConCleanWindow *in,
00172 glong field, glong pixel[2],
00173 glong toler, gint *which, ObitErr *err);
00175 typedef glong (*ObitDConCleanWindowSearchFP) (ObitDConCleanWindow *in,
00176 glong field, glong pixel[2],
00177 glong toler, gint *which,
00178 ObitErr *err);
00179
00181 glong ObitDConCleanWindowAdd (ObitDConCleanWindow *in,
00182 glong field, ObitDConCleanWindowType type,
00183 glong *window, ObitErr *err);
00185 typedef glong (*ObitDConCleanWindowAddFP) (ObitDConCleanWindow *in,
00186 glong field,
00187 ObitDConCleanWindowType type,
00188 glong *window, ObitErr *err);
00189
00191 void ObitDConCleanWindowDel (ObitDConCleanWindow *in,
00192 glong field, glong Id, ObitErr *err);
00194 typedef void (*ObitDConCleanWindowDelFP) (ObitDConCleanWindow *in,
00195 glong field, glong Id, ObitErr *err);
00196
00198 void ObitDConCleanWindowUpdate (ObitDConCleanWindow *in,
00199 glong field, glong Id,
00200 ObitDConCleanWindowType type,
00201 glong *window, ObitErr *err);
00203 typedef void (*ObitDConCleanWindowUpdateFP) (ObitDConCleanWindow *in,
00204 glong field, glong Id,
00205 ObitDConCleanWindowType type,
00206 glong *window, ObitErr *err);
00207
00209 void ObitDConCleanWindowOuter (ObitDConCleanWindow *in, glong field,
00210 ObitDConCleanWindowType type,
00211 glong *window, ObitErr *err);
00213 typedef void (*ObitDConCleanWindowOuterFP) (ObitDConCleanWindow *in,
00214 glong field,
00215 ObitDConCleanWindowType type,
00216 glong *window, ObitErr *err);
00217
00219 gboolean ObitDConCleanWindowImage (ObitDConCleanWindow *in, glong field,
00220 ObitErr *err);
00222 typedef gboolean (*ObitDConCleanWindowImageFP) (ObitDConCleanWindow *in,
00223 glong field, ObitErr *err);
00224
00226 gboolean ObitDConCleanWindowRow (ObitDConCleanWindow *in, glong field, glong row,
00227 gboolean **mask, ObitErr *err);
00229 typedef gboolean (*ObitDConCleanWindowRowFP) (ObitDConCleanWindow *in,
00230 glong field, glong row,
00231 gboolean **mask, ObitErr *err);
00232
00234 gboolean ObitDConCleanWindowInnerRow (ObitDConCleanWindow *in, glong field, glong row,
00235 gboolean **mask, ObitErr *err);
00237 typedef gboolean (*ObitDConCleanWindowInnerRowFP) (ObitDConCleanWindow *in,
00238 glong field, glong row,
00239 gboolean **mask, ObitErr *err);
00240
00242 gboolean ObitDConCleanWindowUnrow (ObitDConCleanWindow *in, glong field, glong row,
00243 gboolean **mask, ObitErr *err);
00245 typedef gboolean (*ObitDConCleanWindowUnrowFP) (ObitDConCleanWindow *in,
00246 glong field, glong row,
00247 gboolean **mask, ObitErr *err);
00248
00250 gboolean ObitDConCleanWindowOuterRow (ObitDConCleanWindow *in, glong field,
00251 glong row, gboolean **mask, ObitErr *err);
00253 typedef gboolean (*ObitDConCleanWindowOuterRowFP) (ObitDConCleanWindow *in,
00254 glong field, glong row,
00255 gboolean **mask, ObitErr *err);
00256
00258 glong ObitDConCleanWindowSize (ObitDConCleanWindow *in, glong field,
00259 ObitErr *err);
00261 typedef glong (*ObitDConCleanWindowSizeFP) (ObitDConCleanWindow *in,
00262 glong field, ObitErr *err);
00263
00265 glong ObitDConCleanWindowCount (ObitDConCleanWindow *in, glong field,
00266 ObitErr *err);
00268 typedef glong (*ObitDConCleanWindowCountFP) (ObitDConCleanWindow *in,
00269 glong field,
00270 ObitDConCleanWindowType type,
00271 glong *window, ObitErr *err);
00272
00274 gboolean
00275 ObitDConCleanWindowAutoWindow (ObitDConCleanWindow *in,
00276 glong field, ObitFArray *image,
00277 gboolean doAbs,
00278 gfloat *PeakIn, glong *PeakInPos,
00279 gfloat *PeakOut, gfloat *RMS,
00280 ObitErr *err);
00282 typedef gboolean
00283 (*ObitDConCleanWindowAutoWindowFP) (ObitDConCleanWindow *in,
00284 glong field, ObitFArray *image,
00285 gfloat *PeakIn, glong *PeakInPos,
00286 gfloat *PeakOut, gfloat *RMS,
00287 ObitErr *err);
00288
00290 void
00291 ObitDConCleanWindowReplaceField (ObitDConCleanWindow *in, glong ifield,
00292 ObitDConCleanWindow *out, glong ofield,
00293 ObitErr *err);
00295 typedef void
00296 (*ObitDConCleanWindowReplaceFieldFP) (ObitDConCleanWindow *in, glong ifield,
00297 ObitDConCleanWindow *out, glong ofield,
00298 ObitErr *err);
00299
00301 glong
00302 ObitDConCleanWindowAddField (ObitDConCleanWindow *in,
00303 glong inaxes[2], ObitErr *err);
00305 typedef glong
00306 (*ObitDConCleanWindowAddFieldFP) (ObitDConCleanWindow *in,
00307 glong inaxes[2], ObitErr *err);
00308
00309
00315 typedef struct {
00316 #include "ObitDConCleanWindowClassDef.h"
00317 } ObitDConCleanWindowClassInfo;
00318
00319 #endif