IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 39534


Ignore:
Timestamp:
Apr 16, 2016, 6:59:40 AM (10 years ago)
Author:
eugene
Message:

report the size of the compressed table as if uncompressed

File:
1 edited

Legend:

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

    r39463 r39534  
    88
    99void read_vectors_cleanup ();
    10 int read_table_sizes (Header *header);
     10int read_table_sizes (Header *header, int isCompressed);
    1111int read_table_fields (Header *header, int isCompressed, int VERBOSE);
    1212void list_extnames (int VERBOSE);
     
    533533  int IsCompressed = gfits_extension_is_compressed_table (&header);
    534534
    535   if (getSizes && !IsCompressed) {
    536     read_table_sizes (&header);
     535  if (getSizes) {
     536    read_table_sizes (&header, IsCompressed);
    537537    if (CCDKeyword != NULL) free (CCDKeyword);
    538538    gfits_free_header (&header);
     
    546546  }
    547547  if (IsCompressed) {
    548     if (getSizes) {
    549       gprint (GP_ERR, "%s[%s] is compressed: -sizes is invalid\n", filename, extname);
    550       gfits_free_header (&header);
    551       return FALSE;
    552     }
    553548    if ((start > 0) || (Nrows > -1)) {
    554549      gprint (GP_ERR, "%s[%s] is compressed: must read entire table\n", filename, extname);
     
    715710// read -fits foo -fields
    716711
    717 int read_table_sizes (Header *header) {
     712int read_table_sizes (Header *header, int IsCompressed) {
    718713 
    719714  int Nfields;
     
    721716  gfits_scan (header, "TFIELDS", "%d", 1, &Nfields);
    722717
    723   set_int_variable ("table:Nx", header->Naxis[0]);
    724   set_int_variable ("table:Ny", header->Naxis[1]);
     718  int Nx, Ny;
     719  if (IsCompressed) {
     720    if (!gfits_scan (header, "ZNAXIS1", "%d", 1, &Nx)) Nx = 0;
     721  } else {
     722    Nx = header->Naxis[0];
     723  }
     724  if (IsCompressed) {
     725    if (!gfits_scan (header, "ZNAXIS2", "%d", 1, &Ny)) Ny = 0;
     726  } else {
     727    Ny = header->Naxis[1];
     728  }
     729
     730  set_int_variable ("table:Nx", Nx);
     731  set_int_variable ("table:Ny", Ny);
    725732  set_int_variable ("table:Nfields", Nfields);
    726733
Note: See TracChangeset for help on using the changeset viewer.