SourceXtractorPlusPlus  0.13
Please provide a description of the project.
FitsFile.h
Go to the documentation of this file.
1 
18 /*
19  * FitsFile.h
20  *
21  * Created on: Jun 9, 2020
22  * Author: mschefer
23  */
24 
25 #ifndef _SEFRAMEWORK_FITS_FITSFILE_H_
26 #define _SEFRAMEWORK_FITS_FITSFILE_H_
27 
28 #include <string>
29 #include <vector>
30 #include <map>
31 
32 #include <fitsio.h>
33 
36 
37 namespace SourceXtractor {
38 
44 class FitsFile {
45 protected:
46  FitsFile(const std::string& filename, bool writeable, std::shared_ptr<FitsFileManager> manager);
47 
48 public:
49 
50  virtual ~FitsFile();
51 
52  fitsfile* getFitsFilePtr() {
53  if (!m_is_file_opened) {
54  open();
55  }
56  return m_file_pointer;
57  }
58 
59  const std::vector<int>& getImageHdus() const {
60  return m_image_hdus;
61  }
62 
64  return m_headers.at(hdu-1);
65  }
66 
67  void setWriteMode();
68 
69  void open();
70  void close();
71 
72 
73 private:
74  void openFirstTime();
75  void reopen();
76 
77  void reloadHeaders();
79  void loadHeadFile();
80 
82  fitsfile* m_file_pointer;
86 
88 
90 
92 
93  friend class FitsFileManager;
94 };
95 
96 }
97 
98 #endif /* _SEFRAMEWORK_FITS_FITSFILE_H_ */
SourceXtractor::FitsFile::loadFitsHeader
std::map< std::string, MetadataEntry > loadFitsHeader(fitsfile *fptr)
Definition: FitsFile.cpp:212
std::string
STL class.
SourceXtractor::FitsFile::FitsFile
FitsFile(const std::string &filename, bool writeable, std::shared_ptr< FitsFileManager > manager)
Definition: FitsFile.cpp:90
std::shared_ptr
STL class.
SourceXtractor::FitsFile::getFitsFilePtr
fitsfile * getFitsFilePtr()
Definition: FitsFile.h:52
SourceXtractor::FitsFile::reloadHeaders
void reloadHeaders()
Definition: FitsFile.cpp:194
conf.filename
string filename
Definition: conf.py:63
std::vector< int >
SourceXtractor::FitsFile::m_is_writeable
bool m_is_writeable
Definition: FitsFile.h:84
SourceXtractor::FitsFile::reopen
void reopen()
Definition: FitsFile.cpp:155
SourceXtractor::FitsFile::getImageHdus
const std::vector< int > & getImageHdus() const
Definition: FitsFile.h:59
SourceXtractor::FitsFile::m_is_file_opened
bool m_is_file_opened
Definition: FitsFile.h:83
SourceXtractor::FitsFile::getHDUHeaders
std::map< std::string, MetadataEntry > & getHDUHeaders(int hdu)
Definition: FitsFile.h:63
SourceXtractor::FitsFile
represents access to a whole FITS file and handles loading and caching FITS headers
Definition: FitsFile.h:44
SourceXtractor::FitsFile::m_headers
std::vector< std::map< std::string, MetadataEntry > > m_headers
Definition: FitsFile.h:89
SourceXtractor
Definition: Aperture.h:30
SourceXtractor::FitsFile::openFirstTime
void openFirstTime()
Definition: FitsFile.cpp:103
ImageSourceWithMetadata.h
SourceXtractor::FitsFile::m_filename
std::string m_filename
Definition: FitsFile.h:81
SourceXtractor::FitsFile::m_was_opened_before
bool m_was_opened_before
Definition: FitsFile.h:85
std::map
STL class.
SourceXtractor::FitsFile::m_file_pointer
fitsfile * m_file_pointer
Definition: FitsFile.h:82
SourceXtractor::FitsFileManager
Definition: FitsFileManager.h:39
SourceXtractor::FitsFile::~FitsFile
virtual ~FitsFile()
Definition: FitsFile.cpp:99
SourceXtractor::FitsFile::m_manager
std::shared_ptr< FitsFileManager > m_manager
Definition: FitsFile.h:91
SourceXtractor::FitsFile::setWriteMode
void setWriteMode()
Definition: FitsFile.cpp:186
SourceXtractor::FitsFile::open
void open()
Definition: FitsFile.cpp:164
SourceXtractor::FitsFile::m_image_hdus
std::vector< int > m_image_hdus
Definition: FitsFile.h:87
SourceXtractor::FitsFile::close
void close()
Definition: FitsFile.cpp:176
SourceXtractor::FitsFile::loadHeadFile
void loadHeadFile()
Definition: FitsFile.cpp:238
FitsFileManager.h