ReconstructMe SDK  2.0.819-89134
Real-time 3D reconstruction engine
 All Classes Files Functions Typedefs Enumerations Enumerator Groups Pages
functions.h File Reference
#include "libdef.h"
#include "defines.h"
#include "types.h"

Go to the source code of this file.

Functions

reme_error_t reme_context_create (reme_context_t *c)
 Create a new reme_context_t object.
 
reme_error_t reme_context_destroy (reme_context_t *c)
 Destroy a previously created reme_context_t object.
 
reme_error_t reme_context_get_version (reme_context_t c, const char **version, int *length)
 Get the ReconstructMe SDK version string.
 
reme_error_t reme_context_set_log_callback (reme_context_t c, reme_log_callback_t lc, void *user_data=0)
 Set the logging callback.
 
reme_error_t reme_context_bind_reconstruction_options (reme_context_t c, reme_options_t o)
 Access the reconstruction options.
 
reme_error_t reme_context_bind_opencl_info (reme_context_t c, reme_options_t o)
 Access platform OpenCL information.
 
reme_error_t reme_context_tune_reconstruction_options (reme_context_t c, reme_tune_profile_t profile)
 Auto-tune reconstruction settings.
 
reme_error_t reme_context_compile (reme_context_t c)
 Compile OpenCL related kernels.
 
reme_error_t reme_context_bind_error_info (reme_context_t c, reme_options_t o)
 Access current error state.
 
reme_error_t reme_context_print_errors (reme_context_t c)
 Print all errors to standard error output and reset errors.
 
reme_error_t reme_license_create (reme_context_t c, reme_license_t *l)
 Creates a new license object.
 
reme_error_t reme_license_destroy (reme_context_t c, reme_license_t *l)
 Destroy a previously created license object.
 
reme_error_t reme_license_clear_runtime_info (reme_context_t c, reme_license_t l)
 Reset data related to runtime information.
 
reme_error_t reme_license_add_software (reme_context_t c, reme_license_t l, const char *module, int module_length, const char *shash, int shash_length)
 Add licensed software.
 
reme_error_t reme_license_authenticate (reme_context_t c, reme_license_t l, const char *license)
 Authenticate using the given license file and any specified runtime data.
 
reme_error_t reme_license_bind_hardware_hashes (reme_context_t c, reme_license_t l, reme_options_t o)
 Access hardware hashes for generating single user licenses bound to specific hardware.
 
reme_error_t reme_options_create (reme_context_t c, reme_options_t *o)
 Create a new options binding.
 
reme_error_t reme_options_destroy (reme_context_t c, reme_options_t *o)
 Destroy a previously created options object.
 
reme_error_t reme_options_set (reme_context_t c, reme_options_t o, const char *field_name, const char *value)
 Set the value of options field.
 
reme_error_t reme_options_set_int (reme_context_t c, reme_options_t o, const char *field_name, int value)
 Set a specific integer options field.
 
reme_error_t reme_options_set_real (reme_context_t c, reme_options_t o, const char *field_name, float value)
 Set a specific real options field.
 
reme_error_t reme_options_set_bool (reme_context_t c, reme_options_t o, const char *field_name, bool value)
 Set a specific boolean options field.
 
reme_error_t reme_options_get (reme_context_t c, reme_options_t o, const char *field_name, char *value, int length, int index=0)
 Get the value of an options field as string.
 
reme_error_t reme_options_get_int (reme_context_t c, reme_options_t o, const char *field_name, int *value, int index=0)
 Get the value of an integer options field.
 
reme_error_t reme_options_get_real (reme_context_t c, reme_options_t o, const char *field_name, float *value, int index=0)
 Get the value of a real options field.
 
reme_error_t reme_options_get_bool (reme_context_t c, reme_options_t o, const char *field_name, bool *value, int index=0)
 Get the value of a boolean options field.
 
reme_error_t reme_options_get_repeated_count (reme_context_t c, reme_options_t o, const char *field_name, int *length)
 Return the number of elements in a repeated field.
 
reme_error_t reme_options_clear (reme_context_t c, reme_options_t o)
 Clear options.
 
reme_error_t reme_options_bind_message (reme_context_t c, reme_options_t o, const char *field_name, reme_options_t o_nested)
 Bind options object to a nested message.
 
reme_error_t reme_options_bind_repeated_message (reme_context_t c, reme_options_t o, const char *field_name, int repeated_index, reme_options_t o_nested)
 Bind options object to a nested repeated message.
 
reme_error_t reme_options_copy (reme_context_t c, reme_options_t o_src, reme_options_t o_dst)
 Copy the content of the source options to the destination options.
 
reme_error_t reme_options_load_from_file (reme_context_t c, reme_options_t o, const char *filename)
 Set options by loading a human readable options representation from file.
 
reme_error_t reme_options_load_from_string (reme_context_t c, reme_options_t o, const char *message, int length)
 Set options by loading a human readable options representation from a given string.
 
reme_error_t reme_options_save_to_file (reme_context_t c, reme_options_t o, const char *filename)
 Save options in a human readable file format.
 
reme_error_t reme_options_save_to_string (reme_context_t c, reme_options_t o, const char **message, int *length)
 Get options as string using a human readable serialization.
 
reme_error_t reme_options_set_bytes (reme_context_t c, reme_options_t o, const void *message, int length)
 Set options by reading a binary options representation.
 
reme_error_t reme_options_get_bytes (reme_context_t c, reme_options_t o, const void **message, int *length)
 Get options by serializing them in a binary options representation.
 
reme_error_t reme_volume_create (reme_context_t c, reme_volume_t *v)
 Create a new reme_volume_t object.
 
reme_error_t reme_volume_destroy (reme_context_t c, reme_volume_t *v)
 Destroy a previously created volume object.
 
reme_error_t reme_volume_get_time (reme_context_t c, reme_volume_t v, int *time)
 Get the volume time.
 
reme_error_t reme_volume_get_bytes (reme_context_t c, reme_volume_t v, const void **bytes, int *length)
 Returns the content of the volume as an array of bytes.
 
reme_error_t reme_volume_color_get_bytes (reme_context_t c, reme_volume_t v, const void **bytes, int *length)
 Returns the content of the color volume as an array of bytes.
 
reme_error_t reme_volume_slice_get_bytes (reme_context_t c, reme_volume_t v, const int slice, const void **bytes, int *length)
 Returns the content of a specific slice ("xy-plane") of the volume as an array of bytes.
 
reme_error_t reme_volume_color_slice_get_bytes (reme_context_t c, reme_volume_t v, const int slice, const void **bytes, int *length)
 Returns the content of a specific slice ("xy-plane") of the color volume as an array of bytes.
 
reme_error_t reme_volume_set_bytes (reme_context_t c, reme_volume_t v, const void *bytes, int length)
 Sets the content of the volume to the given array of bytes.
 
reme_error_t reme_volume_color_set_bytes (reme_context_t c, reme_volume_t v, const void *bytes, int length)
 Sets the content of the color volume to the given array of bytes.
 
reme_error_t reme_volume_slice_set_bytes (reme_context_t c, reme_volume_t v, const int slice, const void *bytes, int length)
 Sets the content of a slice ("xy-plane") of the volume to the given array of bytes.
 
reme_error_t reme_volume_color_slice_set_bytes (reme_context_t c, reme_volume_t v, const int slice, const void *bytes, int length)
 Sets the content of a slice ("xy-plane") of the color volume to the given array of bytes.
 
reme_error_t reme_volume_reset (reme_context_t c, reme_volume_t v)
 Reset the volume to empty state.
 
reme_error_t reme_transform_set_predefined (reme_context_t c, reme_transform_t t, float *coordinates)
 Set the matrix to a predefined transform.
 
reme_error_t reme_transform_look_at (reme_context_t c, const float *eye, const float *ref, const float *up, float *coordinates)
 Defines a viewing transformation.
 
reme_error_t reme_transform_compensate_tilt (reme_context_t c, const float *cur_coordinates, int tilt_angle_diff, float *new_coordinates)
 Compensate a tilt movement.
 
reme_error_t reme_transform_make_relative (reme_context_t c, const float *a_t, const float *b_t, float *c_t)
 Calculate the relative transform between two coordinate frames.
 
reme_error_t reme_transform_invert (reme_context_t c, const float *m_t, float *inv_t)
 Invert the given transformation.
 
reme_error_t reme_sensor_create (reme_context_t c, const char *driver, bool require_can_open, reme_sensor_t *s)
 Create a new sensor object.
 
reme_error_t reme_sensor_destroy (reme_context_t c, reme_sensor_t *s)
 Destroy a previously created sensor object.
 
reme_error_t reme_sensor_open (reme_context_t c, reme_sensor_t s)
 Open a sensor.
 
reme_error_t reme_sensor_close (reme_context_t c, reme_sensor_t s)
 Close a an open sensor.
 
reme_error_t reme_sensor_set_volume (reme_context_t c, reme_sensor_t s, reme_volume_t v)
 Set the working volume.
 
reme_error_t reme_sensor_set_trackmode (reme_context_t c, reme_sensor_t s, reme_sensor_trackmode_t t)
 Set tracking mode.
 
reme_error_t reme_sensor_set_trackhint (reme_context_t c, reme_sensor_t s, reme_sensor_trackhint_t t)
 Sets a tracking hint.
 
reme_error_t reme_sensor_bind_camera_options (reme_context_t c, reme_sensor_t s, reme_options_t o)
 Access the sensor specific options that affect how the camera is opened.
 
reme_error_t reme_sensor_bind_capture_options (reme_context_t c, reme_sensor_t s, reme_options_t o)
 Access the sensor specific capture options with their current values.
 
reme_error_t reme_sensor_apply_capture_options (reme_context_t c, reme_sensor_t s, reme_options_t o)
 Apply capture options.
 
reme_error_t reme_sensor_bind_render_options (reme_context_t c, reme_sensor_t s, reme_options_t o)
 Access the sensor specific render options.
 
reme_error_t reme_sensor_apply_render_options (reme_context_t c, reme_sensor_t s, reme_options_t o)
 Apply render options.
 
reme_error_t reme_sensor_get_position (reme_context_t c, reme_sensor_t s, float *coordinates)
 Get the sensor position with respect to the world coordinate frame.
 
reme_error_t reme_sensor_get_recovery_position (reme_context_t c, reme_sensor_t s, float *coordinates)
 Get the sensor recovery position with respect to the world coordinate frame.
 
reme_error_t reme_sensor_get_incremental_position (reme_context_t c, reme_sensor_t s, float *coordinates)
 Get the incremental movement of the sensor.
 
reme_error_t reme_sensor_get_prescan_position (reme_context_t c, reme_sensor_t s, reme_sensor_position_t t, float *coordinates)
 Calculate a predefined sensor position with respect to the volume.
 
reme_error_t reme_sensor_set_position (reme_context_t c, reme_sensor_t s, const float *coordinates)
 Set the sensor position with respect to the world coordinate frame.
 
reme_error_t reme_sensor_set_incremental_position (reme_context_t c, reme_sensor_t s, const float *coordinates)
 Set the incremental movement of the sensor.
 
reme_error_t reme_sensor_set_recovery_position (reme_context_t c, reme_sensor_t s, const float *coordinates)
 Set the sensor recovery position with respect to the world coordinate frame.
 
reme_error_t reme_sensor_set_prescan_position (reme_context_t c, reme_sensor_t s, reme_sensor_position_t t)
 Position the sensor and volume with respect to each other using a predefined position.
 
reme_error_t reme_sensor_reset (reme_context_t c, reme_sensor_t s)
 Resets the sensor to identity position.
 
reme_error_t reme_sensor_get_image (reme_context_t c, reme_sensor_t s, reme_sensor_image_t it, reme_image_t i)
 Get a specific sensor image.
 
reme_error_t reme_sensor_is_image_supported (reme_context_t c, reme_sensor_t s, reme_sensor_image_t it, bool *result)
 Test if a specific image type is available.
 
reme_error_t reme_sensor_get_points (reme_context_t c, reme_sensor_t s, reme_sensor_view_t v, const float **coordinates, int *length)
 Get points corresponding to the current sensor view.
 
reme_error_t reme_sensor_get_point_normals (reme_context_t c, reme_sensor_t s, reme_sensor_view_t v, const float **coordinates, int *length)
 Get point normals corresponding to the current sensor view.
 
reme_error_t reme_sensor_get_point_colors (reme_context_t c, reme_sensor_t s, reme_sensor_view_t v, const float **channels, int *length)
 Get point colors corresponding to the current sensor view.
 
reme_error_t reme_sensor_get_track_time (reme_context_t c, reme_sensor_t s, int *track_time)
 Get the tracking time.
 
reme_error_t reme_sensor_grab (reme_context_t c, reme_sensor_t s)
 Trigger frame grabbing.
 
reme_error_t reme_sensor_prepare_images (reme_context_t c, reme_sensor_t s)
 Retrieve image data corresponding to the previous grab command for further processing.
 
reme_error_t reme_sensor_prepare_image (reme_context_t c, reme_sensor_t s, _reme_sensor_image_t i)
 Retrieve specific image data for subsequent processing.
 
reme_error_t reme_sensor_track_position (reme_context_t c, reme_sensor_t s)
 Attempts to track the sensor position.
 
reme_error_t reme_sensor_update_volume (reme_context_t c, reme_sensor_t s)
 Update the volume using the current sensor data.
 
reme_error_t reme_sensor_update_volume_selectively (reme_context_t c, reme_sensor_t s, bool update_surface, bool update_colors)
 Update the volume using the current sensor data selectively.
 
reme_error_t reme_sensor_find_floor (reme_context_t c, reme_sensor_t s, float *coordinates)
 Detect floor plane in current sensor data.
 
reme_error_t reme_recorder_create (reme_context_t c, reme_recorder_t *r)
 Create a new sensor recorder object.
 
reme_error_t reme_recorder_destroy (reme_context_t c, reme_recorder_t *r)
 Destroy a previously created recorder object.
 
reme_error_t reme_recorder_set_sensor (reme_context_t c, reme_recorder_t r, reme_sensor_t s)
 Set the sensor to record from.
 
reme_error_t reme_recorder_bind_file_options (reme_context_t c, reme_recorder_t r, reme_options_t o)
 Access the recorder specific file options.
 
reme_error_t reme_recorder_open (reme_context_t c, reme_recorder_t r)
 Open the recorder for streaming.
 
reme_error_t reme_recorder_update (reme_context_t c, reme_recorder_t r)
 Update the associated file streams with the current sensor content.
 
reme_error_t reme_recorder_close (reme_context_t c, reme_recorder_t r)
 Close the recorder file streams.
 
reme_error_t reme_image_create (reme_context_t c, reme_image_t *i)
 Create a new empty image object.
 
reme_error_t reme_image_destroy (reme_context_t c, reme_image_t *i)
 Destroy a previously created image object.
 
reme_error_t reme_image_get_info (reme_context_t c, reme_image_t i, int *width=0, int *height=0, int *num_channels=0, int *num_bytes_per_channel=0, int *row_stride=0)
 Get image information such as size, channels and layout.
 
reme_error_t reme_image_save_to_file (reme_context_t c, reme_image_t i, const char *filename)
 Save the image in the desired format.
 
reme_error_t reme_image_load_from_file (reme_context_t c, reme_image_t i, const char *filename)
 Load image from disk.
 
reme_error_t reme_image_get_bytes (reme_context_t c, reme_image_t i, const void **pixels, int *length)
 Get image pixel data as byte array.
 
reme_error_t reme_calibrator_create (reme_context_t c, reme_calibrator_t *cb)
 Create a new calibration object.
 
reme_error_t reme_calibrator_destroy (reme_context_t c, reme_calibrator_t *cb)
 Destroy a previously created calibrator object.
 
reme_error_t reme_calibrator_bind_options (reme_context_t c, reme_calibrator_t cb, reme_options_t o)
 Access the calibration options.
 
reme_error_t reme_calibrator_add_image (reme_context_t c, reme_calibrator_t cb, reme_image_t i)
 Add a new image of the calibration target.
 
reme_error_t reme_calibrator_get_detection_image (reme_context_t c, reme_calibrator_t cb, reme_image_t i)
 Receives the result image of the last image added.
 
reme_error_t reme_calibrator_calibrate (reme_context_t c, reme_calibrator_t cb, float *reprojection_error=0)
 Calibrate using the images added before.
 
reme_error_t reme_calibrator_bind_intrinsics (reme_context_t c, reme_calibrator_t cb, reme_options_t o)
 Access the calibration results.
 
reme_error_t reme_surface_create (reme_context_t c, reme_surface_t *s)
 Create a new surface object.
 
reme_error_t reme_surface_destroy (reme_context_t c, reme_surface_t *s)
 Destroy a previously created surface object.
 
reme_error_t reme_surface_bind_generation_options (reme_context_t c, reme_surface_t s, reme_options_t o)
 Access the surface generation options.
 
reme_error_t reme_surface_bind_poisson_options (reme_context_t c, reme_surface_t s, reme_options_t o)
 Access the poisson reconstruction options.
 
reme_error_t reme_surface_bind_decimation_options (reme_context_t c, reme_surface_t s, reme_options_t o)
 Access the surface decimation options.
 
reme_error_t reme_surface_bind_remesh_options (reme_context_t c, reme_surface_t s, reme_options_t o)
 Access the surface remeshing options.
 
reme_error_t reme_surface_generate (reme_context_t c, reme_surface_t s, reme_volume_t v)
 Extract the iso-surface from the given volume.
 
reme_error_t reme_surface_poisson (reme_context_t c, reme_surface_t s)
 Perform poisson reconstruction on the extracted surface.
 
reme_error_t reme_surface_decimate (reme_context_t c, reme_surface_t s)
 Decimate the extracted surface.
 
reme_error_t reme_surface_remesh (reme_context_t c, reme_surface_t s)
 Remesh the extracted surface.
 
reme_error_t reme_surface_transform (reme_context_t c, reme_surface_t s, const float *coordinates)
 Transform the surface.
 
reme_error_t reme_surface_colorize_vertices (reme_context_t c, reme_surface_t s, reme_volume_t v)
 Colorize surface vertices using the color information stored in the reconstruction volume.
 
reme_error_t reme_surface_inpaint_vertices (reme_context_t c, reme_surface_t s)
 Paint missing vertex colors.
 
reme_error_t reme_surface_get_points (reme_context_t c, reme_surface_t s, const float **coordinates, int *length)
 Get points of a surface.
 
reme_error_t reme_surface_get_normals (reme_context_t c, reme_surface_t s, const float **coordinates, int *length)
 Get point normals of a surface.
 
reme_error_t reme_surface_get_vertex_colors (reme_context_t c, reme_surface_t s, const float **coordinates, int *length)
 Get colors of surface vertices.
 
reme_error_t reme_surface_get_triangles (reme_context_t c, reme_surface_t s, const unsigned int **indices, int *length)
 Get triangle faces of a surface.
 
reme_error_t reme_surface_save_to_file (reme_context_t c, reme_surface_t s, const char *filename)
 Export the surface to file.
 
reme_error_t reme_viewer_create_image (reme_context_t c, const char *title, reme_viewer_t *v)
 Create viewer for viewing multiple images.
 
reme_error_t reme_viewer_create_surface (reme_context_t c, reme_surface_t s, const char *title, reme_viewer_t *v)
 Create viewer for specific surface.
 
reme_error_t reme_viewer_destroy (reme_context_t c, reme_viewer_t *v)
 Destroy a previously created viewer object.
 
reme_error_t reme_viewer_add_image (reme_context_t c, reme_viewer_t v, reme_image_t i)
 Add image to be displayed.
 
reme_error_t reme_viewer_update (reme_context_t c, reme_viewer_t v)
 Update viewer content.
 
reme_error_t reme_viewer_wait (reme_context_t c, reme_viewer_t v)
 Update viewer content until the user closes the viewer.
 

Detailed Description

ReMe - a real-time 3D reconstruction engine

Author
Christoph Heindl info@.nosp@m.reco.nosp@m.nstru.nosp@m.ctme.nosp@m..net 2006-2013 PROFACTOR GmbH. All rights reserved. Use is subject to license terms.