HistogramSphereLinearFunction¶

MLModule
¶
Purpose¶
The module HistogramSphereLinearFunction
computes a histogram (i.e. and approximation of a PDF) of a piecewise multilinear function.
The function yields values that are supposed to lie on the sphere S^{2}. Since S^{2} is contained in the threedimensional space, this function is represented as an array of three scalarvalued functions. The values do not have to exactly lie on the sphere (which is very unlikely anyway). Instead, they are internally projected onto the sphere.
In more detail, the module works as follows: The sphere is partitioned into two halfspheres, each of which is partitioned into a number of latitudes (given by the Number of Latitudes field, and each latitude is partitioned into a number of sectors (determined automatically such that they have approximately squared shape). The function is evaluated at a number of points (depending on the Histogram Accuracy
field), and each value is projected onto the sphere. For each sphere sector, the number of points whose values lie inside this sector is counted. This number is then divided by the number of evaluation points and the respective sector size. The result is the histogram. To display this histogram as an ML image, the center of each voxel is projected onto the sphere, and the voxel then gets the gray value of the sector its projected center lies in.
Parameter Fields¶
Field Index¶
Bounding Box Function 1 : String 
Sphere Radius : Double 
Bounding Box Function 2 : String 

Bounding Box Function 3 : String 

Bounding Box Selection : Enum 

Histogram Accuracy : Integer 

Manual Bounding Box : String 

Number of Latitudes : Integer 

Number of Voxels : Integer 
Visible Fields¶
Bounding Box Function 1¶

name:
autoBBox1
, type:
String
, persistent:
no
¶ Shows the generic bounding box of the first function.
The same value can also be obtained with an
EvaluateInterpolationPolynomial
module.
Bounding Box Function 2¶

name:
autoBBox2
, type:
String
, persistent:
no
¶ Shows the generic bounding box of the second function.
The same value can also be obtained with an
EvaluateInterpolationPolynomial
module.
Bounding Box Function 3¶

name:
autoBBox3
, type:
String
, persistent:
no
¶ Shows the generic bounding box of the third function.
The same value can also be obtained with an
EvaluateInterpolationPolynomial
module.
Bounding Box Selection¶

name:
bBoxSelection
, type:
Enum
, default:
Union
¶ Defines the preimage bounding box mode.
Values:
Title  Name 

Manual  Manual 
Function 1  Function 1 
Function 2  Function 2 
Function 3  Function 3 
Union  Union 
Histogram Accuracy¶

name:
accuracy
, type:
Integer
, default:
20
, minimum:
2
¶ Sets the number of points per space dimension in which the bounding box is scanned.
The higher the number, the better is the approximation of the histogram, but the slower is the computation.
Sphere Radius¶

name:
sphereRadius
, type:
Double
, default:
1
¶ Sets the radius of the sphere along which you want to display your histogram.
Actually, this parameter only influences the world matrix of the image and the image scaling, nothing else. If you are confused, just leave the default, which is 1.
Number of Voxels¶

name:
numVoxels
, type:
Integer
, default:
20
¶ Sets the number of voxels of the output ML image per space dimension.
The higher the number, the better the resolution. However, setting this to a high value and
Histogram Accuracy
to a low value will result it a very bad result (just try it and you will see).
Number of Latitudes¶

name:
numLatitudes
, type:
Integer
, default:
20
¶ Sets the number of latitudes the sphere is partitioned into.
The higher the number, the better the resolution. However, setting this to a high value and
Histogram Accuracy
to a low value will result it a very bad result (just try it and you will see).