|
| | XplorIO (const string &fname, IOMode rw_mode=READ_ONLY) |
| |
| | ~XplorIO () |
| |
| | ImageIO (const string &fname, IOMode rw) |
| |
| virtual | ~ImageIO () |
| |
| virtual int | read_header (Dict &dict, int image_index=0, const Region *area=0, bool is_3d=false)=0 |
| | Read the header from an image. More...
|
| |
| virtual int | write_header (const Dict &dict, int image_index=0, const Region *area=0, EMUtil::EMDataType filestoragetype=EMUtil::EM_FLOAT, bool use_host_endian=true)=0 |
| | Write a header to an image. More...
|
| |
| virtual int | read_data (float *data, int image_index=0, const Region *area=0, bool is_3d=false)=0 |
| | Read the data from an image. More...
|
| |
| virtual int | read_data_8bit (unsigned char *data, int image_index=0, const Region *area=0, bool is_3d=false, float minval=0.0f, float maxval=0.0f) |
| | Read the data from an image as an 8 bit array, regardless of format. More...
|
| |
| virtual int | write_data (float *data, int image_index=0, const Region *area=0, EMUtil::EMDataType filestoragetype=EMUtil::EM_FLOAT, bool use_host_endian=true)=0 |
| | Write data to an image. More...
|
| |
| virtual int | read_ctf (Ctf &ctf, int image_index=0) |
| | Read CTF data from this image. More...
|
| |
| virtual void | write_ctf (const Ctf &ctf, int image_index=0) |
| | Write CTF data to this image. More...
|
| |
| virtual void | flush ()=0 |
| | Flush the IO buffer. More...
|
| |
| virtual int | get_nimg () |
| | Return the number of images in this image file. More...
|
| |
| virtual bool | is_complex_mode ()=0 |
| | Is this an complex image or not. More...
|
| |
| virtual bool | is_image_big_endian ()=0 |
| | Is this image in big endian or not. More...
|
| |
| virtual bool | is_single_image_format () const |
| | Is this image format only storing 1 image or not. More...
|
| |
| template<class T > |
| void | become_host_endian (T *data, size_t n=1) |
| | Convert data of this image into host endian format. More...
|
| |
| string | get_filename () const |
| |
|
| enum | IOMode { READ_ONLY = 1
, READ_WRITE = 2
, WRITE_ONLY = 3
} |
| |
| virtual void | init ()=0 |
| | Do some initialization before doing the read/write. More...
|
| |
| void | check_read_access (int image_index) |
| | Validate 'image_index' in file reading. More...
|
| |
| void | check_read_access (int image_index, const float *data) |
| | Validate 'image_index' and 'data' in file reading. More...
|
| |
| void | check_write_access (IOMode rw_mode, int image_index, int max_nimg=0) |
| | Validate rw_mode and image_index in file writing. More...
|
| |
| void | check_write_access (IOMode rw_mode, int image_index, int max_nimg, const float *data) |
| | Validate rw_mode, image_index, and data pointer in file writing. More...
|
| |
| void | check_region (const Region *area, const FloatSize &max_size, bool is_new_file=false, bool inbounds_only=true) |
| | Validate image I/O region. More...
|
| |
| void | check_region (const Region *area, const IntSize &max_size, bool is_new_file=false, bool inbounds_only=true) |
| | Validate image I/O region. More...
|
| |
| FILE * | sfopen (const string &filename, IOMode mode, bool *is_new=0, bool overwrite=false) |
| | Run fopen safely. More...
|
| |
| string | filename |
| |
| IOMode | rw_mode |
| |
| FILE * | file = nullptr |
| |
| bool | initialized = false |
| |
XPLOR image format is in ASCII:
- header: (note: each integer takes 8 Bytes space, each float is 12.5E format.) line 1: empty line 2: int: number of lines for title (ntitle) next ntitle lines: string: titles line ntitle+3: 9 int: nx, xmin, xmax, ny, ymin, ymax, nz, zmin, zmax line ntitle+4: 6 float: cell size (x, y, z), cell angles (alpha, beta, gamma) line ntitle+5: string: ZYX (this is the section mode. always ZYX)
data
for zindex = 1 to nz: zindex nx*ny floats. each line has 6 floats. each float is in 12.5E format.
A XPLOR file contains one 2D or 3D image.
Definition at line 60 of file xplorio.h.