Configuration
Settings
Global meshing settings, independent of device configuration.
Enums
Functions
-
void phoim_GetDefaultSettings(phoim_Settings *settings)
Get default settings (with the same values as in CPP API).
- Parameters:
settings – [out] Pointer to settings structure to be filled with default values.
-
struct phoim_Settings
- #include <Settings.h>
Public Members
-
uint8_t gpu_id
Index of GPU that will be used for computation.
-
uint8_t max_gpu_memory_usage
Maximum percentage of available GPU memory which can be used by the library in a standard scenario.
Note
If some other program that is also using GPU is running, the available GPU memory is smaller. This value can be exceeded in a few cases: 1.) Multiple devices with different resolutions are used. 2.) A device with a resolution higher than 1120 x 800 is used. 3.) If GetVirtualScan method is used.
-
float voxel_size
Size of one voxel (smallest unit of the internal volumetric structure). The smaller the value is, the more detailed will be the resulting mesh, but the worse performance and higher memory requirements will be.
-
float working_volume_edge_length
Edge length of the cubic working volume for 3D scan integration, in meters. The first scan always anchors at the center of this volume. When scanning objects that extend from one edge to the other, increase this value by approximately 2x the object length. Minimal allowed value is 4.0.
Note
CPU RAM usage scales cubically with this value, but is negligible up to 33 m.
-
uint8_t min_voxel_consensus
Minimum number of scans required to report voxel data for inclusion in the output mesh. A value of 0 will result in no filtering.
-
bool streaming_enabled
Enables streaming data between CPU and GPU. This feature enables scanning of much larger scenes by transferring data temporarily from GPU to CPU when they are not needed.
-
phoim_RasterizationEngine rasterization_engine
Rasterization engine selection between opengl (default), cuda and vulkan.
RasterizationEngine::cuda - Use for servers without display. It may have a negative impact on performance.
RasterizationEngine::vulkan - provides best performance but still in beta testing.
Warning
This is an Experimental setting and may be removed in near future.
-
bool color_intensity_auto_minmax_enabled
Enable calculating the color intensities automatically from the first frame of the input dataset.
-
float tracking_lost_tolerance
The transformation from tracking is considered invalid if the translation or rotation is too great. This number can lower or increase the threshold of how big can the transformation be before the tracking is lost. The higher this parameter is, the bigger can be the transformation found by tracking, but it also increases the chance that a wrongly aligned scan will be added.
-
uint8_t gpu_id
Device Parameters
Per-device configuration passed to phoim_Create or phoim_CreateWithBatches.
Functions
-
void phoim_GetDefaultDeviceParameters(phoim_DeviceParameters *device_params)
Get default device parameters.
- Parameters:
device_params – [out] Pointer to device parameters structure to be filled with default values.
-
struct phoim_CameraIntrinsics
- #include <DeviceParameters.h>
Camera intrinsics.
-
struct phoim_DistortionCoefficients
- #include <DeviceParameters.h>
Camera distortion coefficients.
-
struct phoim_DeviceParameters
- #include <DeviceParameters.h>
PhoXi device parameters.
Note
Consider initializing this struct with phoim_GetDefaultDeviceParameters() to get safe defaults for fields you do not intend to set explicitly (e.g. depth range, tracking flags).
Public Members
-
const char *id
Unique identification of the Device.
-
int32_t width
Resolution of the device, width.
-
int32_t height
Resolution of the device, height.
-
bool orthogonal_projection
Enable orthogonal projection by setting this flag to true, set it to false for perspective projection.
-
phoim_CameraIntrinsics camera_intrinsics
Perspective camera intrinsics.
-
phoim_DistortionCoefficients distortion_coefficients
Perspective camera distortion coefficients.
-
float ortho_width
Width of the orthogonal view volume in millimeters.
-
float ortho_height
Height of the orthogonal view volume in millimeters.
-
float min_depth
Only points with greater depth than min_depth will be rendered.
-
float max_depth
Only points with lesser depth than max_depth will be rendered.
-
float sweet_spot_depth
Points near sweet spot are considered as most confident. Points with greater or smaller depth will have lower weight in integration to the final mesh. The value must lie between min_depth and max_depth. If the value equals zero, a mean value of min_depth and max_depth will be used instead.
-
float min_color_intensity
Minimal input intensity (for each channel in the case of RGB) will be mapped to 0.0f.
-
float max_color_intensity
Maximal input intensity (for each channel in the case of RGB) will be mapped to 1.0f.
-
bool tracking_enabled
Enable automatic tracking.
-
bool texture_tracking_enabled
Use information from Texture (RGB or intensity) to improve tracking.
-
bool movement_prediction_enabled
Enable prediction of camera movement based on camera positions and timestamps.
-
bool force_camera_space_enabled
If true, each added scan will be automatically transformed into camera space before further processing.
-
utils_Mat4f calibration_matrix
Deprecated parameter. The calibration matrix describes a transformation from this camera space to a mesh space. You can choose whether the mesh space is the “main” camera space, a marker space, or anything else.
-
const char *id
-
struct phoim_DeviceParametersBatch
- #include <DeviceParameters.h>
Array of configurations for all devices in a batch. Used with phoim_CreateWithBatches function.
Public Members
-
phoim_DeviceParameters *device_params
Array of device parameter structures, each defining configuration for a single device in this batch.
-
size_t device_count
Number of devices.
-
phoim_DeviceParameters *device_params
Camera Parameters
Virtual camera definitions for phoim_GetVirtualScanPerspective,
phoim_GetVirtualScanOrthogonal, and the union functions.
-
struct phoim_CameraParams
- #include <CameraParams.h>
Camera parameters for GetVirtualScan function, common for both projection types.
Public Members
-
utils_Vec3f position
Camera position vector.
-
utils_Vec3f forward_vector
Camera forward vector.
-
utils_Vec3f up_vector
Camera up vector.
-
int32_t width
Resolution of the camera, width.
-
int32_t height
Resolution of the camera, height.
-
float min_depth
Only points with greater depth than min_depth will be rendered.
-
float max_depth
Only points with lesser depth than max_depth will be rendered.
-
utils_Vec3f position
-
struct phoim_CameraParamsPerspective
- #include <CameraParams.h>
Camera parameters for GetVirtualScan function with perspective projection.
Public Members
-
phoim_CameraParams common_params
Basic parameters.
-
phoim_CameraIntrinsics camera_intrinsics
Camera intrinsics.
-
phoim_CameraParams common_params
-
struct phoim_CameraParamsOrthogonal
- #include <CameraParams.h>
Camera parameters for GetVirtualScan function with orthogonal projection.
Public Members
-
phoim_CameraParams common_params
Basic parameters.
-
float width
Width of the view volume in millimeters.
-
float height
Height of the view volume in millimeters.
-
phoim_CameraParams common_params