CiftiLib
A C++ library for CIFTI-2 and CIFTI-1 files
|
class for reading and writing cifti files More...
#include <CiftiFile.h>
Classes | |
class | ReadImplInterface |
class | WriteImplInterface |
Public Types | |
enum | ENDIAN { ANY , NATIVE , LITTLE , BIG } |
Public Member Functions | |
CiftiFile (const AString &fileName) | |
starts on-disk reading | |
void | openFile (const AString &fileName) |
starts on-disk reading | |
void | setWritingFile (const AString &fileName, const CiftiVersion &writingVersion=CiftiVersion(), const ENDIAN &endian=NATIVE) |
starts on-disk writing | |
void | writeFile (const AString &fileName, const CiftiVersion &writingVersion=CiftiVersion(), const ENDIAN &endian=ANY) |
does nothing if filename, version, and effective endianness match file currently open, otherwise writes complete file | |
void | close () |
closes the underlying file to flush it, so that exceptions can be thrown | |
void | convertToInMemory () |
reads file into memory, closes file | |
const CiftiXML & | getCiftiXML () const |
bool | isInMemory () const |
void | getRow (float *dataOut, const std::vector< int64_t > &indexSelect, const bool &tolerateShortRead=false) const |
the tolerateShortRead parameter is useful for on-disk writing when it is easiest to do RMW multiple times on a new file | |
const std::vector< int64_t > & | getDimensions () const |
MultiDimIterator< int64_t > | getIteratorOverRows () const |
convenience function for iterating over arbitrary numbers of dimensions | |
void | getColumn (float *dataOut, const int64_t &index) const |
for 2D only, will be slow if on disk! | |
void | setCiftiXML (const CiftiXML &xml, const bool useOldMetadata=true) |
void | setRow (const float *dataIn, const std::vector< int64_t > &indexSelect) |
void | setColumn (const float *dataIn, const int64_t &index) |
for 2D only, will be slow if on disk! | |
void | getRow (float *dataOut, const int64_t &index, const bool &tolerateShortRead=false) const |
for 2D only, if you don't want to pass a vector for indexing | |
void | setRow (const float *dataIn, const int64_t &index) |
for 2D only, if you don't want to pass a vector for indexing | |
void | setWritingDataTypeNoScaling (const int16_t &type=NIFTI_TYPE_FLOAT32) |
data type and scaling options - should be set before setRow, etc, to avoid rewriting of file | |
void | setWritingDataTypeAndScaling (const int16_t &type, const double &minval, const double &maxval) |
class for reading and writing cifti files