Draw3D¶
Purpose¶
The module Draw3D and the SimpleDraw3D macro offer operations to draw objects into images.
Regions can be filled in 2D/3D, overwritten by simple text or boxes, lines, voxels, spheres, circles, cones, half-spaces, ellipses, or disks. Coordinates for object drawings are received by a field connection and are used to specify the objects` location, orientation, and extents.
All voxel values written into an image are not simply overwritten but replaced by the result of a user-selectable function. Undo and redraw facilities exist, which also permit changes to object properties after drawing them.
Windows¶
Default Panel¶
Input Fields¶
input0¶
- name: input0, type: Image¶
Output Fields¶
output0¶
- name: output0, type: Image¶
Parameter Fields¶
Field Index¶
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Visible Fields¶
Draw¶
- name: drawMode, type: Enum, default: Nothing¶
Defines the object to be drawn.
Values:
Title |
Name |
Deprecated Name |
Description |
|---|---|---|---|
Nothing |
Nothing |
Nothing is drawn. |
|
Voxel |
Voxel |
||
Line |
Line |
A line is drawn from The line thickness is given by Voxel Size. |
|
Poly Line |
PolyLine |
One selected position after another is connected to a list of lines. The line thickness is given by Voxel Size. |
|
2DFill |
2DFill |
A 2D-flood fill is performed with a starting position given by For filling, a 4-neighborhood is used. Values greater than Note that this also holds if the |
|
3DFill |
3DFill |
A 3D-flood fill is performed with a starting position given by For filling, a 6-neighborhood is used. Otherwise, the same restriction as in 2DFill apply. |
|
Circle (center, radius) |
Circle (center, radius) |
A circle is drawn with origin at Its outline passes through Note that the circle is drawn only in currently selected z-slice. |
|
Circle |
Circle |
A circle with the minimum diameter is drawn, which passes through Note that the circle is drawn only in currently selected z-slice. |
|
Sphere (center, radius) |
Sphere (center, radius) |
A sphere is drawn with its origin at |
|
Sphere |
Sphere |
A sphere with the minimum diameter is drawn, which passes through |
|
Filled Circle (center, radius) |
FilledCircle (center, radius) |
A disk is drawn with its origin at Note that the disk is drawn only in currently selected z-slice. |
|
Filled Circle |
FilledCircle |
A disk with the minimum diameter is drawn whose outer line passes through Note that the disk is drawn only in currently selected z-slice. |
|
Filled Sphere (center, redius) |
FilledSphere (center, redius) |
A filled sphere is drawn with its origin at |
|
Filled Sphere |
FilledSphere |
A filled sphere with the minimum diameter is drawn whose surface passes through |
|
Box |
Box |
A box is drawn whose lower left front edge is determined by |
|
String |
String |
The text given in the It is rotated and scaled as specified in the fields Scale X/Y/Z, Rot X/Y/Z. Line feeds are handled by CR-OffX/Y/Z. |
|
Ellipse |
Ellipse |
:field:position1 and |
|
VSized Ellipse |
VSizedEllipse |
The current selection specifies the center of a filled ellipsoid whose diameters are given by the Voxel Size. |
|
VSized Box |
VSizedBox |
The current selection specifies the center of a filled box whose extends are given by the Voxel Size. |
|
Cone |
Cone |
:field:position1 and |
|
Triangle |
Triangle |
:field:position1, |
|
Parallelogram |
Parallelogram |
A parallelogram is drawn between |
|
Four Point Plane |
FourPointPlane |
ForPointPlane |
:field:position1 (P1), |
Two XTwo Point Plane |
TwoXTwoPointPlane |
:field:position1 (P1), |
|
Two XTwo Point Poly Plane |
TwoXTwoPointPolyPlane |
:field:position1 (P1), Only the first selected two positions are cleared so that the last two positions can be reused for the next plane. |
|
Half Space |
HalfSpace |
:field:position1, |
|
Max Coords |
MaxCoords |
X¶
- name: voxSizeX, type: Double, default: 1, minimum: 1, maximum: 1023¶
Sets the x-size of the voxel to draw with.
Y¶
- name: voxSizeY, type: Double, default: 1, minimum: 1, maximum: 1023¶
Sets the z-size of the voxel to draw with.
Z¶
- name: voxSizeZ, type: Double, default: 1, minimum: 1, maximum: 1023¶
Sets the z-size of the voxel to draw with.
Update automatically on parameter changes¶
- name: autoUpdate, type: Bool, default: FALSE¶
If checked, the module automatically updates its output image on any parameter change.
Active¶
- name: canUndoAndRedraw, type: Bool, persistent: no¶
If checked, the Undo and the Redraw mechanisms are active.
Use (applyThreshold)¶
- name: applyThreshold, type: Bool, default: FALSE¶
If checked, the threshold interval is used for limiting overwritten voxels.
Use 0 background¶
- name: outputMask, type: Bool, default: FALSE¶
If checked, background values will have a value of 0 instead of the original input image’s values.
Value¶
- name: writeValue, type: Double, default: 0, minimum: 0¶
Sets the voxel write value.
Mode¶
- name: pixCompute, type: Enum, default: WriteVal¶
Defines how the target voxel value is computed.
Values:
Title |
Name |
|---|---|
Write Val |
WriteVal |
Input Val |
InputVal |
Vis Vox + Write Val |
VisVox + WriteVal |
Vis Vox - Write Val |
VisVox - WriteVal |
Vis Vox * Write Val |
VisVox * WriteVal |
Vis Vox / Write Val |
VisVox / WriteVal |
Vis Vox ^ 2 |
VisVox ^ 2 |
Sqrt(Vis Vox) |
Sqrt(VisVox) |
Vis Vox Xor Write Val |
VisVox Xor WriteVal |
Vis Vox And Write Val |
VisVox And WriteVal |
Vis Vox Or Write Val |
VisVox Or WriteVal |
Vis Vox Invert |
VisVox Invert |
Vis Vox + Uniform Noise * Write Val |
VisVox + UniformNoise * WriteVal |
Vis Vox + Gauss Noise * Write Val |
VisVox + GaussNoise * WriteVal |
Vis Vox * (1 + Uniform Noise * Write Val) |
VisVox * (1 + UniformNoise * WriteVal) |
Vis Vox * (1 + Gauss Noise * Write Val) |
VisVox * (1 + GaussNoise * WriteVal) |
Min(Vis Vox,Write Val) |
Min(VisVox,WriteVal) |
Max(Vis Vox,Write Val) |
Max(VisVox,WriteVal) |
Input + Write Val |
Input + WriteVal |
Input - Write Val |
Input - WriteVal |
Input * Write Val |
Input * WriteVal |
Input / Write Val |
Input / WriteVal |
Input ^ 2 |
Input ^ 2 |
Sqrt(Input) |
Sqrt(Input) |
Input Xor Write Val |
Input Xor WriteVal |
Input And Write Val |
Input And WriteVal |
Input Or Write Val |
Input Or WriteVal |
Input Invert |
Input Invert |
Input + Uniform Noise * Write Val |
Input + UniformNoise * WriteVal |
Input + Gauss Noise * Write Val |
Input + GaussNoise * WriteVal |
Input * (1 + Uniform Noise * Write Val) |
Input * (1 + UniformNoise * WriteVal) |
Input * (1 + Gauss Noise * Write Val) |
Input * (1 + GaussNoise * WriteVal) |
Min(Input, Write Val) |
Min(Input, WriteVal) |
Max(Input, Write Val) |
Max(Input, WriteVal) |
Min¶
- name: borderMin, type: Double, default: 0¶
Sets the lower limit for interval limiting overwritten voxels.
Max¶
- name: borderMax, type: Double, default: 255¶
Sets the upper limit for interval limiting overwritten voxels.
Use (permitUndoing)¶
- name: permitUndoing, type: Bool, default: TRUE¶
If checked, the Undo mechanism is active.
Undo¶
- name: undo, type: Trigger¶
When pressed, the last drawing is undone.
Undo10¶
- name: undo10, type: Trigger¶
When pressed, the last 10 drawings are undone.
Undo All¶
- name: undoAll, type: Trigger¶
When pressed, all drawings are undone, restoring the original image.
numAvailUndos¶
- name: numAvailUndos, type: String, persistent: no¶
Shows the number of possible undo operations.
Position Input¶
- name: positionInput, type: Vector3, default: -1 -1 -1¶
Sets the world coordinate where the object is drawn.
1¶
- name: position1, type: String, persistent: no¶
Sets the first corner coordinate of an object to be drawn.
2¶
- name: position2, type: String, persistent: no¶
Sets the second corner coordinate of an object to be drawn.
3¶
- name: position3, type: String, persistent: no¶
Sets the third corner coordinate of an object to be drawn.
Clear Positions¶
- name: clearPos, type: Trigger¶
When pressed, already selected corner coordinates of an object are cleared.
Allow positions outside of image¶
- name: allowPosOutside, type: Bool, default: FALSE¶
If checked, positions outside the input image are allowed.
Object Shift by Incrementation¶
- name: moveVectorInput, type: Vector3, default: -10000 -10000 -10000¶
Sets a shift value for moving an object.
L1¶
- name: l1, type: Trigger¶
When pressed, the object is moved 1 voxel to the left.
L2¶
- name: l2, type: Trigger¶
When pressed, the object is moved 10 voxels to the left.
R1¶
- name: r1, type: Trigger¶
When pressed, the object is moved 1 voxel to the right.
R2¶
- name: r2, type: Trigger¶
When pressed, the object is moved 10 voxels to the right.
U1¶
- name: u1, type: Trigger¶
When pressed, the object is moved 1 voxel up.
U2¶
- name: u2, type: Trigger¶
When pressed, the object is moved 10 voxels up.
D1¶
- name: d1, type: Trigger¶
When pressed, the object is moved 1 voxel down.
D2¶
- name: d2, type: Trigger¶
When pressed, the object is moved 10 voxels down.
Ur1¶
- name: ur1, type: Trigger¶
When pressed, the object is moved 1 voxel to the back.
Ur2¶
- name: ur2, type: Trigger¶
When pressed, the object is moved 10 voxels to the back.
Dl1¶
- name: dl1, type: Trigger¶
When pressed, the object is moved 1 voxel to the front.
Dl2¶
- name: dl2, type: Trigger¶
When pressed, the object is moved 10 voxels to the front.
Scale X¶
- name: scaleX, type: Double, default: 1¶
Sets the x-scale factor for drawn text.
Scale Y¶
- name: scaleY, type: Double, default: 1¶
Sets the y-scale factor for drawn text.
Scale Z¶
- name: scaleZ, type: Double, default: 1¶
Sets the z-scale factor for drawn text.
Rot X¶
- name: rotX, type: Double, default: 0¶
Sets a rotation angle in degrees around the x-axis for drawn text.
Rot Y¶
- name: rotY, type: Double, default: 0¶
Sets a rotation angle in degrees around the y-axis for drawn text.
Rot Z¶
- name: rotZ, type: Double, default: 0¶
Sets a rotation angle in degrees around the z-axis for drawn text.
Cr Off X¶
- name: crOffX, type: Double, default: 0¶
Sets a newline offset in x-direction for drawn text.
Cr Off Y¶
- name: crOffY, type: Double, default: 0¶
Sets a newline offset in y-direction for drawn text.
Cr Off Z¶
- name: crOffZ, type: Double, default: 0¶
Sets a newline offset in z-direction for drawn text.
Text to be drawn¶
Timepoint¶
- name: timepoint, type: Integer, default: 0¶
Sets the time point to be drawn to.