- Timestamp:
- Aug 7, 2006, 11:13:52 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaPI/ProgPI/fitsbtadapter.cc
r2977 r3042 126 126 kw = "scanfits"; 127 127 usage = "scanfits: scan fits files and print information on each HDU\n" ; 128 usage += "Usage: scanfits FileName [slev=0 ... 3]\n"; 129 usage += "slev=1,3: header keywords , slev=2,3: try to read each HDU"; 128 usage += "Usage: scanfits FileName [slev=0...3]\n"; 129 usage += "slev=1,3: header keywords , slev=2,3: try to read each HDU\n"; 130 usage += "See also: readfits writefits fitsadapt "; 130 131 mpiac->RegisterCommand(kw, usage, this, hgrp); 131 132 … … 133 134 usage = "writefits: Write objects to a fits file \n" ; 134 135 usage += "Usage: writefits nameobj/pattern FileName \n"; 135 usage += "(use FitsManager) .... "; 136 usage += "See also scanfits readfits fitsadapt "; 136 usage += "See also: scanfits readfits fitsadapt "; 137 137 mpiac->RegisterCommand(kw, usage, this, hgrp); 138 138 139 139 kw = "readfits"; 140 usage = "readfits: Read all HDU's of a fits file \n" ;141 usage += "Usage: readfits nameobj/pattern FileName\n";142 usage += " (use FitsManager) ....";140 usage = "readfits: Read one or all HDU's of a fits file \n" ; 141 usage += "Usage: readfits FileName [num_hdu] \n"; 142 usage += " num_hdu=1,..,NbHDU (uses FitsManager) \n"; 143 143 usage += "See also scanfits writefits fitsadapt "; 144 144 mpiac->RegisterCommand(kw, usage, this, hgrp); … … 207 207 else if (kw == "readfits") { 208 208 if(tokens.size() < 1) { 209 cout<<"Usage: readfits FileName "<<endl;209 cout<<"Usage: readfits FileName [num_hdu]"<<endl; 210 210 return 1; 211 211 } 212 cout << "readfits: Opening fits file " << tokens[0] << endl;212 cout << "readfits: Opening fits file " << tokens[0]; 213 213 FitsInOutFile fis(tokens[0], FitsInOutFile::Fits_RO); 214 int k1 = 1; 215 int k2 = fis.NbHDUs(); 216 if (fis.CurrentHDU() > 1) k1 = k2 = fis.CurrentHDU(); 217 bool fgshdu = false; 218 if (tokens.size() > 1) { // Numero de HDU specifie 219 k2 = k1 = atoi(tokens[1].c_str()); 220 fgshdu = true; 221 cout << " - HDU Num " << k1 << endl; 222 } 223 else cout << " - HDU's " << k1 << "-" << k2 << endl; 224 214 225 string bnom = omg.GetServiceObj()->FileName2Name(tokens[0]); 215 226 string nom = bnom; 216 227 char bun[16]; 217 228 int kon = 0; 218 for(int k= 0; k<fis.NbHDUs(); k++) {229 for(int k=k1; k<=k2; k++) { 219 230 try { 231 if (fgshdu) fis.MoveAbsToHDU(k); 220 232 FitsHandlerInterface* fhi = FitsManager::Read(fis); 221 233 AnyDataObj* obj = fhi->DataObj(); … … 228 240 omg.AddObj(obj, nom, false); 229 241 cout << "readfits: " << (string)typeid(*obj).name() 230 << " read From HDU " << k +1<< " ->" << nom << endl;242 << " read From HDU " << k << " ->" << nom << endl; 231 243 } 232 244 else delete fhi; … … 237 249 cout << "readfits/Error - HDU=" << k+1 << " : " << exc.Msg() << endl; 238 250 } 239 fis.MoveToNextHDU();251 if (k<k2) fis.MoveToNextHDU(); 240 252 } 241 253 return 0;
Note:
See TracChangeset
for help on using the changeset viewer.