Main Page | Class List | Directories | File List | Class Members | File Members

ObitImageUtil.h

Go to the documentation of this file.
00001 /* $Id: ObitImageUtil.h,v 1.13 2007/08/31 17:24:48 bcotton Exp $       */
00002 /*--------------------------------------------------------------------*/
00003 /*;  Copyright (C) 2003-2007                                          */
00004 /*;  Associated Universities, Inc. Washington DC, USA.                */
00005 /*;                                                                   */
00006 /*;  This program is free software; you can redistribute it and/or    */
00007 /*;  modify it under the terms of the GNU General Public License as   */
00008 /*;  published by the Free Software Foundation; either version 2 of   */
00009 /*;  the License, or (at your option) any later version.              */
00010 /*;                                                                   */
00011 /*;  This program is distributed in the hope that it will be useful,  */
00012 /*;  but WITHOUT ANY WARRANTY; without even the implied warranty of   */
00013 /*;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    */
00014 /*;  GNU General Public License for more details.                     */
00015 /*;                                                                   */
00016 /*;  You should have received a copy of the GNU General Public        */
00017 /*;  License along with this program; if not, write to the Free       */
00018 /*;  Software Foundation, Inc., 675 Massachusetts Ave, Cambridge,     */
00019 /*;  MA 02139, USA.                                                   */
00020 /*;                                                                   */
00021 /*;Correspondence about this software should be addressed as follows: */
00022 /*;         Internet email: bcotton@nrao.edu.                         */
00023 /*;         Postal address: William Cotton                            */
00024 /*;                         National Radio Astronomy Observatory      */
00025 /*;                         520 Edgemont Road                         */
00026 /*;                         Charlottesville, VA 22903-2475 USA        */
00027 /*--------------------------------------------------------------------*/
00028 #ifndef OBITIMAGEUTIL_H 
00029 #define OBITIMAGEUTIL_H 
00030 
00031 #include "Obit.h"
00032 #include "ObitErr.h"
00033 #include "ObitInfoList.h"
00034 #include "ObitUV.h"
00035 #include "ObitImage.h"
00036 #include "ObitImageDesc.h"
00037 #include "ObitUVDesc.h"
00038 #include "ObitFArray.h"
00039 #include "ObitUVGrid.h"
00040 
00041 /*-------- Obit: Software for the recently deceased ------------------*/
00050 /*----------------- Macroes ---------------------------*/
00051 
00074 #define ObitImageUtilSet(in,nVisPIO,nChAvg,rotate,nfield,nx,nxBeam,ny,nyBeam,xCells,yCells,xShift,yShift,err)  G_STMT_START{ \
00075        in->info->dim[0]=1; in->info->dim[1]=1; in->info->dim[2]=1;  \
00076        in->info->dim[3]=1; in->info->dim[4]=1;                      \
00077        in->info->work[0]= nChAvg;  in->info->work[1]= nVisPIO;      \
00078        in->info->fwork[0]= rotate;                                  \
00079        ObitInfoListPut (in->info, "nVisPIO", OBIT_int,              \
00080                   in->info->dim, (gpointer)&in->info->work[1], err);\
00081        ObitInfoListPut (in->info, "nChAvg", OBIT_int,               \
00082                   in->info->dim, (gpointer)&in->info->work[0], err);\
00083        ObitInfoListPut (in->info, "rotate", OBIT_float,             \
00084                   in->info->dim, (gpointer)&in->info->fwork[0],err);\
00085        in->info->dim[0] = nfield;                                   \
00086        ObitInfoListPut (in->info, "nx", OBIT_int, in->info->dim,    \
00087                  (gpointer)&nx, err);                               \
00088        ObitInfoListPut (in->info, "nxBeam", OBIT_int, in->info->dim,\
00089                  (gpointer)&nxBeam, err);                           \
00090        ObitInfoListPut (in->info, "ny", OBIT_int, in->info->dim,    \
00091                  (gpointer)&ny, err);                               \
00092        ObitInfoListPut (in->info, "nyBeam", OBIT_int, in->info->dim,\
00093                  (gpointer)&nyBeam, err);                           \
00094        ObitInfoListPut (in->info, "xCells",OBIT_float,in->info->dim,\
00095                  (gpointer)xCells, err);                            \
00096        ObitInfoListPut (in->info, "yCells",OBIT_float,in->info->dim,\
00097                  (gpointer)yCells, err);                            \
00098        ObitInfoListPut (in->info, "xShift",OBIT_float,in->info->dim,\
00099                  (gpointer)xShift, err);                            \
00100        ObitInfoListPut (in->info, "yShift",OBIT_float,in->info->dim,\
00101                  (gpointer)yShift, err);                            \
00102      }G_STMT_END  
00103 
00104 /*---------------Public functions---------------------------*/
00106 ObitImage* ObitImageUtilCreateImage (ObitUV *inUV, glong fieldNo,
00107                                gboolean doBeam, ObitErr *err);
00108 
00110 void ObitImageUtilMakeImage (ObitUV *inUV, ObitImage *outImage, 
00111                              glong channel, gboolean doBeam, 
00112                              gboolean doWeight, ObitErr *err);
00113 
00115 void 
00116 ObitImageUtilUV2ImageDesc(ObitUVDesc *UVDesc, ObitImageDesc *imageDesc,
00117                           gint nchavg);
00118 
00120 void ObitImageUtilInterpolateImage (ObitImage *inImage, ObitImage *outImage, 
00121                                     gint *inPlane, gint *outPlane,
00122                                     glong hwidth, ObitErr *err);
00123 
00125 void 
00126 ObitImageUtilInterpolateImageZern (ObitImage *inImage, ObitImage *outImage, 
00127                                    gint *inPlane, gint *outPlane,
00128                                    glong hwidth, gint nZern, gfloat *ZCoef, 
00129                                    ObitErr *err);
00130 
00132 void ObitImageUtilInterpolateWeight (ObitImage *inImage, ObitImage *outImage, 
00133                                      ObitImage *outWeight, gboolean memOnly,
00134                                      gint radius, gint *inPlane, gint *outPlane,
00135                                      glong hwidth, ObitErr *err);
00136 
00138 void ObitImageUtilPBCorr (ObitImage *inImage, ObitImage *pntImage, ObitImage *outImage, 
00139                            gint *inPlane, gint *outPlane, gfloat antSize, ObitErr *err);
00140 
00142 void ObitImageUtilPBApply (ObitImage *inImage, ObitImage *pntImage, ObitImage *outImage, 
00143                            gint *inPlane, gint *outPlane, gfloat antSize, ObitErr *err);
00144 
00146 void ObitImageUtilPBImage (ObitImage *pntImage, ObitImage *outImage, 
00147                            gint *outPlane, gfloat antSize, gfloat minGain, 
00148                            ObitErr *err);
00149 
00151 void ObitImageUtilImagParm (gfloat MaxBL, gfloat MaxW,
00152                             gfloat *Cells, gfloat *Radius);
00153 
00155 ObitImage* ObitImageUtilArray2Image (gchar *fileName, gint disk, 
00156                                      ObitFArray *inArray, ObitErr *err);
00157 
00159 ObitImage* ObitImageUtilQuanFITS (ObitImage *inImage, gchar *fileName, 
00160                                   gint disk, ObitErr *err);
00161 
00163 void ObitImageUtilMakeCube (ObitImageDesc *inDesc, ObitUVDesc *uvDesc, 
00164                             ObitImageDesc *outDesc, 
00165                             gchar *Stokes, gint bchan, gint echan, gint incr, ObitErr *err);
00166 
00168 void ObitImageUtilInsertPlane (ObitImage *in, ObitImage *out, glong *plane, 
00169                                ObitErr *err);
00170 
00172 void ObitImageUtilVel (ObitImage *inImage, ObitImage *outImage, ObitErr *err);
00173 
00175 void ObitImageUtilSelCopy (ObitImage *inImage, ObitImage *outImage, ObitErr *err);
00176 
00177 #endif /* OBITIMAGEUTIL_H */ 

Generated on Fri Aug 31 22:13:04 2007 for Obit by  doxygen 1.3.9.1