Short description
refine_deformable_surface_modelRefineDeformableSurfaceModelRefineDeformableSurfaceModelrefine_deformable_surface_modelT_refine_deformable_surface_model — Refine the position and deformation of a deformable surface model in a
3D scene.
Signature
refine_deformable_surface_model( deformable_surface_model DeformableSurfaceModel, object_model_3d ObjectModel3D, real RelSamplingDistance, object_model_3d InitialDeformationObjectModel3D, attribute.name GenParamName, attribute.value GenParamValue, out real Score, out deformable_surface_matching_result DeformableSurfaceMatchingResult )void RefineDeformableSurfaceModel( const HTuple& DeformableSurfaceModel, const HTuple& ObjectModel3D, const HTuple& RelSamplingDistance, const HTuple& InitialDeformationObjectModel3D, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Score, HTuple* DeformableSurfaceMatchingResult )static void HOperatorSet.RefineDeformableSurfaceModel( HTuple deformableSurfaceModel, HTuple objectModel3D, HTuple relSamplingDistance, HTuple initialDeformationObjectModel3D, HTuple genParamName, HTuple genParamValue, out HTuple score, out HTuple deformableSurfaceMatchingResult )def refine_deformable_surface_model( deformable_surface_model: HHandle, object_model_3d: HHandle, rel_sampling_distance: float, initial_deformation_object_model_3d: HHandle, gen_param_name: MaybeSequence[str], gen_param_value: MaybeSequence[Union[str, float, int]] ) -> Tuple[Sequence[float], Sequence[HHandle]]
def refine_deformable_surface_model_s( deformable_surface_model: HHandle, object_model_3d: HHandle, rel_sampling_distance: float, initial_deformation_object_model_3d: HHandle, gen_param_name: MaybeSequence[str], gen_param_value: MaybeSequence[Union[str, float, int]] ) -> Tuple[float, HHandle]Herror T_refine_deformable_surface_model( const Htuple DeformableSurfaceModel, const Htuple ObjectModel3D, const Htuple RelSamplingDistance, const Htuple InitialDeformationObjectModel3D, const Htuple GenParamName, const Htuple GenParamValue, Htuple* Score, Htuple* DeformableSurfaceMatchingResult )
HTuple HObjectModel3D::RefineDeformableSurfaceModel( const HDeformableSurfaceModel& DeformableSurfaceModel, double RelSamplingDistance, const HObjectModel3D& InitialDeformationObjectModel3D, const HTuple& GenParamName, const HTuple& GenParamValue, HDeformableSurfaceMatchingResultArray* DeformableSurfaceMatchingResult ) const
double HObjectModel3D::RefineDeformableSurfaceModel( const HDeformableSurfaceModel& DeformableSurfaceModel, double RelSamplingDistance, const HObjectModel3D& InitialDeformationObjectModel3D, const HString& GenParamName, const HString& GenParamValue, HDeformableSurfaceMatchingResult* DeformableSurfaceMatchingResult ) const
double HObjectModel3D::RefineDeformableSurfaceModel( const HDeformableSurfaceModel& DeformableSurfaceModel, double RelSamplingDistance, const HObjectModel3D& InitialDeformationObjectModel3D, const char* GenParamName, const char* GenParamValue, HDeformableSurfaceMatchingResult* DeformableSurfaceMatchingResult ) const
double HObjectModel3D::RefineDeformableSurfaceModel( const HDeformableSurfaceModel& DeformableSurfaceModel, double RelSamplingDistance, const HObjectModel3D& InitialDeformationObjectModel3D, const wchar_t* GenParamName, const wchar_t* GenParamValue, HDeformableSurfaceMatchingResult* DeformableSurfaceMatchingResult ) const (Windows only)
HTuple HDeformableSurfaceModel::RefineDeformableSurfaceModel( const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, const HObjectModel3D& InitialDeformationObjectModel3D, const HTuple& GenParamName, const HTuple& GenParamValue, HDeformableSurfaceMatchingResultArray* DeformableSurfaceMatchingResult ) const
double HDeformableSurfaceModel::RefineDeformableSurfaceModel( const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, const HObjectModel3D& InitialDeformationObjectModel3D, const HString& GenParamName, const HString& GenParamValue, HDeformableSurfaceMatchingResult* DeformableSurfaceMatchingResult ) const
double HDeformableSurfaceModel::RefineDeformableSurfaceModel( const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, const HObjectModel3D& InitialDeformationObjectModel3D, const char* GenParamName, const char* GenParamValue, HDeformableSurfaceMatchingResult* DeformableSurfaceMatchingResult ) const
double HDeformableSurfaceModel::RefineDeformableSurfaceModel( const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, const HObjectModel3D& InitialDeformationObjectModel3D, const wchar_t* GenParamName, const wchar_t* GenParamValue, HDeformableSurfaceMatchingResult* DeformableSurfaceMatchingResult ) const (Windows only)
static HTuple HDeformableSurfaceMatchingResult::RefineDeformableSurfaceModel( const HDeformableSurfaceModel& DeformableSurfaceModel, const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, const HObjectModel3D& InitialDeformationObjectModel3D, const HTuple& GenParamName, const HTuple& GenParamValue, HDeformableSurfaceMatchingResultArray* DeformableSurfaceMatchingResult )
double HDeformableSurfaceMatchingResult::RefineDeformableSurfaceModel( const HDeformableSurfaceModel& DeformableSurfaceModel, const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, const HObjectModel3D& InitialDeformationObjectModel3D, const HString& GenParamName, const HString& GenParamValue )
double HDeformableSurfaceMatchingResult::RefineDeformableSurfaceModel( const HDeformableSurfaceModel& DeformableSurfaceModel, const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, const HObjectModel3D& InitialDeformationObjectModel3D, const char* GenParamName, const char* GenParamValue )
double HDeformableSurfaceMatchingResult::RefineDeformableSurfaceModel( const HDeformableSurfaceModel& DeformableSurfaceModel, const HObjectModel3D& ObjectModel3D, double RelSamplingDistance, const HObjectModel3D& InitialDeformationObjectModel3D, const wchar_t* GenParamName, const wchar_t* GenParamValue ) (Windows only)
HTuple HObjectModel3D.RefineDeformableSurfaceModel( HDeformableSurfaceModel deformableSurfaceModel, double relSamplingDistance, HObjectModel3D initialDeformationObjectModel3D, HTuple genParamName, HTuple genParamValue, out HDeformableSurfaceMatchingResult[] deformableSurfaceMatchingResult )
double HObjectModel3D.RefineDeformableSurfaceModel( HDeformableSurfaceModel deformableSurfaceModel, double relSamplingDistance, HObjectModel3D initialDeformationObjectModel3D, string genParamName, string genParamValue, out HDeformableSurfaceMatchingResult deformableSurfaceMatchingResult )
HTuple HDeformableSurfaceModel.RefineDeformableSurfaceModel( HObjectModel3D objectModel3D, double relSamplingDistance, HObjectModel3D initialDeformationObjectModel3D, HTuple genParamName, HTuple genParamValue, out HDeformableSurfaceMatchingResult[] deformableSurfaceMatchingResult )
double HDeformableSurfaceModel.RefineDeformableSurfaceModel( HObjectModel3D objectModel3D, double relSamplingDistance, HObjectModel3D initialDeformationObjectModel3D, string genParamName, string genParamValue, out HDeformableSurfaceMatchingResult deformableSurfaceMatchingResult )
static HTuple HDeformableSurfaceMatchingResult.RefineDeformableSurfaceModel( HDeformableSurfaceModel deformableSurfaceModel, HObjectModel3D objectModel3D, double relSamplingDistance, HObjectModel3D initialDeformationObjectModel3D, HTuple genParamName, HTuple genParamValue, out HDeformableSurfaceMatchingResult[] deformableSurfaceMatchingResult )
double HDeformableSurfaceMatchingResult.RefineDeformableSurfaceModel( HDeformableSurfaceModel deformableSurfaceModel, HObjectModel3D objectModel3D, double relSamplingDistance, HObjectModel3D initialDeformationObjectModel3D, string genParamName, string genParamValue )
Description
The operator refine_deformable_surface_modelRefineDeformableSurfaceModel refines the initial
position and deformation given in InitialDeformationObjectModel3DinitialDeformationObjectModel3Dinitial_deformation_object_model_3d
of the surface model DeformableSurfaceModeldeformableSurfaceModeldeformable_surface_model in
the 3D scene ObjectModel3DobjectModel3Dobject_model_3d.
The deformable surface model DeformableSurfaceModeldeformableSurfaceModeldeformable_surface_model must have been
created previously with, for example, create_deformable_surface_modelCreateDeformableSurfaceModel.
refine_deformable_surface_modelRefineDeformableSurfaceModel is useful if the position and deformation
of an object in a scene is approximately known and only needs to be refined.
Additional information about the output parameters can be found in
find_deformable_surface_modelFindDeformableSurfaceModel.
InitialDeformationObjectModel3DinitialDeformationObjectModel3Dinitial_deformation_object_model_3d must contain as many points as the
sampled deformation model obtained by
get_deformable_surface_model_paramGetDeformableSurfaceModelParam and in the same order.
The score of the refined result is returned in Scorescorescore and
a deformable surface matching result handle is
returned in DeformableSurfaceMatchingResultdeformableSurfaceMatchingResultdeformable_surface_matching_result.
Details of the result, such as the deformed model and the position
of the reference points, can be queried with the operator
get_deformable_surface_matching_resultGetDeformableSurfaceMatchingResult using the result handle.
The score is normalized between 00 and 11 and represents
the amount of model surface visible in the scene. A value of
11 represents a perfect match.
The parameters GenParamNamegenParamNamegen_param_name and GenParamValuegenParamValuegen_param_value are used
to set generic parameters.
Details about the generic parameters are described in the
documentation of find_deformable_surface_modelFindDeformableSurfaceModel.
Execution information
-
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
-
Multithreading scope: global (may be called from any thread).
-
Automatically parallelized on internal data level.
This operator returns a handle. Note that the state of an instance of this handle type may be changed by specific operators even though the handle is used as an input parameter by those operators.
This operator supports canceling timeouts and interrupts.
Parameters
DeformableSurfaceModeldeformableSurfaceModeldeformable_surface_model (input_control) deformable_surface_model → (handle)HTuple (HHandle)HDeformableSurfaceModel, HTuple (IntPtr)HHandleHtuple (handle)
Handle of the deformable surface model.
ObjectModel3DobjectModel3Dobject_model_3d (input_control) object_model_3d → (handle)HTuple (HHandle)HObjectModel3D, HTuple (IntPtr)HHandleHtuple (handle)
Handle of the 3D object model containing
the scene.
RelSamplingDistancerelSamplingDistancerel_sampling_distance (input_control) real → (real)HTuple (double)HTuple (double)floatHtuple (double)
Relative sampling distance of the scene.
Default: 0.050.05
Suggested values: 0.1, 0.07, 0.05, 0.04, 0.030.1, 0.07, 0.05, 0.04, 0.03
Restriction: 0 < RelSamplingDistance < 1
InitialDeformationObjectModel3DinitialDeformationObjectModel3Dinitial_deformation_object_model_3d (input_control) object_model_3d → (handle)HTuple (HHandle)HObjectModel3D, HTuple (IntPtr)HHandleHtuple (handle)
Initial deformation of the 3D object
model
GenParamNamegenParamNamegen_param_name (input_control) attribute.name(-array) → (string)HTuple (HString)HTuple (string)MaybeSequence[str]Htuple (char*)
Names of the generic parameters.
Default: [][]
List of values: 'pose_ref_dist_threshold_abs', 'pose_ref_dist_threshold_rel', 'pose_ref_num_steps', 'pose_ref_scoring_dist_abs', 'pose_ref_scoring_dist_rel', 'scene_normal_computation'"pose_ref_dist_threshold_abs", "pose_ref_dist_threshold_rel", "pose_ref_num_steps", "pose_ref_scoring_dist_abs", "pose_ref_scoring_dist_rel", "scene_normal_computation"
GenParamValuegenParamValuegen_param_value (input_control) attribute.value(-array) → (string / real / integer)HTuple (HString / double / Hlong)HTuple (string / double / int / long)MaybeSequence[Union[str, float, int]]Htuple (char* / double / Hlong)
Values of the generic parameters.
Default: [][]
Suggested values: 'fast', 'mls', 0, 1, 10, 25, 50, 0.05, 0.1, 0.25, 0.3, 0.05, 0.03, 0.005"fast", "mls", 0, 1, 10, 25, 50, 0.05, 0.1, 0.25, 0.3, 0.05, 0.03, 0.005
Scorescorescore (output_control) real(-array) → (real)HTuple (double)HTuple (double)Sequence[float]Htuple (double)
Score of the refined model.
DeformableSurfaceMatchingResultdeformableSurfaceMatchingResultdeformable_surface_matching_result (output_control) deformable_surface_matching_result(-array) → (handle)HTuple (HHandle)HDeformableSurfaceMatchingResult, HTuple (IntPtr)Sequence[HHandle]Htuple (handle)
Handle of the matching result.
Result
refine_deformable_surface_modelRefineDeformableSurfaceModel returns 2 (H_MSG_TRUE) if all parameters are
correct. If necessary, an exception is raised.
Combinations with other operators
Combinations
Possible predecessors
read_object_model_3dReadObjectModel3d, xyz_to_object_model_3dXyzToObjectModel3d, get_object_model_3d_paramsGetObjectModel3dParams, read_deformable_surface_modelReadDeformableSurfaceModel, create_deformable_surface_modelCreateDeformableSurfaceModel, get_deformable_surface_model_paramGetDeformableSurfaceModelParam, find_deformable_surface_modelFindDeformableSurfaceModel
Possible successors
get_deformable_surface_matching_resultGetDeformableSurfaceMatchingResult, clear_deformable_surface_matching_resultClearDeformableSurfaceMatchingResult, clear_object_model_3dClearObjectModel3d
Alternatives
find_deformable_surface_modelFindDeformableSurfaceModel
See also
create_deformable_surface_modelCreateDeformableSurfaceModel, find_deformable_surface_modelFindDeformableSurfaceModel
Module
3D Metrology