Loading data-access/engine/src/vlkb/src/ast.cpp +34 −5 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ int vlkb_listbounds(const string& skysys_str, const string& specsys_str, const s //--------------------------------------------------------------------- // header modif coord sys // header backup and modif //--------------------------------------------------------------------- /* const string VELOLSRK{"System=VELO,StdOfRest=LSRK,Unit=km/s"}; Loading @@ -102,6 +102,33 @@ void write_previous(string header, string filename) } int header_backup(const string& pathname, bool backup) { LOG_trace(__func__); int maxHdu = 1;//FIXME INT_MAX; // read all HDU's std::vector<fitsfiles::Hdu> allHdus = fitsfiles::fname2hdrstr(pathname, maxHdu); for(unsigned int i=0; i<allHdus.size(); i++) { cerr << "HDU#" << i << endl; fitsfiles::Hdu hd = allHdus.at(i); if(backup) write_previous(hd.m_header, pathname +"hdr" + ((i>0) ? "#" + to_string(i+1) : "") ); else cout << hd.m_header << endl; // FIXME remove all explicit cout cerr to main.cpp and here use ostream& } return 0; } int header_modif_coordsys(const string& skysys_str, const string& specsys_str, const string& pathname) { Loading Loading @@ -132,6 +159,8 @@ int header_modif_coordsys(const string& skysys_str, const string& specsys_str, c } //--------------------------------------------------------------------- // overlap with area given in query-string form (name=value&...) //--------------------------------------------------------------------- Loading data-access/engine/src/vlkb/src/ast.hpp +1 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ int vlkb_skyvertices(const std::string& pathname, const std::string& skysys_str); int vlkb_listbounds(const std::string& skysys_str, const std::string& specsys_str, const std::string& pathname); int header_backup(const std::string& pathname, bool backup = false); int header_modif_coordsys(const std::string& skysys_str, const std::string& specsys_str, const std::string& pathname); int vlkb_overlap(const std::string& pathname, const std::string& region, std::vector<uint_bounds>& bnds); Loading data-access/engine/src/vlkb/src/main.cpp +49 −8 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ namespace vlkb << "Usage: " << progname << " <command> [cmd-options] [cmd-args]" << endl << "\n where commands are:\n " << "\n\t cutout imcopy cutpixels multicutout mergefiles\n" << "\n\t listbounds header skyvertices overlap\n" << "\n\t listbounds header headermodif skyvertices overlap\n" << "\n\t nullvals dropdegen checkcard addcard modcard rawdelcard\n" << std::endl << "Version: " << VERSIONSTR << " " << BUILD << std::endl; Loading @@ -55,7 +55,7 @@ namespace vlkb enum cmd_set { multicutout, mergefiles, cutout, imcopy, cutpixels, listbounds, header, overlap, skyvertices, nullvals, dropdegen, checkcard, addcard, modcard, rawdelcard}; listbounds, header, headermodif, overlap, skyvertices, nullvals, dropdegen, checkcard, addcard, modcard, rawdelcard}; // from bash or interpreters usually receive params as strings Loading @@ -71,6 +71,7 @@ namespace vlkb else if(cmdstr.compare("cutpixels") == 0) cmd = cutpixels; else if(cmdstr.compare("listbounds") == 0) cmd = listbounds; else if(cmdstr.compare("header") == 0) cmd = header; else if(cmdstr.compare("headermodif") == 0) cmd = headermodif; else if(cmdstr.compare("overlap") == 0) cmd = overlap; else if(cmdstr.compare("skyvertices") == 0) cmd = skyvertices; else if(cmdstr.compare("nullvals") == 0) cmd = nullvals; Loading Loading @@ -327,7 +328,46 @@ int cmd_header(int argc, char * argv[]) if (argc < 2) { std::cerr << "Usage: header --sky=<SkySystem> --spec=<SpecSystem> <filename.fits>... \n" << "Usage: header [--backup] <pathname.fits>...\n" << "\n" << "Prints current header or writes the header into a file with the same pathname but 'fitshdr' extension.\n" << "Arguments:\n" << " --backup write current header from file 'pathname.fits' to 'pathname.fitshdr#n' where n is the HDU number.\n"; rc = EXIT_FAILURE; } else { bool backup = false; for(int i=1; i<argc; i++) { if(0 == (string(argv[i]).substr(0,2+6)).compare("--backup")) { backup = true; } else { string pathname(argv[i]); cout << to_string(i) << " : " << pathname << endl; rc = header_backup(pathname, backup); std::cout << "header_backup rc: " << rc << std::endl; } } rc = EXIT_SUCCESS; } return rc; } int cmd_header_modif(int argc, char * argv[]) { int rc; if (argc < 2) { std::cerr << "Usage: headermodif --sky=<SkySystem> --spec=<SpecSystem> <filename.fits>... \n" << "\n" << "Modify header for new coord system.\n" << "Arguments:\n" Loading Loading @@ -638,6 +678,7 @@ int main (int argc, char * argv[]) case vlkb::nullvals: rc = cmd_nullvals(cmd_argc, cmd_argv); break; case vlkb::listbounds: rc = cmd_listbounds(cmd_argc, cmd_argv); break; case vlkb::header: rc = cmd_header(cmd_argc, cmd_argv); break; case vlkb::headermodif: rc = cmd_header_modif(cmd_argc, cmd_argv); break; case vlkb::skyvertices: rc = cmd_skyvertices(cmd_argc, cmd_argv); break; case vlkb::overlap: rc = cmd_overlap(cmd_argc, cmd_argv); break; Loading Loading
data-access/engine/src/vlkb/src/ast.cpp +34 −5 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ int vlkb_listbounds(const string& skysys_str, const string& specsys_str, const s //--------------------------------------------------------------------- // header modif coord sys // header backup and modif //--------------------------------------------------------------------- /* const string VELOLSRK{"System=VELO,StdOfRest=LSRK,Unit=km/s"}; Loading @@ -102,6 +102,33 @@ void write_previous(string header, string filename) } int header_backup(const string& pathname, bool backup) { LOG_trace(__func__); int maxHdu = 1;//FIXME INT_MAX; // read all HDU's std::vector<fitsfiles::Hdu> allHdus = fitsfiles::fname2hdrstr(pathname, maxHdu); for(unsigned int i=0; i<allHdus.size(); i++) { cerr << "HDU#" << i << endl; fitsfiles::Hdu hd = allHdus.at(i); if(backup) write_previous(hd.m_header, pathname +"hdr" + ((i>0) ? "#" + to_string(i+1) : "") ); else cout << hd.m_header << endl; // FIXME remove all explicit cout cerr to main.cpp and here use ostream& } return 0; } int header_modif_coordsys(const string& skysys_str, const string& specsys_str, const string& pathname) { Loading Loading @@ -132,6 +159,8 @@ int header_modif_coordsys(const string& skysys_str, const string& specsys_str, c } //--------------------------------------------------------------------- // overlap with area given in query-string form (name=value&...) //--------------------------------------------------------------------- Loading
data-access/engine/src/vlkb/src/ast.hpp +1 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ int vlkb_skyvertices(const std::string& pathname, const std::string& skysys_str); int vlkb_listbounds(const std::string& skysys_str, const std::string& specsys_str, const std::string& pathname); int header_backup(const std::string& pathname, bool backup = false); int header_modif_coordsys(const std::string& skysys_str, const std::string& specsys_str, const std::string& pathname); int vlkb_overlap(const std::string& pathname, const std::string& region, std::vector<uint_bounds>& bnds); Loading
data-access/engine/src/vlkb/src/main.cpp +49 −8 Original line number Diff line number Diff line Loading @@ -43,7 +43,7 @@ namespace vlkb << "Usage: " << progname << " <command> [cmd-options] [cmd-args]" << endl << "\n where commands are:\n " << "\n\t cutout imcopy cutpixels multicutout mergefiles\n" << "\n\t listbounds header skyvertices overlap\n" << "\n\t listbounds header headermodif skyvertices overlap\n" << "\n\t nullvals dropdegen checkcard addcard modcard rawdelcard\n" << std::endl << "Version: " << VERSIONSTR << " " << BUILD << std::endl; Loading @@ -55,7 +55,7 @@ namespace vlkb enum cmd_set { multicutout, mergefiles, cutout, imcopy, cutpixels, listbounds, header, overlap, skyvertices, nullvals, dropdegen, checkcard, addcard, modcard, rawdelcard}; listbounds, header, headermodif, overlap, skyvertices, nullvals, dropdegen, checkcard, addcard, modcard, rawdelcard}; // from bash or interpreters usually receive params as strings Loading @@ -71,6 +71,7 @@ namespace vlkb else if(cmdstr.compare("cutpixels") == 0) cmd = cutpixels; else if(cmdstr.compare("listbounds") == 0) cmd = listbounds; else if(cmdstr.compare("header") == 0) cmd = header; else if(cmdstr.compare("headermodif") == 0) cmd = headermodif; else if(cmdstr.compare("overlap") == 0) cmd = overlap; else if(cmdstr.compare("skyvertices") == 0) cmd = skyvertices; else if(cmdstr.compare("nullvals") == 0) cmd = nullvals; Loading Loading @@ -327,7 +328,46 @@ int cmd_header(int argc, char * argv[]) if (argc < 2) { std::cerr << "Usage: header --sky=<SkySystem> --spec=<SpecSystem> <filename.fits>... \n" << "Usage: header [--backup] <pathname.fits>...\n" << "\n" << "Prints current header or writes the header into a file with the same pathname but 'fitshdr' extension.\n" << "Arguments:\n" << " --backup write current header from file 'pathname.fits' to 'pathname.fitshdr#n' where n is the HDU number.\n"; rc = EXIT_FAILURE; } else { bool backup = false; for(int i=1; i<argc; i++) { if(0 == (string(argv[i]).substr(0,2+6)).compare("--backup")) { backup = true; } else { string pathname(argv[i]); cout << to_string(i) << " : " << pathname << endl; rc = header_backup(pathname, backup); std::cout << "header_backup rc: " << rc << std::endl; } } rc = EXIT_SUCCESS; } return rc; } int cmd_header_modif(int argc, char * argv[]) { int rc; if (argc < 2) { std::cerr << "Usage: headermodif --sky=<SkySystem> --spec=<SpecSystem> <filename.fits>... \n" << "\n" << "Modify header for new coord system.\n" << "Arguments:\n" Loading Loading @@ -638,6 +678,7 @@ int main (int argc, char * argv[]) case vlkb::nullvals: rc = cmd_nullvals(cmd_argc, cmd_argv); break; case vlkb::listbounds: rc = cmd_listbounds(cmd_argc, cmd_argv); break; case vlkb::header: rc = cmd_header(cmd_argc, cmd_argv); break; case vlkb::headermodif: rc = cmd_header_modif(cmd_argc, cmd_argv); break; case vlkb::skyvertices: rc = cmd_skyvertices(cmd_argc, cmd_argv); break; case vlkb::overlap: rc = cmd_overlap(cmd_argc, cmd_argv); break; Loading