1 #ifndef __NIFTI_HEADER_H__ 2 #define __NIFTI_HEADER_H__ 31 #include "Common/BinaryFile.h" 36 #include "boost/shared_ptr.hpp" 45 std::vector<char> m_bytes;
50 std::vector<boost::shared_ptr<NiftiExtension> > m_extensions;
54 void write(
BinaryFile& outFile,
const int& version = 1,
const bool& swapEndian =
false);
55 bool canWriteVersion(
const int& version)
const;
56 bool isSwapped()
const {
return m_isSwapped; }
57 int version()
const {
return m_version; }
59 std::vector<int64_t> getDimensions()
const;
60 std::vector<std::vector<float> > getSForm()
const;
61 int64_t getDataOffset()
const {
return m_header.vox_offset; }
62 int16_t getDataType()
const {
return m_header.datatype; }
63 int32_t getIntentCode()
const {
return m_header.intent_code; }
64 const char* getIntentName()
const {
return m_header.intent_name; }
65 bool getDataScaling(
double& mult,
double& offset)
const;
66 AString toString()
const;
68 void setDimensions(
const std::vector<int64_t>& dimsIn);
69 void setSForm(
const std::vector<std::vector<float> > &sForm);
70 void setIntent(
const int32_t& code,
const char name[16]);
71 void setDataType(
const int16_t& type);
72 void clearDataScaling();
73 void setDataScaling(
const double& mult,
const double& offset);
75 std::vector<std::vector<float> > getFSLSpace()
const;
78 bool operator!=(
const NiftiHeader& rhs)
const {
return !((*this) == rhs); }
89 static int typeToNumBits(
const int64_t& type);
90 int64_t computeVoxOffset(
const int& version)
const;
95 #endif //__NIFTI_HEADER_H__ Definition: NiftiHeader.h:42
namespace for all CiftiLib functionality
Definition: CiftiBrainModelsMap.h:41
Definition: BinaryFile.h:40