void writeFitsAllUnits(const int i, configInfo *par, imageInfo *img){ int j; char *img_filename_root; if(img[i].numunits == 1){ writeFits(i,0,par,img); }else{ copyInparStr(img[i].filename, &(img_filename_root)); for(j=0;j<img[i].numunits;j++) { insertUnitStrInFilename(img_filename_root, par, img, i, j); writeFits(i,j,par,img); } } }
void StarCatalog::write() const { std::vector<std::string> files = MakeMultiName(_params, "stars"); const int nfiles = files.size(); for(int i=0; i<nfiles; ++i) { const std::string& file = files[i]; dbg<<"Writing star catalog to file: "<<file<<std::endl; bool isFitsIo = false; if (_params.keyExists("stars_io")) { std::vector<std::string> ios = _params["stars_io"]; Assert(ios.size() == files.size()); isFitsIo = (ios[i] == "FITS"); } else if (file.find("fits") != std::string::npos) { isFitsIo = true; } try { if (isFitsIo) { writeFits(file); } else { std::string delim = " "; if (_params.keyExists("stars_delim")) { std::vector<std::string> delims = _params["stars_delim"]; Assert(delims.size() == files.size()); delim = delims[i]; } else if (file.find("csv") != std::string::npos) { delim = ","; } writeAscii(file,delim); } } catch (CCfits::FitsException& e) { xdbg<<"Caught FitsException: \n"<<e.message()<<std::endl; throw WriteException( "Error writing to "+file+" -- caught error\n" + e.message()); } catch (std::exception& e) { xdbg<<"Caught std::exception: \n"<<e.what()<<std::endl; throw WriteException( "Error writing to "+file+" -- caught error\n" + e.what()); } catch (...) { xdbg<<"Caught unknown exception"<<std::endl; throw WriteException( "Error writing to "+file+" -- caught unknown error"); } } dbg<<"Done Write StarCatalog\n"; }