OrientedLinesImage3d
            Creates a three-dimensional binary image containing a series of parallel oriented lines.
Access to parameter description
OrientedLinesImage3d creates a binary image with a set of parallel lines with a given orientation and separated by a given offset.
This module creates a binary image with oriented 3D lines. The orientation of these lines is defined by two angles: the polar angle $\phi$ (inclination from Z axis) and the azimuthal angle $\theta$ (orientation from X axis on the XY orthogonal projection).
        
  

Figure 1. Mathematics convention for spherical coordinates
        
Considering a plane that is orthogonal to this orientation, each line crosses this plane into a single point defining a rectangular grid regularly spaced and oriented by a third angle $\alpha$, as shown in Figure 2.
        
  

Figure 2. Orientation of the lines grid
        
See also
		Access to parameter description
OrientedLinesImage3d creates a binary image with a set of parallel lines with a given orientation and separated by a given offset.
This module creates a binary image with oriented 3D lines. The orientation of these lines is defined by two angles: the polar angle $\phi$ (inclination from Z axis) and the azimuthal angle $\theta$ (orientation from X axis on the XY orthogonal projection).

Figure 1. Mathematics convention for spherical coordinates
Considering a plane that is orthogonal to this orientation, each line crosses this plane into a single point defining a rectangular grid regularly spaced and oriented by a third angle $\alpha$, as shown in Figure 2.

Figure 2. Orientation of the lines grid
See also
Function Syntax
This function returns the outputBinaryImage output parameter.
                        
                    
// Function prototype.
std::shared_ptr< iolink::ImageView >
orientedLinesImage3d( int32_t imageSizeX,
                      int32_t imageSizeY,
                      int32_t imageSizeZ,
                      double thetaAngle,
                      double phiAngle,
                      double alphaAngle,
                      double offset,
                      std::shared_ptr< iolink::ImageView > outputBinaryImage = NULL );
                    
This function returns the outputBinaryImage output parameter.
                        
                    
// Function prototype.
oriented_lines_image_3d( image_size_x = 100,
                         image_size_y = 100,
                         image_size_z = 100,
                         theta_angle = 0,
                         phi_angle = 0,
                         alpha_angle = 0,
                         offset = 30,
                         output_binary_image = None )
                    
This function returns the outputBinaryImage output parameter.
                        
                
// Function prototype.
public static IOLink.ImageView
OrientedLinesImage3d( Int32 imageSizeX = 100,
                      Int32 imageSizeY = 100,
                      Int32 imageSizeZ = 100,
                      double thetaAngle = 0,
                      double phiAngle = 0,
                      double alphaAngle = 0,
                      double offset = 30,
                      IOLink.ImageView outputBinaryImage = null );
                    Class Syntax
Parameters
| Class Name | OrientedLinesImage3d | 
|---|
| Parameter Name | Description | Type | Supported Values | Default Value | |
|---|---|---|---|---|---|
![]()  | 
  imageSizeX    | 
 The X size in voxels of the output image. | Int32 | >=1 | 100 | 
![]()  | 
  imageSizeY    | 
 The Y size in voxels of the output image. | Int32 | >=1 | 100 | 
![]()  | 
  imageSizeZ    | 
 The Z size in voxels of the output image. | Int32 | >=1 | 100 | 
![]()  | 
  thetaAngle    | 
 The polar angle in degrees of lines orientation. | Float64 | Any value | 0 | 
![]()  | 
  phiAngle    | 
 The azimuthal angle in degrees of lines orientation. | Float64 | Any value | 0 | 
![]()  | 
  alphaAngle    | 
 The alpha angle in degrees defining the grid orientation in a plane orthogonal to the lines direction. | Float64 | Any value | 0 | 
![]()  | 
  offset    | 
 The distance in voxels between two lines. | Float64 | >=1 | 30 | 
![]()  | 
  outputBinaryImage    | 
 The output binary image. | Image | nullptr | |
Object Examples
OrientedLinesImage3d orientedLinesImage3dAlgo; orientedLinesImage3dAlgo.setImageSizeX( 100 ); orientedLinesImage3dAlgo.setImageSizeY( 100 ); orientedLinesImage3dAlgo.setImageSizeZ( 100 ); orientedLinesImage3dAlgo.setThetaAngle( 0.0 ); orientedLinesImage3dAlgo.setPhiAngle( 0.0 ); orientedLinesImage3dAlgo.setAlphaAngle( 0.0 ); orientedLinesImage3dAlgo.setOffset( 30.0 ); orientedLinesImage3dAlgo.execute(); std::cout << "outputBinaryImage:" << orientedLinesImage3dAlgo.outputBinaryImage()->toString();
oriented_lines_image_3d_algo = imagedev.OrientedLinesImage3d() oriented_lines_image_3d_algo.image_size_x = 100 oriented_lines_image_3d_algo.image_size_y = 100 oriented_lines_image_3d_algo.image_size_z = 100 oriented_lines_image_3d_algo.theta_angle = 0.0 oriented_lines_image_3d_algo.phi_angle = 0.0 oriented_lines_image_3d_algo.alpha_angle = 0.0 oriented_lines_image_3d_algo.offset = 30.0 oriented_lines_image_3d_algo.execute() print( "output_binary_image:", str( oriented_lines_image_3d_algo.output_binary_image ) );
OrientedLinesImage3d orientedLinesImage3dAlgo = new OrientedLinesImage3d
{
    imageSizeX = 100,
    imageSizeY = 100,
    imageSizeZ = 100,
    thetaAngle = 0.0,
    phiAngle = 0.0,
    alphaAngle = 0.0,
    offset = 30.0
};
orientedLinesImage3dAlgo.Execute();
Console.WriteLine( "outputBinaryImage:" + orientedLinesImage3dAlgo.outputBinaryImage.ToString() );
            Function Examples
auto result = orientedLinesImage3d( 100, 100, 100, 0.0, 0.0, 0.0, 30.0 ); std::cout << "outputBinaryImage:" << result->toString();
result = imagedev.oriented_lines_image_3d( 100, 100, 100, 0.0, 0.0, 0.0, 30.0 ) print( "output_binary_image:", str( result ) );
IOLink.ImageView result = Processing.OrientedLinesImage3d( 100, 100, 100, 0.0, 0.0, 0.0, 30.0 ); Console.WriteLine( "outputBinaryImage:" + result.ToString() );

