IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 20, 2005, 4:27:25 AM (21 years ago)
Author:
eugene
Message:

substantial cleanup of photometry extraction functions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/dvo/region_list.c

    r3462 r4585  
    11# include "dvo1.h"
     2
     3static int RegionSelect;
     4
     5int GetRegionSelection () {
     6  return (RegionSelect);
     7}
     8
     9int SetRegionSelection (int *argc, char **argv, char **RegionName, char **RegionList) {
     10 
     11  int N;
     12
     13  RegionSelect = FALSE;
     14
     15  /* check for Region selection */
     16  *RegionName = NULL;
     17  if (N = get_argument (*argc, argv, "-cpt")) {
     18    remove_argument (N, argc, argv);
     19    *RegionName = strcreate (argv[N]);
     20    remove_argument (N, argc, argv);
     21    return (TRUE);
     22  }   
     23  /* check for Region list */
     24  *RegionList = NULL;
     25  if (N = get_argument (*argc, argv, "-cptlist")) {
     26    remove_argument (N, argc, argv);
     27    *RegionList = strcreate (argv[N]);
     28    remove_argument (N, argc, argv);
     29    return (TRUE);
     30  }
     31  if ((*RegionName == NULL) && (*RegionList == NULL)) {
     32    RegionSelect = TRUE;
     33    return (TRUE);
     34  }
     35
     36  fprintf (stderr, "-cpt and -cptlist are incompatible\n");
     37  free (*RegionName);
     38  free (*RegionList);
     39  *RegionName = NULL;
     40  *RegionList = NULL;
     41  return (FALSE);
     42}
     43
     44RegionFile *SelectRegions (char *RegionName, char *RegionList, int *nregions) {
     45
     46  double Radius;
     47  int Ngraph;
     48  Graphdata graphsky;
     49  RegionFile *regions;
     50
     51  /* determine region-file names */
     52  if (RegionName != NULL) {
     53    *nregions = 1;
     54    ALLOCATE (regions, RegionFile, 1);
     55    strcpy (regions[0].name, RegionName);
     56    free (RegionName);
     57    RegionName = NULL;
     58    return (regions);
     59  }
     60  if (RegionList != NULL) {
     61    regions = region_list (RegionList, nregions);
     62    free (RegionList);
     63    RegionList = NULL;
     64    return (regions);
     65  }
     66
     67  Ngraph = 0;
     68  if (!GetGraphData (&graphsky, NULL, &Ngraph)) {
     69    fprintf (stderr, "region display not available\n");
     70    return (NULL);
     71  }
     72
     73  Radius = MAX (fabs(graphsky.xmax), fabs(graphsky.ymax));
     74  regions = find_regions (graphsky.coords.crval1, graphsky.coords.crval2, Radius, nregions);
     75  return (regions);
     76}
    277
    378/* returns a list of region files names from file */
     
    1287    fprintf (stderr, "ERROR: can't find region list file %s\n", filename);
    1388    *Nregions = 0;
    14     return ((RegionFile *) NULL);
     89    return (NULL);
    1590  }
    1691 
     
    28103
    29104  *Nregions = nregion;
    30 
    31105  return (regions);
    32 
    33106}
    34107
Note: See TracChangeset for help on using the changeset viewer.