RotationGenerator3d
Computes a list of uniformly distributed three-dimensional rotations on the unit sphere.
Access to parameter description
This command is experimental, his signature may be modified between now and his final version.
For an introduction: section 3D Rotations.
This algorithm generates a list of 3D rotations homogeneously distributed around the unit sphere.
The rotations are expressed as proper Euler angles ZXZ contained in an output data frame.
Each line of this output table represents a rotation configuration with its three proper Euler angles presented in three columns, respectively called RZ1, RX2, and RZ3.
Figure 1. Visualization of 16 generated rotations:
(left) a 3D image containing a synthetic object, (right) the initial object and its 16 rotations.
Reference M. Alexa. "Super-Fibonacci Spirals: Fast, Low-Discrepancy Sampling of SO(3)". Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). , pp. 8291-8300, 2022.
See also
Access to parameter description
This command is experimental, his signature may be modified between now and his final version.
For an introduction: section 3D Rotations.
This algorithm generates a list of 3D rotations homogeneously distributed around the unit sphere.
The rotations are expressed as proper Euler angles ZXZ contained in an output data frame.
Each line of this output table represents a rotation configuration with its three proper Euler angles presented in three columns, respectively called RZ1, RX2, and RZ3.
|
|
(left) a 3D image containing a synthetic object, (right) the initial object and its 16 rotations.
Reference M. Alexa. "Super-Fibonacci Spirals: Fast, Low-Discrepancy Sampling of SO(3)". Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). , pp. 8291-8300, 2022.
See also
Function Syntax
This function returns rotationTable.
// Function prototype
std::shared_ptr< iolink::DataFrameView > rotationGenerator3d( uint32_t numberOfRotations, std::shared_ptr< iolink::DataFrameView > rotationTable = nullptr );
This function returns rotationTable.
// Function prototype. rotation_generator_3d(number_of_rotations: int = 256, rotation_table: Union[iolink.DataFrameView, None] = None) -> Union[iolink.DataFrameView, None]
This function returns rotationTable.
// Function prototype. public static IOLink.DataFrameView RotationGenerator3d( UInt32 numberOfRotations = 256, IOLink.DataFrameView rotationTable = null );
Class Syntax
Parameters
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
numberOfRotations |
The number of desired rotations | UInt32 | >=1 | 256 | |
rotationTable |
The output DataFrameView containing the rotations | DataFrameView | nullptr |
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
number_of_rotations |
The number of desired rotations | uint32 | >=1 | 256 | |
rotation_table |
The output DataFrameView containing the rotations | data_frame_view | None |
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
numberOfRotations |
The number of desired rotations | UInt32 | >=1 | 256 | |
rotationTable |
The output DataFrameView containing the rotations | DataFrameView | null |
Object Examples
RotationGenerator3d rotationGenerator3dAlgo; rotationGenerator3dAlgo.setNumberOfRotations( 256 ); rotationGenerator3dAlgo.execute(); std::cout << "rotationTable:" << rotationGenerator3dAlgo.rotationTable()->shape();
rotation_generator_3d_algo = imagedev.RotationGenerator3d() rotation_generator_3d_algo.number_of_rotations = 256 rotation_generator_3d_algo.execute() print("rotation_table:", str(rotation_generator_3d_algo.rotation_table))
RotationGenerator3d rotationGenerator3dAlgo = new RotationGenerator3d { numberOfRotations = 256 }; rotationGenerator3dAlgo.Execute(); Console.WriteLine( "rotationTable:" + rotationGenerator3dAlgo.rotationTable.ToString() );
Function Examples
auto result = rotationGenerator3d( 256 ); std::cout << "rotationTable:" << result->shape();
result = imagedev.rotation_generator_3d(256) print("rotation_table:", str(result))
IOLink.DataFrameView result = Processing.RotationGenerator3d( 256 ); Console.WriteLine( "rotationTable:" + result.ToString() );