MeshLib C++ Docs
Loading...
Searching...
No Matches
MRVoxelsLoad.h
Go to the documentation of this file.
1#pragma once
2#include "MRVoxelsFwd.h"
3#include "MRScalarConvert.h"
4#include "MRVoxelsVolume.h"
5
7#include "MRMesh/MRObject.h"
9
10#include <filesystem>
11
12namespace MR
13{
14
15namespace VoxelsLoad
16{
17
21
29
30MRVOXELS_API Expected<VdbVolume> fromRaw( const std::filesystem::path& file, const RawParameters& params,
31 const ProgressCallback& cb = {} );
34MRVOXELS_API Expected<VdbVolume> fromRaw( std::istream& in, const RawParameters& params,
35 const ProgressCallback& cb = {} );
36
38MRVOXELS_API Expected<FloatGrid> gridFromRaw( const std::filesystem::path& file, const RawParameters& params,
39 const ProgressCallback& cb = {} );
40
44 const ProgressCallback& cb = {} );
45
50
52MRVOXELS_API Expected<VdbVolume> fromRaw( const std::filesystem::path& file,
53 const ProgressCallback& cb = {} );
54
56MRVOXELS_API Expected<FloatGrid> gridFromRaw( const std::filesystem::path& file,
57 const ProgressCallback& cb = {} );
58
60MRVOXELS_API Expected<std::vector<VdbVolume>> fromVdb( const std::filesystem::path& file,
61 const ProgressCallback& cb = {} );
62
63MRVOXELS_API Expected<std::vector<FloatGrid>> gridsFromVdb( const std::filesystem::path& file,
64 const ProgressCallback& cb = {} );
66 const ProgressCallback& cb = {} );
67
68
70MRVOXELS_API Expected<VdbVolume> fromGav( const std::filesystem::path& file, const ProgressCallback& cb = {} );
72MRVOXELS_API Expected<VdbVolume> fromGav( std::istream& in, const ProgressCallback& cb = {} );
73
74
77 const ProgressCallback& cb = {} );
78
81 const ProgressCallback& cb = {} );
82
84enum class GridType
85{
90};
91
92#ifndef MRVOXELS_NO_TIFF
94{
95 std::filesystem::path dir;
96 Vector3f voxelSize = { 1.0f, 1.0f, 1.0f };
99};
100
102#endif
103
104#ifndef MR_PARSING_FOR_ANY_BINDINGS
105using VoxelsLoader = Expected<std::vector<VdbVolume>>( * )( const std::filesystem::path&, const ProgressCallback& );
106
108#endif
109
110}
111
114
115MRVOXELS_API Expected<LoadedObjects> makeObjectFromVoxelsFile( const std::filesystem::path& file, const ProgressCallback& callback = {} );
116
118
119}
#define MR_FORMAT_REGISTRY_EXTERNAL_DECL(API_ATTR, ProcName)
Definition MRIOFormatsRegistry.h:18
#define MRVOXELS_API
see explanation in MRMesh/MRMeshFwd.h
Definition MRVoxelsFwd.h:14
std::function< bool(float)> ProgressCallback
Definition MRMeshFwd.h:753
ScalarType
scalar value's binary format type
Definition MRScalarConvert.h:13
tl::expected< T, E > Expected
Definition MRExpected.h:31
@ Float32
Definition MRScalarConvert.h:22
GridType gridType
Definition MRVoxelsLoad.h:97
Expected< std::vector< VdbVolume > > fromAnySupportedFormat(const std::filesystem::path &file, const ProgressCallback &cb={})
Detects the format from file extension and loads voxels from it.
Vector3f voxelSize
Definition MRVoxelsLoad.h:96
Expected< std::vector< FloatGrid > > gridsFromVdb(const std::filesystem::path &file, const ProgressCallback &cb={})
GridType
Determines iso-surface orientation.
Definition MRVoxelsLoad.h:85
bool gridLevelSet
OpenVDB GridClass set as GRID_LEVEL_SET (need to set right surface normals direction)
Definition MRVoxelsLoad.h:26
ScalarType scalarType
Definition MRVoxelsLoad.h:27
Expected< std::vector< VdbVolume > > fromVdb(const std::filesystem::path &file, const ProgressCallback &cb={})
Load all voxel volumes from OpenVDB file.
Expected< VdbVolume > fromRaw(const std::filesystem::path &file, const RawParameters &params, const ProgressCallback &cb={})
Load raw voxels from file with provided parameters.
Expected< VdbVolume > loadTiffDir(const LoadingTiffSettings &settings)
Load voxels from a set of TIFF files.
std::filesystem::path dir
Definition MRVoxelsLoad.h:95
Expected< RawParameters > findRawParameters(std::filesystem::path &file)
Vector3i dimensions
Definition MRVoxelsLoad.h:24
Expected< FloatGrid > gridFromRaw(const std::filesystem::path &file, const RawParameters &params, const ProgressCallback &cb={})
Load raw voxels from file with provided parameters.
Expected< VdbVolume > fromGav(const std::filesystem::path &file, const ProgressCallback &cb={})
Load voxel from Gav-file with micro CT reconstruction.
Expected< std::vector< VdbVolume > >(*)(const std::filesystem::path &, const ProgressCallback &) VoxelsLoader
MRVOXELS_NO_TIFF.
Definition MRVoxelsLoad.h:105
Expected< std::vector< FloatGrid > > gridsFromAnySupportedFormat(const std::filesystem::path &file, const ProgressCallback &cb={})
Detects the format from file extension and loads voxels from it.
ProgressCallback cb
Definition MRVoxelsLoad.h:98
Vector3f voxelSize
Definition MRVoxelsLoad.h:25
@ DenseGrid
consider values less than iso as outer area
Definition MRVoxelsLoad.h:87
@ LevelSet
consider values less than iso as inner area
Definition MRVoxelsLoad.h:89
Definition MRDicom.h:21
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Expected< std::vector< std::shared_ptr< ObjectVoxels > > > makeObjectVoxelsFromFile(const std::filesystem::path &file, ProgressCallback callback={})
loads voxels from given file in new object
Expected< LoadedObjects > makeObjectFromVoxelsFile(const std::filesystem::path &file, const ProgressCallback &callback={})
Definition MRVoxelsLoad.h:94
Definition MRVoxelsLoad.h:23