Histogram3DLinearFunction¶
-
MLModule
¶
Purpose¶
The module Histogram3DLinearFunction
computes a histogram (i.e. and approximation of a PDF) of a piecewise multi-linear function with values in a three-dimensional space (represented as a list of three scalar-valued functions).
Input Fields¶
Connect here the functions to be examined, as a function array.
The module only works if the array consists of exactly three components. Use might want to use the module SelectLinearFunction
twice to create such a list.
If you want to compute a histogram of a 1D or 2D valued function, choose zero functions for the other components of the list (using the module TensorInterpolationPolynomial
with Nodes=Values=0 and the module InterpolatePolynomialToLinearFunction
after that).
Parameter Fields¶
Field Index¶
Bounding Box Function 1 : String |
Manual Bounding Box : String |
Bounding Box Function 2 : String |
Manual Image Bounding Box : String |
Bounding Box Function 3 : String |
Project to bounding box : Bool |
Bounding Box Selection : Enum |
Use manual image bounding box : Bool |
Compute on demand : Bool |
|
Convert meters : Bool |
|
Histogram Accuracy : Integer |
|
Image Voxel Size : Vector3 |
Visible Fields¶
Bounding Box Function 1¶
-
name:
autoBBox1
, type:
String
, persistent:
no
¶ Shows the generic bounding box of the first function.
This is a bounding box in the pre-image space.
It can also be obtained with an
EvaluateLinearFunction
module.
Bounding Box Function 2¶
-
name:
autoBBox2
, type:
String
, persistent:
no
¶ Shows the generic bounding box of the second function.
This is a bounding box in the pre-image space.
It can also be obtained with an
EvaluateLinearFunction
module.
Bounding Box Function 3¶
-
name:
autoBBox3
, type:
String
, persistent:
no
¶ Shows the generic bounding box of the third function.
This is a bounding box in the pre-image space.
It can also be obtained with an
EvaluateLinearFunction
module.
Bounding Box Selection¶
-
name:
bBoxSelection
, type:
Enum
, default:
Union
¶ Determines the bounding box mode.
The module needs a bounding box in the pre-image space. The function is restricted to this set before the histogram is computed. Since this set is compact, the range of the function will then also be compact, hence bounded. (The range of the function on this set is also referred as the bounding box in image space.) This field allows you to choose whether the generic bounding box of one of the three functions or (the convex hull of) their union or a manually entered bounding box is used.
Values:
Title | Name |
---|---|
Manual | Manual |
Function 1 | Function 1 |
Function 2 | Function 2 |
Function 3 | Function 3 |
Union | Union |
Use manual image bounding box¶
-
name:
useManImageBBox
, type:
Bool
, default:
FALSE
¶ If checked, the manual image bounding box is used.
This field concerns the bounding box in the image space. It also determines the size of the output ML image.
If disabled, the generic bounding box is used here, which is defined as the (cuboid shaped hull of) the compact set of values that the function takes on the selected pre-image space bounding box. In opposite to the
Histogram3DInterpolationPolynomial
module (equivalent module for polynomials), this field is disabled on default since the automatic detection is faster here than for polynomials.The behavior of the module in the case that the manual bounding box is too small can be influenced using the
Project to bounding box
field.
Histogram Accuracy¶
-
name:
accuracy
, type:
Integer
, default:
20
, minimum:
2
¶ Sets the number of points per space dimension in which the pre-image bounding box is scanned.
The higher the number, the better is the approximation of the histogram, but the slower is the computation.
Image Voxel Size¶
-
name:
voxelSize
, type:
Vector3
, default:
1 1 1
¶ Sets the voxel size of the output ML image and thus also the quality of the histogram.
This does not influence the performance so much as the
Histogram Accuracy
field.
Convert meters¶
-
name:
convertMeters
, type:
Bool
, default:
TRUE
¶ If checked, the module will assume that the functions’ values have the unit of meters and should be converted to millimeters in the ML image (as is usual for the ML).
In this case, the
Image Voxel Size
is interpreted as millimeters as well, whereas theManual Image Bounding Box
is interpreted as meters. If you find this too confusing, disable this field, so that no conversions are performed.
Compute on demand¶
-
name:
computeOnDemand
, type:
Bool
, default:
FALSE
¶ If checked, the module computes on demand.
It is well-known that the ML uses a page-based image processing technique. However, for this module, this is in general unsuited since it would reduce the performance. Hence, this module usually computes the complete output ML image as soon as the first page is requested.
However, if you configure the module to yield a very large output image, this could lead to a memory shortage. In this case, you can enable this field. It will solve the memory problem but slow down the computation considerably.
Project to bounding box¶
-
name:
projectToBBox
, type:
Bool
, default:
TRUE
¶ If checked, the values that lie outside are projected to the nearest point inside.
The image will then always integrate to one, but where appropriate have noticeably high values on the boundary of the ROI.
This field determines the behavior of the module in the case that the manually chosen image bounding box is too small.
If disabled, the histogram is just cut off, resulting in an image that does not integrate to one (as it otherwise does).