Changeset 1295 in Sophya


Ignore:
Timestamp:
Nov 6, 2000, 9:41:56 PM (25 years ago)
Author:
ansari
Message:

Transport de mot-cle FITS depuis HDU 2 (et pas 1) ds skymixer , Reza 6/11/2000

Location:
trunk/SophyaProg/PMixer
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaProg/PMixer/skymixer.cc

    r1282 r1295  
    3030RadSpectra * getEmissionSpectra(DataCards & dc, int nc);
    3131void SKM_MergeFITSKeywords(char * flnm);
     32void SKM_MergeFITSKeywords2(DVList & dvl);
    3233void RadSpec2Nt(RadSpectra & rs, POutPersist & so, string name);
    3334void SpectralResponse2Nt(SpectralResponse& sr, POutPersist & so, string name);
     
    138139        fios.Read(ifnm,2);
    139140        //  Getting FITS keywords in primary header
    140         SKM_MergeFITSKeywords(ifnm);
     141        //      SKM_MergeFITSKeywords(ifnm);
     142        //  Getting FITS keywords in data object header
     143        SKM_MergeFITSKeywords2(outgs.Info());
    141144      }
    142145      if(printlev>0)
     
    203206            fiosIn.Read(flnm,2);
    204207            //  Getting FITS keywords in primary header
    205             SKM_MergeFITSKeywords(flnm);
     208            //  SKM_MergeFITSKeywords(flnm);
     209            //  Getting FITS keywords in data object header
     210            SKM_MergeFITSKeywords2(ings.Info());
    206211          }
    207212          if (debuglev > 4) {  // Writing the input map to the outppf
     
    242247                fiosBM.Read(flnm,2);
    243248                //  Getting FITS keywords in primary header
    244                 SKM_MergeFITSKeywords(flnm);
     249                // SKM_MergeFITSKeywords(flnm);
     250                //  Getting FITS keywords in data object header
     251                SKM_MergeFITSKeywords2(betaMap.Info());
    245252              }
    246253              if (printlev > 2) {
     
    311318     dvl["SKYMVER"] =  skm_version;
    312319     dvl.SetComment("SKYMVER", "skymixer Version number");
    313      fios.DVListIntoPrimaryHeader(dvl); 
     320     //     fios.DVListIntoPrimaryHeader(dvl); 
     321     outgs.Info() = dvl;
    314322     fios << outgs ;
    315323   }
     
    502510    fiis >> mtx ;
    503511    //  Getting FITS keywords in primary header
    504     SKM_MergeFITSKeywords(ifnm);
     512    //    SKM_MergeFITSKeywords(ifnm);
     513    //  Getting FITS keywords in data object header
     514    SKM_MergeFITSKeywords2(mtx.Info());
    505515    double numin = dc.DParam(key, 2, 1.);
    506516    double numax = dc.DParam(key, 3, 9999.);
     
    556566    fiis >> mtx ;
    557567    //  Getting FITS keywords in primary header
    558     SKM_MergeFITSKeywords(ifnm);
     568    //    SKM_MergeFITSKeywords(ifnm);
     569    //  Getting FITS keywords in data object header
     570    SKM_MergeFITSKeywords2(mtx.Info());
    559571    double numin = dc.DParam(key, 2, 1.);
    560572    double numax = dc.DParam(key, 3, 9999.);
     
    799811
    800812/* Nouvelle-Fonction */
     813void SKM_MergeFITSKeywords2(DVList & dvl)
     814{
     815  // Cleaning the keywords
     816#define SZexlst 21
     817  char *exlst[SZexlst]=
     818  {"SIMPLE","BITPIX" ,"NAXIS" ,"NAXIS#" ,"PCOUNT","GCOUNT",
     819     "EXTEND","ORIGIN" ,"DATE*" ,"TFIELDS","TTYPE#","TFORM#",
     820     "TUNIT#","EXTNAME","CTYPE#","CRVAL#" ,"CRPIX#","CDELT#",
     821     "XTENSION","INSTRUME","TELESCOP"};
     822  char  kwex[32];
     823  int i,l;
     824  for (i=0; i<SZexlst; i++) {
     825    strncpy(kwex, exlst[i], 32);
     826    l = strlen(kwex)-1;
     827    if ((kwex[l] != '*') && (kwex[l] != '#')) {
     828      dvl.DeleteKey(kwex);
     829    }
     830    else {
     831      bool fgd = (kwex[l] == '#') ? true : false;
     832      list<string> lstsup;
     833      kwex[l] = '\0';
     834      DVList::ValList::const_iterator it;
     835      for (it = dvl.Begin(); it != dvl.End(); it++) {
     836        if ((*it).first.substr(0,l) != kwex) continue;
     837        if (fgd && !isdigit((*it).first[l])) continue;
     838        lstsup.push_back((*it).first);
     839      }
     840      list<string>::iterator it2;
     841      for (it2 = lstsup.begin(); it2 != lstsup.end(); it2++)
     842        dvl.DeleteKey(*it2);
     843    }
     844  }
     845  dvl_fitskw->Merge(dvl);
     846}
     847
     848/* Nouvelle-Fonction */
    801849void RadSpec2Nt(RadSpectra & rs, POutPersist & so, string name)
    802850{
  • trunk/SophyaProg/PMixer/tgsky.cc

    r1252 r1295  
    118118  dvl["TGSKYKW"] =  "Test Keyword from tgsky.cc";
    119119  fios.DVListIntoPrimaryHeader(dvl); 
     120  sph.Info() = dvl;
    120121  fios << sph;
    121122  cout << "SphereHEALPix<float> written to FITS file " << (string)(arg[4]) << endl;
Note: See TracChangeset for help on using the changeset viewer.