SourceXtractorPlusPlus  0.11
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 private:
73  void openFirstTime();
74  void reopen();
75 
77  void loadHeaders();
78  void loadHeadFile();
79 
81  fitsfile* m_file_pointer;
85 
87 
89 
91 
92  friend class FitsFileManager;
93 };
94 
95 }
96 
97 #endif /* _SEFRAMEWORK_FITS_FITSFILE_H_ */
SourceXtractor::FitsFile::loadFitsHeader
std::map< std::string, MetadataEntry > loadFitsHeader(fitsfile *fptr)
Definition: FitsFile.cpp:209
std::string
STL class.
SourceXtractor::FitsFile::FitsFile
FitsFile(const std::string &filename, bool writeable, std::shared_ptr< FitsFileManager > manager)
Definition: FitsFile.cpp:89
std::shared_ptr
STL class.
SourceXtractor::FitsFile::getFitsFilePtr
fitsfile * getFitsFilePtr()
Definition: FitsFile.h:52
conf.filename
string filename
Definition: conf.py:63
std::vector< int >
SourceXtractor::FitsFile::m_is_writeable
bool m_is_writeable
Definition: FitsFile.h:83
SourceXtractor::FitsFile::reopen
void reopen()
Definition: FitsFile.cpp:154
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:82
SourceXtractor::FitsFile
represents access to a whole FITS file and handles loading and caching FITS headers
Definition: FitsFile.h:44
SourceXtractor::FitsFile::loadHeaders
void loadHeaders()
Definition: FitsFile.cpp:191
SourceXtractor::FitsFile::m_headers
std::vector< std::map< std::string, MetadataEntry > > m_headers
Definition: FitsFile.h:88
SourceXtractor
Definition: Aperture.h:30
SourceXtractor::FitsFile::openFirstTime
void openFirstTime()
Definition: FitsFile.cpp:102
ImageSourceWithMetadata.h
SourceXtractor::FitsFile::m_filename
std::string m_filename
Definition: FitsFile.h:80
SourceXtractor::FitsFile::m_was_opened_before
bool m_was_opened_before
Definition: FitsFile.h:84
std::map
STL class.
SourceXtractor::FitsFile::m_file_pointer
fitsfile * m_file_pointer
Definition: FitsFile.h:81
SourceXtractor::FitsFileManager
Definition: FitsFileManager.h:39
SourceXtractor::FitsFile::~FitsFile
virtual ~FitsFile()
Definition: FitsFile.cpp:98
SourceXtractor::FitsFile::m_manager
std::shared_ptr< FitsFileManager > m_manager
Definition: FitsFile.h:90
SourceXtractor::FitsFile::getHDUHeaders
const std::map< std::string, MetadataEntry > & getHDUHeaders(int hdu) const
Definition: FitsFile.h:63
SourceXtractor::FitsFile::setWriteMode
void setWriteMode()
Definition: FitsFile.cpp:183
SourceXtractor::FitsFile::open
void open()
Definition: FitsFile.cpp:163
SourceXtractor::FitsFile::m_image_hdus
std::vector< int > m_image_hdus
Definition: FitsFile.h:86
SourceXtractor::FitsFile::close
void close()
Definition: FitsFile.cpp:174
SourceXtractor::FitsFile::loadHeadFile
void loadHeadFile()
Definition: FitsFile.cpp:235
FitsFileManager.h