IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 22, 2007, 12:23:09 PM (19 years ago)
Author:
eugene
Message:

upgrading to kapa 2.0 API, upgrades to dvo user interface

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/cmd.data/tv.c

    r7917 r13479  
    33int tv (int argc, char **argv) {
    44 
    5   int N, Ximage, Nimage;
     5  int N, kapa;
     6  char *name, *file;
    67  Coords coords;
    78  Buffer *buf;
    89  KiiImage image;
    9   KiiDisplayMode mode;
     10  KapaImageData data;
    1011
    11   Nimage = -1;
     12  name = NULL;
    1213  if ((N = get_argument (argc, argv, "-n"))) {
    1314    remove_argument (N, &argc, argv);
    14     Nimage = atof (argv[N]);
     15    name = strcreate (argv[N]);
    1516    remove_argument (N, &argc, argv);
    1617  }
    17   if (!GetImage (&Ximage, &Nimage)) return (FALSE);
     18  if (!GetImage (&data, &kapa, name)) return (FALSE);
     19  FREE (name);
    1820
    1921  /* shell exits on pipe close, FIX */
    2022  if ((N = get_argument (argc, argv, "-kill"))) {
    21     KiiClose (Ximage);
    22     Ximage = 0;
     23    KiiClose (kapa);
    2324    return (TRUE);
    2425  }
    2526
    26   mode.logflux = FALSE;
     27  data.logflux = FALSE;
    2728  if ((N = get_argument (argc, argv, "-log"))) {
    2829    remove_argument (N, &argc, argv);
    29     mode.logflux = TRUE;
     30    data.logflux = TRUE;
    3031  }
    3132
     33  // use the currently-set zero,range values if not supplied
    3234  if ((argc != 2) && (argc != 4)) {
    3335    gprint (GP_ERR, "USAGE: tv <buffer> [zero range] [-n Nimage] [-log] [-kill]\n");
     
    3537  }
    3638
    37   GetImageScale (&mode.zero, &mode.range);
    3839  if (argc == 4) {
    39     mode.zero = atof (argv[2]);
    40     mode.range = atof (argv[3]);
    41     if (mode.range == 0.0) mode.range = 0.001;
    42     SetImageScale (mode.zero, mode.range);
     40    data.zero = atof (argv[2]);
     41    data.range = atof (argv[3]);
     42    if (data.range == 0.0) data.range = 0.001;
    4343  }
    4444
     
    4949  image.Nx = buf[0].matrix.Naxis[0];
    5050  image.Ny = buf[0].matrix.Naxis[1];
    51   image.file = buf[0].file;
    52   image.name = buf[0].name;
    5351
    54   KiiNewPicture1D (Ximage, &image, &mode, &coords);
     52  // send only the root of the file, not the full path
     53  file = filerootname (buf[0].file);
     54  strcpy (data.file, file);
     55  free (file);
    5556
    56   SetImageName (argv[1]);
     57  strcpy (data.name, argv[1]);
     58 
     59  KiiNewPicture1D (kapa, &image, &data, &coords);
     60
    5761  set_str_variable ("TV", argv[1]);
    5862  return (TRUE);
    5963}
    60 
    61 
    62 /*
    63 projections and coordinates:
    64 
    65 IRAS:
    66 CTYPE1  = 'LL      '                    /TANGENT PLANE (L)                     
    67 CRVAL1  =         0.100000D+02          /R.A. OF MAP CENTER  *** SEE COMMENT   
    68 CDELT1  =        -0.133333D-01          /SEPARATION IN L (DEG)                 
    69 CRPIX1  =                  128          /MAPCENTER IN L                       
    70 CROTA1  =         0.000000E+00          /NO ROTATION           
    71                                                                                
    72 CTYPE2  = 'MM      '                    /TANGENT PLANE (M)                     
    73 CRVAL2  =         0.410000D+02          /DEC. OF MAP CENTER  *** SEE COMMENT   
    74 CDELT2  =         0.133333D-01          /SEPARATION IN M (DEG)                 
    75 CRPIX2  =                  128          /MAP CENTER IN M                       
    76 CROTA2  =         0.000000E+00          /NO ROTATION                           
    77 
    78 HIRAS:
    79 CTYPE1  = 'RA---TAN          ' / PRIMARY AXIS NAME                             
    80 CRVAL1  =   1.000000000000E+01 / PRIMARY REFERENCE VALUE                       
    81 CDELT1  =  -5.555555555556E-03 / PRIMARY PIXEL SEPARATION                     
    82 CRPIX1  =   2.560000000000E+02 / PRIMARY REFERENCE PIXEL                       
    83 CUNIT1  = 'DEGREE            ' / PRIMARY AXIS UNITS                           
    84 
    85 CDELT2  =   5.555555555556E-03 / PRIMARY PIXEL SEPARATION                     
    86 CRPIX2  =   2.560000000000E+02 / PRIMARY REFERENCE PIXEL                       
    87 CRVAL2  =   4.100000000000E+01 / PRIMARY REFERENCE VALUE                       
    88 CTYPE2  = 'DEC--TAN          ' / PRIMARY AXIS NAME                             
    89 CUNIT2  = 'DEGREE            ' / PRIMARY AXIS UNITS                           
    90 
    91 PROJTYPE= 'GNOMON    '                                                         
    92 COORDSYS= 'EQUATORIAL     '                                                   
    93 
    94 gene (small FOV linear):
    95 RA_O
    96 RA_X
    97 RA_Y
    98 DEC_O
    99 DEC_X
    100 DEC_Y
    101 
    102 
    103 */
    104 
    105 # ifdef NEWTVMODE 
    106   {
    107     double *pixvalues, slope;
    108 
    109     ALLOCATE (pixvalues, double, Ncolors + 1);
    110     range = fabs (range);
    111     for (i = 0; i < Ncolors + 1; i++) {
    112       if (ISLOG) {
    113         pixvalues[i] = i*range / NNcol + zero;
    114       }
    115       if (!ISLOG) {
    116         pixvalues[i] = pow (10.0, i*log10(range - 1.0) / NNcol) + zero - 1.0;
    117       }     
    118     }
    119     for (j = 0; j < Npix; j++, in++, out++) {
    120       if (*in < pixvalues[0]) {
    121         i = 0;
    122       } else {
    123         if (*in > pixvalues[NNcol]) {
    124           i = NNcol;
    125         } else {
    126           for (i = 0; (*in < pixvalues[i]) || (*in > pixvalues[i+1]); ) {
    127             slope = 1.0 / (pixvalues[i+1] - pixvalues[i]);
    128             i = MIN (MAX (0, i + (*in - pixvalues[i]) * slope), NNcol);
    129           }
    130         }       
    131       }
    132       /* for (i = 0; (i < Ncolors - 1) && (pixvalues[i] < *in); i++); */
    133       *out = i;
    134     }
    135     free (pixvalues);
    136   }
    137 # endif
Note: See TracChangeset for help on using the changeset viewer.