3#include "MRVoxelsFwd.h"
4#ifndef MRVOXELS_NO_DICOM
39 explicit operator bool()
const
52MRVOXELS_API
DicomStatus isDicomFile(
const std::filesystem::path& path, std::string* seriesUid =
nullptr, Vector3i* dims =
nullptr );
81MRVOXELS_API std::vector<Expected<DicomVolume>>
loadDicomsFolder(
const std::filesystem::path& path,
unsigned maxNumThreads,
const ProgressCallback& cb = {} );
84MRVOXELS_API std::vector<Expected<DicomVolumeAsVdb>>
loadDicomsFolderAsVdb(
const std::filesystem::path& path,
unsigned maxNumThreads,
const ProgressCallback& cb = {} );
88 unsigned maxNumThreads = 4,
const ProgressCallback& cb = {} );
102MRVOXELS_API
Expected<void> toDicom(
const VdbVolume& vdbVolume,
const std::filesystem::path& path, ProgressCallback cb = {} );
std::vector<T>-like container that requires specific indexing type,
Definition MRVector.h:23
MRVOXELS_API Expected< LoadedObjects > makeObjectVoxelsFromDicomFolder(const std::filesystem::path &folder, const ProgressCallback &callback={})
Loads 3D volumetric data from dicom-files in given folder, and converts them into an ObjectVoxels.
std::string reason
Definition MRDicom.h:46
std::string name
Definition MRDicom.h:64
MRVOXELS_API Expected< std::shared_ptr< ObjectVoxels > > createObjectVoxels(const DicomVolumeAsVdb &dcm, const ProgressCallback &cb={})
converts DicomVolumeAsVdb in ObjectVoxels
DicomStatusEnum
Definition MRDicom.h:25
MRVOXELS_API Expected< DicomVolumeAsVdb > loadDicomFolderAsVdb(const std::filesystem::path &path, unsigned maxNumThreads, const ProgressCallback &cb={})
Loads one volume from DICOM files located in given folder as VdbVolume.
AffineXf3f xf
Definition MRDicom.h:65
MRVOXELS_API std::vector< std::filesystem::path > findDicomFoldersRecursively(const std::filesystem::path &path)
returns all the dicom folders in path, searching recursively
DicomStatusEnum status
Definition MRDicom.h:45
tl::expected< T, E > Expected
Definition MRExpected.h:31
DicomStatus(DicomStatusEnum st, std::string_view rs="")
implicit by design
Definition MRDicom.h:34
MRVOXELS_API std::vector< Expected< DicomVolume > > loadDicomsFolder(const std::filesystem::path &path, unsigned maxNumThreads, const ProgressCallback &cb={})
Loads all volumes from DICOM files located in given folder as a number of SimpleVolumeMinMax.
MRMESH_API double volume(const MeshTopology &topology, const VertCoords &points, const FaceBitSet *region=nullptr)
MRVOXELS_API Expected< void > toDicom(const VdbVolume &vdbVolume, const std::filesystem::path &path, ProgressCallback cb={})
Save voxels object to a single 3d DICOM file.
MRVOXELS_API Expected< DicomVolume > loadDicomFile(const std::filesystem::path &file, const ProgressCallback &cb={})
Loads full volume from single DICOM file (not a slice file) as SimpleVolumeMinMax.
bool operator==(DicomStatusEnum s) const
Definition MRDicom.h:42
T vol
Definition MRDicom.h:63
MRVOXELS_API Expected< DicomVolumeAsVdb > loadDicomFileAsVdb(const std::filesystem::path &file, const ProgressCallback &cb={})
Loads full volume from single DICOM file (not a slice file) as VdbVolume.
MRVOXELS_API Expected< DicomVolume > loadDicomFolder(const std::filesystem::path &path, unsigned maxNumThreads, const ProgressCallback &cb={})
Loads one volume from DICOM files located in given folder as SimpleVolumeMinMax.
MRVOXELS_API DicomStatus isDicomFile(const std::filesystem::path &path, std::string *seriesUid=nullptr, Vector3i *dims=nullptr)
MRVOXELS_API std::vector< Expected< DicomVolumeAsVdb > > loadDicomsFolderTreeAsVdb(const std::filesystem::path &path, unsigned maxNumThreads=4, const ProgressCallback &cb={})
Loads every subfolder with DICOM volume as new object.
MRVOXELS_API bool isDicomFolder(const std::filesystem::path &dirPath)
check if given folder contains at least one DICOM file
MRVOXELS_API std::vector< Expected< DicomVolumeAsVdb > > loadDicomsFolderAsVdb(const std::filesystem::path &path, unsigned maxNumThreads, const ProgressCallback &cb={})
Loads all volumes from DICOM files located in given folder as a number of VdbVolume.
@ Invalid
valid DICOM and we can open it
@ Unsupported
not a valid DICOM
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
represents a box in 3D space subdivided on voxels stored in T
Definition MRVoxelsVolume.h:51