IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changes in / [30:20]


Ignore:
Location:
/trunk/Ohana/src
Files:
1 deleted
17 edited

Legend:

Unmodified
Added
Removed
  • /trunk/Ohana/src/imregister/base/ConfigFilter.c

    r30 r20  
    6767  int i, blank;
    6868
    69   /* convert spaces to . */
    7069  blank = FALSE;
    7170  p = line;
     
    8281  *p = 0;
    8382
    84   /* find defined filter name */
    8583  for (i = 0; i < NFILTER; i++) {
    8684    if (!strcasecmp (line, filtername[i])) {
    87       /* careful: line[80] */
    8885      strcpy (line, filterhash[filternum[i]]);
    8986      return (TRUE);
    9087    }
    9188  }     
    92   fprintf (stderr, "unknown filter %s\n", line);
    93   return (FALSE);
     89  fprintf (stderr, "invalid filter %s\n", line);
     90  snprintf (tmp, 30, "UKN:%s", line);
     91  strcpy (line, tmp);
     92  return (TRUE);
    9493}
  • /trunk/Ohana/src/imregister/base/ConfigInit.c

    r30 r20  
    3131  WarnConfig (config, "DETREND_RECIPES",             "%s", 0, RecipeFile);
    3232                                                   
    33   /* pixel scale for FWHM */
    34   WarnConfig (config, "ASEC_PIX",                    "%lf", 0, &ARCSEC_PIXEL);
    35 
    3633  /* keyword abstractions for parse_time */       
    3734  WarnConfig (config, "DATE-KEYWORD",                "%s", 0, DateKeyword);
  • /trunk/Ohana/src/imregister/detrend/args.detsearch.c

    r30 r20  
    8585  }
    8686 
    87   /* image mode (mef, splt, etc) */
    88   base.ModeSelect = FALSE;
    89   base.Mode = M_NONE;
    90   if (N = get_argument (argc, argv, "-mode")) {
    91     remove_argument (N, &argc, argv);
    92     for (i = 0; (i < NMODE) && (base.Mode == M_NONE); i++) {
    93       if (!strncasecmp (argv[N], modename[i], strlen(argv[N]))) base.Mode = i;
    94     }
    95     if (base.Mode == M_NONE) {
    96       fprintf (stderr, "ERROR: invalid image mode %s\n", argv[N]);
    97       exit (1);
    98     }
    99     remove_argument (N, &argc, argv);
    100     base.ModeSelect = TRUE;
    101   }
    102  
    10387  /* define time / ranges */
    10488  tstart = tstop = (unsigned long *) NULL;
     
    275259    if (!strcasecmp (output.ModifyEntry, "label")) goto valid_entry;
    276260    if (!strcasecmp (output.ModifyEntry, "order")) goto valid_entry;
    277     if (!strcasecmp (output.ModifyEntry, "mode"))  goto valid_entry;
    278261    if (!strcasecmp (output.ModifyEntry, "tstop")) goto valid_entry;
    279262    if (!strcasecmp (output.ModifyEntry, "tstart")) goto valid_entry;
  • /trunk/Ohana/src/imregister/detrend/criteria.c

    r30 r20  
    1414  for (i = 0; (i < Ncriteria) && (match.state == MATCH_NONE); i++) {
    1515
    16     if (criteria[i].CCDSelect) {
    17       if (image[0].mode == M_MEF) goto valid_ccd;
    18       if (image[0].mode == M_MODES) goto valid_ccd;
    19       if (image[0].ccd  == criteria[i].CCD) goto valid_ccd;
    20       continue;
    21     }
    22   valid_ccd:
    23 
     16    /***********  fix this *****/
     17    if (criteria[i].CCDSelect    && (image[0].ccd             != criteria[i].CCD))    continue;
    2418    if (criteria[i].TypeSelect   && (image[0].type            != criteria[i].Type))   continue;
    25     if (criteria[i].ModeSelect   && (image[0].mode            != criteria[i].Mode))   continue;
    2619    if (criteria[i].FilterSelect && (image[0].filter          != criteria[i].Filter)) continue;
    2720
  • /trunk/Ohana/src/imregister/detrend/define.c

    r30 r20  
    2323    fits_define_bintable_column (theader, "J",    "VERSION",    "image version number",      "",                              1.0, 0.0);
    2424    fits_define_bintable_column (theader, "J",    "ORDER",      "selection order",           "",                              1.0, 0.0);
    25     fits_define_bintable_column (theader, "A",    "MODE",       "image mode",                "",                              1.0, 0.0);
    26     fits_define_bintable_column (theader, "59A",  "RESERVED",   "space for additions",       "",                              1.0, 0.0);
     25    fits_define_bintable_column (theader, "60A",  "RESERVED",   "space for additions",       "photcode",                      1.0, 0.0);
    2726    fits_define_bintable_column (theader, "64A",  "LABEL",      "data label",                "",                              1.0, 0.0);
    2827    fits_define_bintable_column (theader, "256A", "PATH",       "filename in db",            "",                              1.0, 0.0);
  • /trunk/Ohana/src/imregister/detrend/entry.c

    r30 r20  
    1818  newdata.exptime   = descriptor.Exptime;
    1919  newdata.Norder    = descriptor.order;
    20   newdata.mode      = descriptor.mode;
    21   bzero (newdata.dummy, 59);
     20  bzero (newdata.dummy, 60);
    2221  snprintf (newdata.label, 64, "%s", descriptor.label);
    2322 
  • /trunk/Ohana/src/imregister/detrend/imdef.c

    r30 r20  
    44int DefineImage (char *filename, Descriptor *descriptor) {
    55
    6   int i, Extend, Nextend;
     6  int i;
    77  char line[512];
    88  Header header;
     
    2121    }
    2222    for (i = 0; i < NTYPE; i++) {
    23       if (!strcasecmp (line, typename[i])) {
     23      if (!strncasecmp (line, typename[i], strlen(typename[i]))) {
    2424        descriptor[0].type = i;
    2525      }
     
    4444  }
    4545
    46   /* modes: a special case */
    47   if (descriptor[0].type == T_MODES) {
    48     descriptor[0].mode      = M_MODES;
    49     descriptor[0].CCD       = Nccd;
    50     descriptor[0].CCDSelect = TRUE;
    51   }
    52 
    53   /* identify MODE (MEF / SPLIT)  */
    54   descriptor[0].mode = MODE_SPLIT;
    55   Extend = FALSE;
    56   fits_scan (&header, "EXTEND", "%t", 1, &Extend);
    57   if (Extend) {
    58     descriptor[0].mode      = M_MEF;
    59     descriptor[0].CCD       = Nccd;
    60     descriptor[0].CCDSelect = TRUE;
    61     fits_scan (&header, "NEXTEND",  "%d", 1, &Nextend);
    62     if (Nextend != Nccd) {
    63       fprintf (stderr, "warning: NEXTEND != Nccd (%d, %d)\n", Nextend, Nccd);
    64     }     
    65   }
    66 
    6746  /* now identify CCD number */
    6847  if (!descriptor[0].CCDSelect) {
    69     char ID[64];
     48    if (descriptor[0].type != T_MODES) {
     49      char ID[64];
    7050
    71     descriptor[0].CCD = -1;
    72     if (!fits_scan (&header, CCDnumKeyword, "%s", 1, ID)) {
    73       fprintf (stderr, "ERROR: failure to read %s from header\n", CCDnumKeyword);
    74       exit (1);
     51      descriptor[0].CCD = -1;
     52      if (!fits_scan (&header, CCDnumKeyword, "%s", 1, ID)) {
     53        fprintf (stderr, "ERROR: failure to read %s from header\n", CCDnumKeyword);
     54        exit (1);
     55      }
     56      for (i = 0; (i < Nccd) && (descriptor[0].CCD == -1); i++) {
     57        if (strnumcmp (ID, ccds[i])) {
     58          descriptor[0].CCD = i;
     59        }
     60      }
     61      if (descriptor[0].CCD == -1) {
     62        fprintf (stderr, "warning: ccd id not found\n");
     63        descriptor[0].CCD = 0;
     64      }
     65      descriptor[0].CCDSelect = TRUE;
     66    } else {
     67      descriptor[0].CCD = Nccd;
    7568    }
    76     for (i = 0; (i < Nccd) && (descriptor[0].CCD == -1); i++) {
    77       if (strnumcmp (ID, ccds[i])) {
    78         descriptor[0].CCD = i;
    79       }
    80     }
    81     if (descriptor[0].CCD == -1) {
    82       fprintf (stderr, "warning: ccd id not found\n");
    83       descriptor[0].CCD = 0;
    84     }
    85     descriptor[0].CCDSelect = TRUE;
    8669  }
    8770
  • /trunk/Ohana/src/imregister/detrend/modify.c

    r30 r20  
    44int ModifySubset (Match *match, int Nmatch) {
    55 
    6   int i, j, Nimage, value;
     6  int i, j, Nimage;
    77  int *list;
    88  DetReg *image;
     
    1010  image = get_images (&Nimage);
    1111  ALLOCATE (list, int, Nimage);
    12   if (output.ModifyEntry, "mode") {
    13     for (i = 0; i < NMODE; i++) {
    14       if (!strncasecmp (output.ModifyValue, modename[i], strlen(modename[i]))) {
    15         value = i;
    16         goto valid_mode;
    17       }
    18     }
    19     fprintf (stderr, "ERROR: invalid image mode %s\n", output.ModifyValue);
    20     exit (1);
    21   }
    22   if (!strcasecmp (output.ModifyEntry, "order")) {
    23     value = atoi (output.ModifyValue);
    24   }
    25  valid_mode:
    2612
    2713  /* list matched images */
     
    3420    }
    3521    if (!strcasecmp (output.ModifyEntry, "order")) {
    36       image[i].Norder = value;
    37     }
    38     if (!strcasecmp (output.ModifyEntry, "mode")) {
    39       image[i].mode   = value;
     22      image[i].Norder = atoi (output.ModifyValue);
    4023    }
    4124    if (!strcasecmp (output.ModifyEntry, "tstart")) {
     
    4326    }
    4427    if (!strcasecmp (output.ModifyEntry, "tstop")) {
    45       image[i].tstop  = output.TimeValue;
     28      image[i].tstop = output.TimeValue;
    4629    }
    4730  }
  • /trunk/Ohana/src/imregister/detrend/output.c

    r30 r20  
    5555  DetReg *newdata;
    5656  FILE *f;
    57   char *startstr, *stopstr, *regstr, *line, key[33], ccdinfo[16];
    58   char *filtstr, *typestr, *modestr, *ccdstr, *datestr, *p;
     57  char *startstr, *stopstr, *regstr, *line, key[33];
     58  char *filtstr, *typestr, *ccdstr, *datestr, *p;
    5959  int i;
    6060  unsigned long tsecond;
     
    8484  fits_define_table_column (&theader, "A10",  "IMAGETYP",   "detrend type",              "");
    8585  fits_define_table_column (&theader, "A10",  "FILTER",     "filter name",               "");
    86   fits_define_table_column (&theader, "A7",   "CCDINFO",    "ccd information",                  "");
    87   fits_define_table_column (&theader, "A7",   "MODE",       "data format mode",                  "");
     86  fits_define_table_column (&theader, "A7",   "CCDID",      "ccd name",                  "");
    8887  fits_define_table_column (&theader, "I3",   "VERSION",    "image version number",      "");
    8988  fits_define_table_column (&theader, "I3",   "ORDER",      "selection order",           "");
     
    9998  fits_modify (&theader, "TNULL6",  "%s", 1, "NULL");  /* IMAGETYP   */
    10099  fits_modify (&theader, "TNULL7",  "%s", 1, "NULL");  /* FILTER     */
    101   fits_modify (&theader, "TNULL8",  "%s", 1, "NULL");  /* CCDINFO    */
    102   fits_modify (&theader, "TNULL9",  "%s", 1, "NULL");  /* MODE       */
    103   fits_modify (&theader, "TNULL10", "%s", 1, "-1");    /* VERSION    */
    104   fits_modify (&theader, "TNULL11", "%s", 1, "-1");    /* ORDER      */
    105   fits_modify (&theader, "TNULL12", "%s", 1, "NULL");  /* LABEL      */
    106   fits_modify (&theader, "TNULL13", "%s", 1, "NULL");  /* PATH       */
     100  fits_modify (&theader, "TNULL8",  "%s", 1, "NULL");  /* CCDID      */
     101  fits_modify (&theader, "TNULL9",  "%s", 1, "-1");    /* VERSION    */
     102  fits_modify (&theader, "TNULL10", "%s", 1, "-1");    /* ORDER      */
     103  fits_modify (&theader, "TNULL11", "%s", 1, "NULL");  /* LABEL      */
     104  fits_modify (&theader, "TNULL12", "%s", 1, "NULL");  /* PATH       */
    107105
    108106  fits_modify (&theader, "TNVAL1",  "%s", 1, "NA");    /* KEY        */
     
    113111  fits_modify (&theader, "TNVAL6",  "%s", 1, "NA");    /* IMAGETYP   */
    114112  fits_modify (&theader, "TNVAL7",  "%s", 1, "NA");    /* FILTER     */
    115   fits_modify (&theader, "TNVAL8",  "%s", 1, "NA");    /* CCDINFO    */
    116   fits_modify (&theader, "TNVAL9",  "%s", 1, "NA");    /* MODE       */
    117   fits_modify (&theader, "TNVAL10",  "%s", 1, "-2");    /* VERSION    */
    118   fits_modify (&theader, "TNVAL11", "%s", 1, "-2");    /* ORDER      */
    119   fits_modify (&theader, "TNVAL12", "%s", 1, "NA");    /* LABEL      */
    120   fits_modify (&theader, "TNVAL13", "%s", 1, "NA");    /* PATH       */
     113  fits_modify (&theader, "TNVAL8",  "%s", 1, "NA");    /* CCDID      */
     114  fits_modify (&theader, "TNVAL9",  "%s", 1, "-2");    /* VERSION    */
     115  fits_modify (&theader, "TNVAL10", "%s", 1, "-2");    /* ORDER      */
     116  fits_modify (&theader, "TNVAL11", "%s", 1, "NA");    /* LABEL      */
     117  fits_modify (&theader, "TNVAL12", "%s", 1, "NA");    /* PATH       */
    121118
    122119  /* create table, add data values */
     
    142139    regstr   = sec_to_date (newdata[0].treg);
    143140    typestr  = typename[newdata[0].type];
    144     modestr  = modename[newdata[0].mode];
    145141    filtstr  = filterhash[newdata[0].filter];
    146 
    147     if (newdata[0].mode == M_SPLIT) {
    148       ccdstr   = ccds[newdata[0].ccd];
    149     } else {
    150       sprintf (ccdinfo, "%-3d", newdata[0].ccd);
    151       ccdstr   = ccdinfo;
    152     }
     142    ccdstr   = ccds[newdata[0].ccd];
    153143
    154144    line = fits_table_print (&table, key, startstr, stopstr, regstr,
    155                              newdata[0].exptime, typestr, filtstr, ccdstr, modestr,
     145                             newdata[0].exptime, typestr, filtstr, ccdstr,
    156146                             newdata[0].Nentry, newdata[0].Norder,
    157147                             newdata[0].label, newdata[0].filename);
     
    181171 
    182172  char *dBPath, *typestr, *filtstr;
    183   char *timestr, *modestr, *ccdstr, ccdinfo[16], ccdformat[16];
    184   int i, j, Nc;
    185 
    186   Nc = strlen (ccds[0]);
    187   sprintf (ccdformat, "%%%dd", Nc);
     173  char *timestr;
     174  int i, j;
     175
    188176  dBPath = get_dBPath ();
    189177
     
    207195
    208196    typestr = typename[MIN (MAX (detdata[i].type, 0), NTYPE - 1)];
    209     modestr = modename[MIN (MAX (detdata[i].mode, 0), NMODE - 1)];
    210197    filtstr = filterhash[MIN (MAX (detdata[i].filter, 0), NFILTER - 1)];
    211 
    212     if (detdata[i].mode == M_SPLIT) {
    213       ccdstr   = ccds[detdata[i].ccd];
    214     } else {
    215       sprintf (ccdinfo, ccdformat, detdata[i].ccd);
    216       ccdstr   = ccdinfo;
    217     }
    218198
    219199    /* output mode (Select vs List) */
     
    221201      fprintf (stdout, "%s/%s\n", dBPath, detdata[i].filename);
    222202    } else {
    223       fprintf (stdout, "%-40s = %19s %7s %6s %6s %s %2d %2d %6.1f  %20s\n",
    224                detdata[i].filename, timestr, modestr, typestr, filtstr, ccdstr,
     203      fprintf (stdout, "%-40s = %19s %7s %6s %02d %2d %2d %6.1f  %20s\n",
     204               detdata[i].filename, timestr, typestr, filtstr, detdata[i].ccd,
    225205               detdata[i].Nentry, detdata[i].Norder, detdata[i].exptime, detdata[i].label);
    226206    }
  • /trunk/Ohana/src/imregister/imreg/args.imsearch.c

    r30 r20  
    115115
    116116    criteria.Proc = -1;
    117     if (!strcasecmp (argv[N], "t")) criteria.Proc = TRUE;
    118     if (!strcasecmp (argv[N], "f")) criteria.Proc = FALSE;
     117    if (strcasecmp (argv[N], "t")) criteria.Proc = TRUE;
     118    if (strcasecmp (argv[N], "f")) criteria.Proc = FALSE;
    119119    remove_argument (N, &argc, argv);
    120120    if (criteria.Proc == -1) {
     
    124124  }
    125125
    126   criteria.DistSelect = FALSE;
    127   if (N = get_argument (argc, argv, "-dist")) {
    128     criteria.DistSelect = TRUE;
    129     remove_argument (N, &argc, argv);
    130 
    131     criteria.Dist = -1;
    132     if (!strcasecmp (argv[N], "t")) criteria.Dist = TRUE;
    133     if (!strcasecmp (argv[N], "f")) criteria.Dist = FALSE;
    134     remove_argument (N, &argc, argv);
    135     if (criteria.Dist == -1) {
    136       fprintf (stderr, "ERROR: -dist (t/f)\n");
    137       exit (1);
    138     }
    139   }
    140 
    141126  /*** command-line options which modify the output list */
    142127  if (N = get_argument (argc, argv, "-treg")) {
     
    172157
    173158  /*** command-line options which modify behavior (delete, modify, newpath, mef2split split2mef */
    174   output.delete = output.modify = FALSE;
    175   output.modify_path = output.modify_dist = FALSE;
    176   output.mef2split = output.split2mef = FALSE;
    177 
     159  output.delete = output.modify = 0;
     160  output.Newpath = output.mef2split = output.split2mef = FALSE;
     161
     162  if (N = get_argument (argc, argv, "-del")) {
     163    remove_argument (N, &argc, argv);
     164    output.delete ++;
     165  }
    178166  if (N = get_argument (argc, argv, "-delete")) {
    179167    remove_argument (N, &argc, argv);
    180     output.delete = TRUE;
    181   }
    182 
    183   if (N = get_argument (argc, argv, "-modify")) {
    184     if (output.delete) {
    185       fprintf (stderr, "can't specify more than one modifier at a time\n");
    186       exit (1);
    187     }
    188     remove_argument (N, &argc, argv);
    189     output.modify = TRUE;
    190    
    191     if (!strcasecmp (argv[N], "path")) {
    192       output.modify_path = TRUE;
    193       remove_argument (N, &argc, argv);
    194       output.oldpath = strcreate (argv[N]);
    195       remove_argument (N, &argc, argv);
    196       output.newpath = strcreate (argv[N]);
    197       remove_argument (N, &argc, argv);
    198       goto valid_modify;
    199     }
    200 
    201     if (!strcasecmp (argv[N], "mode")) {
    202       remove_argument (N, &argc, argv);
    203       if (!strcasecmp (argv[N], "mef")) {
    204         output.mef2split = TRUE;
    205         remove_argument (N, &argc, argv);
    206         goto valid_modify;
    207       }
    208       if (!strcasecmp (argv[N], "split")) {
    209         output.split2mef = TRUE;
    210         remove_argument (N, &argc, argv);
    211         goto valid_modify;
    212       }
    213     }
    214 
    215     if (!strcasecmp (argv[N], "dist")) {
    216       output.modify_dist = TRUE;
    217       remove_argument (N, &argc, argv);
    218       if (!strcasecmp (argv[N], "t")) {
    219         output.dist = TRUE;
    220         remove_argument (N, &argc, argv);
    221         goto valid_modify;
    222       }
    223       if (!strcasecmp (argv[N], "f")) {
    224         output.dist = FALSE;
    225         remove_argument (N, &argc, argv);
    226         goto valid_modify;
    227       }
    228     }
    229 
    230     if (!strcasecmp (argv[N], "help")) {
    231       fprintf (stderr, "-modify option: \n");
    232       fprintf (stderr, "  -modify path (oldpath) (newpath)\n");
    233       fprintf (stderr, "  -modify mode (mef | split)\n");
    234       fprintf (stderr, "  -modify dist (t | f)\n\n");
    235       fprintf (stderr, "  mode mef : convert mef to split\n");
    236       fprintf (stderr, "  mode split : convert split to mef\n");
    237       exit (2);
    238     }
    239 
    240     fprintf (stderr, "invalid -modify option, try -modify help\n");
     168    output.delete ++;
     169  }
     170  if (N = get_argument (argc, argv, "-newpath")) {
     171    output.Newpath = TRUE;
     172    remove_argument (N, &argc, argv);
     173    output.oldpath = strcreate (argv[N]);
     174    remove_argument (N, &argc, argv);
     175    output.newpath = strcreate (argv[N]);
     176    remove_argument (N, &argc, argv);
     177    output.modify ++;
     178  }
     179  if (N = get_argument (argc, argv, "-mef2split")) {
     180    remove_argument (N, &argc, argv);
     181    output.mef2split = TRUE;
     182    output.modify ++;
     183  }
     184  if (N = get_argument (argc, argv, "-split2mef")) {
     185    remove_argument (N, &argc, argv);
     186    output.split2mef = TRUE;
     187    output.modify ++;
     188  }
     189  if (output.modify + output.delete > 1) {
     190    fprintf (stderr, "can't specify more than one modifier at a time\n");
    241191    exit (1);
    242192  }
    243  valid_modify:
    244193
    245194  if (argc != 1) {
     
    248197    fprintf (stderr, "  [-etime exptime] [-filter name] [-name string] [-proc t/f]\n");
    249198    fprintf (stderr, "  [-treg] [-seq] [-pt] [-table] [-cadctable] [-bintable]\n");
    250     fprintf (stderr, "  [-delete] [-modify (options)]\n");
     199    fprintf (stderr, "  [-del] [-delete] [-newpath (oldpath) (newpath)] [-mef2split] [-split2mef]\n");
    251200    exit (1);
    252201  }
  • /trunk/Ohana/src/imregister/imreg/match.c

    r30 r20  
    3131    if (criteria.ExptimeSelect && (fabs (image[i].exptime - criteria.Exptime) > 5.0)) continue;
    3232    if (criteria.NameSelect    && (strncasecmp (image[i].filename, criteria.Name, Nname))) continue;
    33     if (criteria.ProcSelect    && (criteria.Proc ^ (image[i].bias != 0.0))) continue;
    34     if (criteria.DistSelect    && (criteria.Dist ^ (image[i].flag && IMREG_DIST))) continue;
     33    if (criteria.ProcSelect    && (criteria.Proc ^ (image[i].bias == 0.0))) continue;
    3534
    3635    match[N] = i;
  • /trunk/Ohana/src/imregister/imreg/modify.c

    r30 r20  
    66  int i, j, Nold;
    77  char *tmppath;
    8   char *ext, *root, *path, dist;
     8  char *ext, *root, *path;
    99  int Nimage;
    1010  RegImage *image;
     
    1313
    1414  /* create some necessary variables */
    15   if (output.modify_path) {
     15  if (output.newpath) {
    1616    Nold = strlen (output.oldpath);
    1717    ALLOCATE (tmppath, char, 128);
    18   }
    19   if (output.modify_dist) {
    20     dist = (output.dist) ? 0xff : ~IMREG_DIST;
    2118  }
    2219
     
    2623    i = match[j];
    2724
    28     if (output.modify_path) {
     25    if (output.newpath) {
    2926      if (!strncmp (image[i].pathname, output.oldpath, Nold)) {
    3027        strcpy (tmppath, &image[i].pathname[Nold]);
     
    6259      }
    6360    }
    64 
    65     if (output.modify_dist) {
    66       if (output.dist)  image[i].flag |=  IMREG_DIST;
    67       if (!output.dist) image[i].flag &= ~IMREG_DIST;
    68     }
    69 
    7061  }
    7162
  • /trunk/Ohana/src/imregister/imreg/output.c

    r30 r20  
    175175void DumpCADCTable (char *filename, RegImage *image, int *match, int Nmatch) {
    176176 
    177   int i, obsid;
    178   char *datestr, *line, hdrname[99];
     177  int i;
     178  char *obsstr, *regstr, *line, dummy[64];
     179  char *modestr, *typestr, *ccdstr, *datestr;
    179180  unsigned long tsecond;
    180181  Header header, theader;
     
    182183  FTable table;
    183184  RegImage *subset;
     185
     186  bzero (dummy, 64);
     187  memset (dummy, ' ', 63);
    184188
    185189  /* create primary header */
     
    200204
    201205  /* define table layout */
    202   fits_define_table_column (&theader, "A99",   "FILENAME",     "filename in db",        "",                              1.0, 0.0);
    203   fits_define_table_column (&theader, "A99",   "HDR_FILENAME", "filename in db",        "",                              1.0, 0.0);
    204   fits_define_table_column (&theader, "I10",   "OBSID",        "image ID number",        "pixels",                         1.0, 0.0);
    205   fits_define_table_column (&theader, "F5.2",  "OBS_IQ",       "image quality",        "pixels",                         1.0, 0.0);
    206   fits_define_table_column (&theader, "F9.3",  "OBS_BG_VAL",   "background level",     "counts / pixel",                 1.0, 0.0);
     206  fits_define_table_column (&theader, "A64",   "FILE",       "filename in db",        "",                              1.0, 0.0);
     207  fits_define_table_column (&theader, "F7.1",  "SKY",        "background level",     "counts / pixel",                 1.0, 0.0);
     208  fits_define_table_column (&theader, "F6.1",  "BIAS",       "bias level",           "counts / pixel",                 1.0, 0.0);
     209  fits_define_table_column (&theader, "F5.2",  "FWHM",       "image quality",        "pixels",                         1.0, 0.0);
    207210
    208211  /* define TNULL, TNVAL values */
    209   fits_modify (&theader, "TNULL1",  "%s", 1, "NULL");  /* FILENAME     */
    210   fits_modify (&theader, "TNULL2",  "%s", 1, "NULL");  /* HDR_FILENAME */
    211   fits_modify (&theader, "TNULL3",  "%s", 1, "0");     /* OBSID        */
    212   fits_modify (&theader, "TNULL4",  "%s", 1, "NaN");   /* OBS_IQ       */
    213   fits_modify (&theader, "TNULL5",  "%s", 1, "NaN");   /* OBS_BG_VAL   */
    214 
    215   fits_modify (&theader, "TNVAL1",  "%s", 1, "NA");    /* FILENAME     */
    216   fits_modify (&theader, "TNVAL2",  "%s", 1, "NA");    /* HDR_FILENAME */
    217   fits_modify (&theader, "TNVAL3",  "%s", 1, "-1");    /* OBSID        */
    218   fits_modify (&theader, "TNVAL4",  "%s", 1, "Inf");   /* OBS_IQ       */
    219   fits_modify (&theader, "TNVAL5",  "%s", 1, "Inf");   /* OBS_BG_VAL   */
     212  fits_modify (&theader, "TNULL1",  "%s", 1, "NULL");  /* FILE  */
     213  fits_modify (&theader, "TNULL2",  "%s", 1, "NaN");   /* SKY   */
     214  fits_modify (&theader, "TNULL3",  "%s", 1, "NaN");   /* BIAS  */
     215  fits_modify (&theader, "TNULL4",  "%s", 1, "NaN");   /* FWHM  */
     216
     217  fits_modify (&theader, "TNVAL1",  "%s", 1, "NA");    /* FILE  */
     218  fits_modify (&theader, "TNVAL2",  "%s", 1, "Inf");   /* SKY   */
     219  fits_modify (&theader, "TNVAL3",  "%s", 1, "Inf");   /* BIAS  */
     220  fits_modify (&theader, "TNVAL4",  "%s", 1, "Inf");   /* FWHM  */
    220221
    221222  /* create table, add data values */
     
    225226  for (i = 0; i < Nmatch; i++) {
    226227    subset = &image[match[i]];
    227 
    228     /* filename: NNNNNNx.fits or NNNNNNxNN.fits */
    229     /* OBSID & HDR_FILENAME are derived from FILENAME */
    230     obsid = atoi (subset[0].filename);
    231     if (obsid < 400000) fprintf (stderr, "warning: derived obsid < 400000\n");
    232     sprintf (hdrname, "%s.hdr", subset[0].filename);
    233 
    234     line = fits_table_print (&table, subset[0].filename, hdrname, obsid, (subset[0].fwhm*ARCSEC_PIXEL), subset[0].sky);
     228    line = fits_table_print (&table, subset[0].pathname, subset[0].sky, subset[0].bias, subset[0].fwhm);
    235229
    236230    fits_add_rows (&table, line, 1, strlen(line));
  • /trunk/Ohana/src/imregister/include/detrend.h

    r30 r20  
    1212  int order;
    1313  int type;
    14   char mode;
    1514  int CCDSelect;     int CCD;
    1615  int ExptimeSelect; float Exptime;
     
    2019/* MosaicSelect & ImageSelect define these values */
    2120typedef struct {
    22   int ModeSelect;    int Mode;
    2321  int TypeSelect;    int Type;
    2422  int CCDSelect;     int CCD;
     
    5957# define DEBUG 0
    6058
    61 # define NTYPE 11
    62 enum {T_NONE, T_OBJECT, T_DARK, T_BIAS, T_FLAT, T_MASK, T_FRINGE, T_SCATTER, T_MODES, T_FRINGEPTS, T_ANY};
    63 static char typename[NTYPE][32] = {"none", "object", "dark", "bias", "flat", "mask", "fringe", "scatter", "modes", "frpts", "any"};
    64 static char typecode[NTYPE]     = {'x',    'o',      'd',    'b',    'f',    'm',    'r',      's',       'M',     'F'};
     59# define NTYPE 10
     60enum {T_NONE, T_OBJECT, T_DARK, T_BIAS, T_FLAT, T_MASK, T_FRINGE, T_SCATTER, T_MODES, T_ANY};
     61static char typename[NTYPE][32] = {"none", "object", "dark", "bias", "flat", "mask", "fringe", "scatter", "modes", "any"};
     62static char typecode[NTYPE] = {'x', 'o', 'd', 'b', 'f', 'm', 'r', 's'};
    6563
    66 # define NMODE 7
    67 enum {M_NONE, M_MEF, M_SPLIT, M_SINGLE, M_CUBE, M_SLICE, M_MODES};
    68 static char modename[NMODE][32] = {"none", "MEF", "SPLIT", "SINGLE", "CUBE", "SLICE", "MODES"};
     64# define NMODE 6
     65enum {M_NONE, M_MEG, M_SPLIT, M_SINGLE, M_CUBE, M_SLICE};
     66static char modename[6][32] = {"none", "MEF", "SPLIT", "SINGLE", "CUBE", "SLICE"};
    6967
    7068char **RecipeType;
  • /trunk/Ohana/src/imregister/include/imreg.h

    r30 r20  
    1010  int NameSelect;    char *Name;
    1111  int ProcSelect;    int Proc;
    12   int DistSelect;    int Dist;
    1312  int Ntimes;        unsigned long *tstart, *tstop;
    1413  int MatchNumber;
     
    2019  int modify;
    2120
    22   int modify_path;
     21  int Newpath, mef2split, split2mef;
    2322  char *oldpath, *newpath;
    24 
    25   int mef2split, split2mef;
    26   int modify_dist, dist;
    2723
    2824  int HST;
  • /trunk/Ohana/src/imregister/include/imregister.h

    r30 r20  
    4646char DECSexigKeyword[16];
    4747char CameraKeyword[16];
    48 double ARCSEC_PIXEL;
    4948
    5049/* global vars used by camera info */
  • /trunk/Ohana/src/perl/src/fr.getfringe

    r30 r20  
    77
    88# define the path to include FLIPS:
    9 $flipsconf=`gconfig -q FLIPSCONF`; chop $flipsconf;
    10 $flipspath=`gconfig -q FLIPSPATH`; chop $flipspath;
     9$flipsconf=`gconfig -q FLIPSCONF`; chop ($flipsconf);
     10$flipspath=`gconfig -q FLIPSPATH`; chop ($flipspath);
    1111$ENV{'PATH'} = "$ENV{'PATH'}:$flipspath";
    1212$ENV{'FLIPSDIR'} = $flipsconf;
     
    2323foreach $line (@inlist) { chop $line; }
    2424
    25 # getfringe appends to the output file:
     25# gtfringe is appending to the output file:
    2626unlink ($output);
    2727
    28 # basic camera data
    29 $Nccd      = `cameraconfig -Nccd`;  chop $Nccd;
    30 $answer    = `cameraconfig -ccds`;  @ccds = split (" ", $answer);
     28# we construct the Fringe Coord File from: FRINGE_COORD_PATH/CAMERA-FILTER-CCDNN-FringeCoord.reg
     29$fkey      = `gconfig -q FILTER-KEYWORD`;    chop ($fkey);
     30$ckey      = `gconfig -q CAMERA-KEYWORD`;    chop ($ckey);
     31$coordpath = `gconfig -q FRINGE_COORD_PATH`; chop ($coordpath);
     32$Nccd      = `cameraconfig -Nccd`;           chop ($Nccd);
     33$answer = `cameraconfig -ccds`;
     34@ccds = split (" ", $answer);
     35
     36# double check lists size:
    3137if ($Nccd != @inlist) { die "ERROR: mis-matched image list sizes\n"; }
    3238
    33 # find fringe coordinate file
    34 $coordfile = `detsearch -image $inlist[0] $ccds[0] split -type frpts`; chop $coordfile;
    35 if ($?) { die "ERROR: can't find fringe point file for this image\n"; }
     39# find filter and camera from image
     40$answer = `echo $inlist[0] | fields $fkey $ckey`;
     41($name, $filtvalue, $camera) = split (" ", $answer);
     42$filter = `filtnames $filtvalue`; chop $filter;
     43if ($?) { die "can't find filter for $filtvalue\n"; }
     44print STDERR "camera: $camera\n";
     45if ($camera eq "") { $camera = "WFI"; }
     46#### a temporary hack to for this to work...
    3647
    37 # each call to getfringe adds a line to $output
    3848for ($ccd = 0; $ccd < $Nccd; $ccd++) {
    39     vsystem ("getfringe $inlist[$ccd] $ccds[$ccd] $coordfile $bin $output");
    40     if ($?) { die "ERROR running getfringe\n"; }
     49   
     50    $infile    = $inlist[$ccd];
     51    $coordfile = sprintf "%s/%s-%s-CCD%s-FringeCoord.reg", $coordpath, $camera, $filter, $ccds[$ccd];
     52
     53    # each call to gtfringe adds a line to $output
     54    vsystem ("getfringe $infile $coordfile $bin $output");
     55    if ($?) {
     56        print STDERR "ERROR running getfringe\n";
     57        exit 1;
     58    }
    4159}
    4260
Note: See TracChangeset for help on using the changeset viewer.