Class for encoding and decoding an MRC raster image More...
#include <Inventor/image/SoMRCImageRW.h>
Public Member Functions | |
virtual SoType | getTypeId () const |
SoMRCImageRW () | |
virtual | ~SoMRCImageRW () |
virtual SbBool | open (SoRasterImageIO *rasterImageIO, OpenMode openMode) |
virtual SbBool | write (SbRasterImage *rasterImage, unsigned int xPos=0, unsigned int yPos=0) |
virtual SbBool | read (SbRasterImage *rasterImage, SbBool infoOnly=FALSE) |
virtual SbBool | read (SbRasterImage *rasterImage, size_t imageIndex, SbBool infoOnly=FALSE) |
virtual SbBool | readRegion (SbRasterImage *rasterImage, const SbBox2i32 ®ion) |
virtual SbBool | readRegion (SbRasterImage *rasterImage, size_t imageIndex, const SbBox2i32 ®ion) |
Static Public Member Functions | |
static SoType | getClassTypeId () |
This class is used for encoding and decoding a MRC raster image.
MRC is a file format that has become industry standard in cryo-electron microscopy (cryoEM) and electron tomography (ET), where the result of the technique is a three-dimensional grid of voxels each with a value corresponding to electron density or electric potential. It was developed by the MRC (Medical Research Council, UK) Laboratory of Molecular Biology. In 2014, the format was standardised. The format specification is available on the CCP-EM website. For details see: http://www.ccpem.ac.uk/mrc_format/mrc2014.php
The writeCapability is WRITE_UNAVAILABLE and isMultipleBufferInverted is TRUE.
See SoRasterImageRW for more information and code examples.
NOTE: Class available since Open Inventor 10.4.
SoRasterImageFile, SoRasterImageRW, SbRasterImage, SoVRMrcFileReader
SoMRCImageRW::SoMRCImageRW | ( | ) |
Constructor.
virtual SoMRCImageRW::~SoMRCImageRW | ( | ) | [virtual] |
Destructor.
static SoType SoMRCImageRW::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoRasterImageRW.
virtual SoType SoMRCImageRW::getTypeId | ( | ) | const [virtual] |
Returns the type identifier for this specific instance.
Implements SoRasterImageRW.
virtual SbBool SoMRCImageRW::open | ( | SoRasterImageIO * | rasterImageIO, | |
OpenMode | openMode | |||
) | [virtual] |
Opens the reader/writer in the specified open mode.
Returns true if successful.
Reimplemented from SoRasterImageRW.
virtual SbBool SoMRCImageRW::read | ( | SbRasterImage * | rasterImage, | |
size_t | imageIndex, | |||
SbBool | infoOnly = FALSE | |||
) | [virtual] |
Read the current open image into rasterImage. Returns true if successful. Call the open() method before calling this method.If infoOnly is TRUE, then the buffer will not be read; the parameter rasterImage will be set with raster size and raster number of components, the buffer will be NULL.
Reimplemented from SoRasterImageRW.
virtual SbBool SoMRCImageRW::read | ( | SbRasterImage * | rasterImage, | |
SbBool | infoOnly = FALSE | |||
) | [virtual] |
Reads, decodes, and fills the rasterImage parameter.
If infoOnly is TRUE, then the buffer will not be read; the parameter rasterImage will be set with raster size and raster number of components, the buffer will be NULL.
Implements SoRasterImageRW.
virtual SbBool SoMRCImageRW::readRegion | ( | SbRasterImage * | rasterImage, | |
size_t | imageIndex, | |||
const SbBox2i32 & | region | |||
) | [virtual] |
Read the specified region of current open image into rasterImage. Returns true if successful. Call the open() method before calling this method.After calling this method successfully, the size of the SbRasterImage is the requested region size. The requested region may extend outside the source image. In this case, undefined pixels are set to zero. The region may be as small as a single pixel, e.g. (1,1,1,1), but xmin must be <= xmax and ymin <= ymax.
Reimplemented from SoRasterImageRW.
virtual SbBool SoMRCImageRW::readRegion | ( | SbRasterImage * | rasterImage, | |
const SbBox2i32 & | region | |||
) | [virtual] |
Read the specified region of current open image into rasterImage. Returns true if successful. Call the open() method before calling this method.After calling this method successfully, the size of the SbRasterImage is the requested region size. The requested region may extend outside the source image. In this case, undefined pixels are set to zero. The region may be as small as a single pixel, e.g. (1,1,1,1), but xmin must be <= xmax and ymin <= ymax.
Reimplemented from SoRasterImageRW.
virtual SbBool SoMRCImageRW::write | ( | SbRasterImage * | rasterImage, | |
unsigned int | xPos = 0 , |
|||
unsigned int | yPos = 0 | |||
) | [virtual] |
Writes and encodes the given data in the specific format.
If you are using the multiple writing mode, then you can specify the offset (with xPos,yPos) you want to write to.
Implements SoRasterImageRW.