Changeset 4864 for trunk/Ohana/src/relphot
- Timestamp:
- Aug 23, 2005, 8:55:22 PM (21 years ago)
- Location:
- trunk/Ohana/src/relphot
- Files:
-
- 5 added
- 6 edited
-
Makefile (modified) (1 diff)
-
include/relphot.h (modified) (4 diffs)
-
src/MosaicOps.c (modified) (1 diff)
-
src/SetSignals.c (added)
-
src/Shutdown.c (added)
-
src/check_permissions.c (added)
-
src/find_images.c (modified) (4 diffs)
-
src/image-db.c (added)
-
src/load_images.c (modified) (2 diffs)
-
src/relphot.c (modified) (2 diffs)
-
src/wimages.c (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/relphot/Makefile
r4805 r4864 42 42 $(SRC)/misc.$(ARCH).o \ 43 43 $(SRC)/reload_catalogs.$(ARCH).o \ 44 $(SRC)/image-db.$(ARCH).o \ 44 45 $(SRC)/free_catalogs.$(ARCH).o \ 46 $(SRC)/check_permissions.$(ARCH).o \ 45 47 $(SRC)/setMrelFinal.$(ARCH).o \ 46 48 $(SRC)/write_coords.$(ARCH).o \ 47 49 $(SRC)/setExclusions.$(ARCH).o \ 50 $(SRC)/Shutdown.$(ARCH).o \ 51 $(SRC)/SetSignals.$(ARCH).o \ 48 52 $(SRC)/wcatalog.$(ARCH).o 49 53 -
trunk/Ohana/src/relphot/include/relphot.h
r4828 r4864 1 1 # include <ohana.h> 2 2 # include <dvo.h> 3 # include <signal.h> 3 4 4 5 /* # define GRID_V1 */ … … 118 119 void findImages PROTO((Catalog *catalog, int Ncatalog)); 119 120 int findMosaics PROTO((Catalog *catalog, int Ncatalog)); 120 Image *find_images PROTO((GSCRegion *region, int Nregion, int *Nimages, int **LineNum)); 121 Image *find_images PROTO((FITS_DB *db, GSCRegion *region, int Nregion, int *Nimage, int **LineNum)); 122 void set_db (FITS_DB *in); 123 int Shutdown (char *format, ...); 124 void TrapSignal (int sig); 125 void SetProtect (int mode); 126 int SetSignals (); 127 121 128 GSCRegion *find_regions PROTO((Image *image, int Nimage, int *Nregions, GSCRegion *fullregion)); 122 129 void freeGridBins PROTO((int Ncatalog)); … … 147 154 int liststats PROTO((double *value, double *dvalue, int N, StatType *stats)); 148 155 Catalog *load_catalogs PROTO((GSCRegion *region, int Nregion, GSCRegion *fullregion)); 149 GSCRegion *load_images PROTO((char *seed, int *nregion, GSCRegion *fullregion)); 156 GSCRegion *load_images PROTO((FITS_DB *db, char *seed, int *nregion, GSCRegion *fullregion)); 157 158 void check_permissions (char *basefile); 159 void lock_image_db (FITS_DB *db, char *filename); 160 void unlock_image_db (FITS_DB *db); 161 void create_image_db (FITS_DB *db); 162 150 163 int main PROTO((int argc, char **argv)); 151 164 void mark_images PROTO((Image *image, int Nimage, Image *timage, int Ntimage)); … … 167 180 int setExclusions PROTO((Catalog *catalog, int Ncatalog)); 168 181 void setMcal PROTO((Catalog *catalog, int Poor)); 169 void setMcalFinal PROTO(( Image *image, int Nimage));182 void setMcalFinal PROTO(()); 170 183 int setMcalOutput PROTO((Catalog *catalog, int Ncatalog)); 171 184 void setMgrid PROTO((Catalog *catalog)); -
trunk/Ohana/src/relphot/src/MosaicOps.c
r4796 r4864 167 167 } 168 168 169 void setMcalFinal (Image *image, int Nimage) { 170 171 int i, j, im; 169 void setMcalFinal () { 170 171 int i, j, im, Nimage; 172 Image *image; 172 173 173 174 if (!MOSAICNAME[0]) return; 175 176 image = getimages (&Nimage); 174 177 175 178 for (i = 0; i < Nmosaic; i++) { -
trunk/Ohana/src/relphot/src/find_images.c
r4796 r4864 7 7 images */ 8 8 9 Image *find_images (GSCRegion *region, int Nregion, int *Nimages, int **LineNum) { 10 11 Header header; 9 Image *find_images (FITS_DB *db, GSCRegion *region, int Nregion, int *Nimage, int **LineNum) { 10 12 11 Image *timage, *image; 13 int i, j, k, m, found, nimage, Nimage, NIMAGE; 14 int status, InRange, ecode; 15 FILE *f; 12 int i, j, k, m, found, nimage, Ntimage, NIMAGE; 13 int InRange, ecode; 16 14 double Xc[5], Yc[5], Xi[5], Yi[5], r, d, dx, dy; 17 15 int *line_number; … … 29 27 strcpy (tcoords.ctype, "RA---TAN"); 30 28 31 /* check if image datafile exists, get header, number of images */ 32 if (!fits_read_header (ImageCat, &header)) { 33 fprintf (stderr, "ERROR: No images in catalog %s (1)\n", ImageCat); 34 exit (0); 35 } 36 Nimage = 0; 37 fits_scan (&header, "NIMAGES", "%d", 1, &Nimage); 38 if (Nimage == 0) { 39 fprintf (stderr, "ERROR: No images in catalog %s (1)\n", ImageCat); 40 exit (0); 41 } 42 43 /* get ready to read data on images */ 44 f = fopen (ImageCat, "r"); 45 if (f == (FILE *) NULL) { 46 fprintf (stderr, "ERROR: trouble opening Image catalog: %s (2)\n", ImageCat); 47 exit (0); 48 } 49 fseek (f, header.size, SEEK_SET); 50 51 /* load all images */ 52 ALLOCATE (timage, Image, Nimage); 53 status = Fread (timage, sizeof(Image), Nimage, f, "image"); 54 if (status != Nimage) { 55 fprintf (stderr, "ERROR: couldn't read images from image catalog: %s\n", ImageCat); 56 exit (0); 57 } 29 timage = fits_table_get_Image (&db[0].ftable, &Ntimage, &db[0].swapped); 58 30 59 31 nimage = 0; … … 62 34 ALLOCATE (line_number, int, NIMAGE); 63 35 64 for (i = 0; i < N image; i++) {36 for (i = 0; i < Ntimage; i++) { 65 37 66 38 /* select images by photcode */ … … 153 125 REALLOCATE (line_number, int, MAX (nimage, 1)); 154 126 155 free (timage); 156 *Nimages = nimage; 127 *Nimage = nimage; 157 128 *LineNum = line_number; 158 fclose (f);159 129 return (image); 160 130 } -
trunk/Ohana/src/relphot/src/load_images.c
r2486 r4864 1 1 # include "relphot.h" 2 2 3 static int Nimage; 4 static int *Line; 5 static Image *image; 6 7 GSCRegion *load_images (char *seed, int *nregion, GSCRegion *fullregion) { 3 GSCRegion *load_images (FITS_DB *db, char *seed, int *nregion, GSCRegion *fullregion) { 8 4 9 5 GSCRegion *region; 10 int Nregion, Ntimage; 11 Image *timage; 6 int Nregion; 7 Image *image; 8 int *Line; 9 int Nimage; 10 11 if (db[0].dbstate == LCK_EMPTY) Shutdown ("ERROR: No images in catalog %s (1)", db[0].filename); 12 13 /* read entire db table */ 14 if (!dvo_image_load (db, VERBOSE, FALSE)) Shutdown ("can't read image catalog %s", db[0].filename); 12 15 13 16 region = name_region (seed, &Nregion); 14 17 15 18 /* find images which supplied all measurements */ 16 timage = find_images (region, Nregion, &Ntimage, &Line);19 image = find_images (db, region, Nregion, &Nimage, &Line); 17 20 free (Line); 18 21 19 22 /* find all region files which touch images */ 20 region = find_regions ( timage, Ntimage, &Nregion, fullregion);21 free ( timage);23 region = find_regions (image, Nimage, &Nregion, fullregion); 24 free (image); 22 25 23 26 /* find images which supplied all measurements for all regions */ 24 image = find_images ( region, Nregion, &Nimage, &Line);27 image = find_images (db, region, Nregion, &Nimage, &Line); 25 28 getfullregion (image, Nimage, fullregion); 29 30 fits_vtable_from_ftable (&db[0].ftable, &db[0].vtable, Line, Nimage); 26 31 27 32 initImages (image, Nimage); … … 30 35 *nregion = Nregion; 31 36 return (region); 32 33 37 } 34 35 void wimages () {36 37 int i, status, mode;38 FILE *f;39 Header header;40 41 setMcalFinal (image, Nimage);42 43 if (!fits_read_header (ImageCat, &header)) {44 fprintf (stderr, "ERROR: can't find %s\n", ImageCat);45 exit (0);46 }47 48 f = fopen (ImageCat, "r+");49 if (f == NULL) {50 fprintf (stderr, "ERROR: can't open image catalog file to append: %s\n", ImageCat);51 exit (0);52 }53 mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;54 chmod (ImageCat, mode);55 56 if (VERBOSE) fprintf (stderr, "writing out %d images\n", Nimage);57 for (i = 0; i < Nimage; i++) {58 fseek (f, header.size + Line[i]*sizeof(Image), SEEK_SET);59 status = Fwrite (&image[i], sizeof(Image), 1, f, "image");60 if (status != 1) {61 fprintf (stderr, "ERROR: failure writing image data to catalog %s\n", ImageCat);62 exit (0);63 }64 }65 66 fclose (f);67 } -
trunk/Ohana/src/relphot/src/relphot.c
r4796 r4864 7 7 Catalog *catalog; 8 8 GSCRegion fullregion, *region; 9 FITS_DB db; 9 10 10 11 /* get configuration info, args */ 11 12 initialize (argc, argv); 12 13 14 set_db (&db); 15 lock_image_db (&db, ImageCat); 16 13 17 /* load regions and images based on seed region */ 14 region = load_images ( argv[1], &Ncatalog, &fullregion);18 region = load_images (&db, argv[1], &Ncatalog, &fullregion); 15 19 16 20 /* load catalog data from region files */ … … 79 83 /* load catalog data from region files, update Mrel include all data */ 80 84 reload_catalogs (region, Ncatalog, &fullregion); 81 wimages (); 85 setMcalFinal (); 86 dvo_image_update (&db, VERBOSE); 87 unlock_image_db (&db); 88 82 89 exit (0); 83 90 }
Note:
See TracChangeset
for help on using the changeset viewer.
