23#ifndef _SO_VR_DICOM_FILE_READER_
24#define _SO_VR_DICOM_FILE_READER_
27#pragma warning( push )
28#pragma warning(disable:4251)
35class SiDicomSliceVector;
36class SoDicomSliceCache;
407 static std::vector<SbString> s_extensions;
411#pragma warning( pop )
#define SO_FIELDCONTAINER_HEADER(className)
SO_PIMPL_BASE_PUBLIC_DECLARATION(SoVRDicomFileReader)
Class for smart character strings.
Maintains a list of pointers to SbString instances.
<a href="IconLegend.html"><img src="extVR.gif" alt="VolumeViz" border="0"></a> DICOM data.
DataType
Supported data type.
<a href="IconLegend.html"><img src="extVR.gif" alt="VolumeViz" border="0"></a> DICOM data.
<a href="IconLegend.html"><img src="extVR.gif" alt="VolumeViz" border="0"></a> DICOM file reader.
virtual SoVolumeReader::ReaderType getReaderType()
Returns the reader type.
SbBool setDirectory(const SbString &folder)
Specify a directory containing DICOM files to load.
void loadInMemory()
Load the DICOM data into contiguous memory if possible.
virtual int setFilename(const SbString &filename)
Specify the name of a DICOM file or a file containing a list of DICOM files to load.
const SiDicomDataSet * getDicomDataSet(const size_t sliceIdx) const
Returns a DICOM data object for the specified slice containing all the DICOM attributes.
virtual SbBool setOutputDataType(SbBool doChange, SoDataSet::DataType type)
Requests that the input be converted (if necessary) to the specified data type.
bool setFilenameListFromSeries(const SbString &base)
Specify a DICOM file and load all image files in the same directory that are part of the same "series...
virtual void closeAllHandles()
Close all file handles currently opened by the reader.
int setFilenamePattern(const SbString &pattern)
Specify a pattern of DICOM files to load.
int setFilenameList(const SbStringList &filenameList)
Specify a list of DICOM files to load.
virtual void restoreAllHandles()
Restore all file handles closed by closeAllHandles method.
virtual ReadError getDataChar(SbBox3f &size, SoDataSet::DataType &type, SbVec3i32 &dim) override
Gets the characteristics (file header) of the data volume.
void loadSliceDicomData(int slice, SoVRDicomData &dicomData) const
Loads the Dicom data of the given slice.
SbBool setFilenameList(const SbString &format, const int startIndex=0, const int endIndex=INT_MAX, const int indexStep=1)
Specify a list of DICOM files to load, using a sprintf-like format.
int getNumSignificantBits()
This method is optional.
virtual void getSubSlice(const SbBox2i32 &subSlice, int sliceNumber, void *data)
Must copy the rectangular part defined by subSlice of the XY slice sliceNumber to the memory refe...
SoVRDicomFileReader()
Constructor.
virtual SbBool isThreadSafe() const
SoVRDicomFileReader is thread safe.
const SoVRDicomData & getDicomData() const
Returns an instance of SoVRDicomData for the first image of this volume.
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Abstract...
ReaderType
Available reader type.