Draw3D

MLModule

genre

Draw

author

MeVis Medical Solutions AG

package

MeVisLab/Standard

dll

MLMiscModules

definition

MLMiscModules.def

see also

Draw3DMacro, RasterFunctions, Raster

keywords

point, line, box, text, interactive, segmentation, circle, roi, sphere, ellipsoid, cone, triangle, halfspace

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

../../../Modules/ML/MLMiscModules/mhelp/Images/Screenshots/Draw3D._default.png

Input Fields

input0

name: input0, type: Image

Output Fields

output0

name: output0, type: Image

Parameter Fields

Field Index

1: String

Max: Double

Text to be drawn: String

2: String

Min: Double

Timepoint: Integer

3: String

Mode: Enum

U1: Trigger

Active: Bool

numAvailUndos: String

U2: Trigger

Allow positions outside of image: Bool

Object Shift by Incrementation: Vector3

Undo: Trigger

Clear Positions: Trigger

pIndicator: Float

Undo All: Trigger

Cr Off X: Double

Position Input: Vector3

Undo10: Trigger

Cr Off Y: Double

position4: String

Update automatically on parameter changes: Bool

Cr Off Z: Double

R1: Trigger

Ur1: Trigger

D1: Trigger

R2: Trigger

Ur2: Trigger

D2: Trigger

Rot X: Double

Use (applyThreshold): Bool

Dl1: Trigger

Rot Y: Double

Use (permitUndoing): Bool

Dl2: Trigger

Rot Z: Double

Use 0 background: Bool

Draw: Enum

Scale X: Double

Value: Double

info: String

Scale Y: Double

X: Double

L1: Trigger

Scale Z: Double

Y: Double

L2: Trigger

stop: Trigger

Z: Double

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

​A voxel with the Voxel Size X, Y, Z is drawn.

​Line

​Line

​A line is drawn from 1 to the 2.

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 1.

For filling, a 4-neighborhood is used.

Values greater than Min and less than Max are not filled. All other values are filled even if Min is greater than Max.

Note that this also holds if the Use is deactivated.

​3DFill

​3DFill

​A 3D-flood fill is performed with a starting position given by 1.

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 1.

Its outline passes through 2. The line thickness is determined by Voxel Size.

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 1 and 2. The line thickness is determined by Voxel Size.

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 1 and it passes through 2. The surface thickness is determined by Voxel Size.

​Sphere

​Sphere

​A sphere with the minimum diameter is drawn, which passes through 1 and 2. The surface thickness is determined by Voxel Size.

​Filled Circle (center, radius)

​FilledCircle (center, radius)

​A disk is drawn with its origin at 1 and its outer line passes through 2.

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 1 and 2.

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 1 and its surface passes through 2.

​Filled Sphere

​FilledSphere

​A filled sphere with the minimum diameter is drawn whose surface passes through 1 and 2.

​Box

​Box

​A box is drawn whose lower left front edge is determined by 1 and its upper right back edge by 2.

​String

​String

​The text given in the Text to be drawn field is drawn at the current 1.

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 2 specify the two edge points of a box whose extends are used as diameters for an ellipsoid to be drawn.

​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 2 specify the two edge points of a box whose x/z-extends are used as the radius of the cone and whose height is used as the height of the cone.

​Triangle

​Triangle

​:field:position1, 2, and 3 specify the edges of the triangle to be drawn.

​Parallelogram

​Parallelogram

​A parallelogram is drawn between 1 (P1), 2 (P2), 3 (P3), and a fourth position P4 = P2+(P1-P2)+(P3-P2). It is the “opposite” position to 2.

​Four Point Plane

​FourPointPlane

​ForPointPlane

​:field:position1 (P1), 2 (P2), 3 (P3), and position4 (P4) specify a plane consisting of two triangles given by P1, P2, P3 and by P1, P3, P4.

​Two XTwo Point Plane

​TwoXTwoPointPlane

​:field:position1 (P1), 2 (P2), 3 (P3), and position4 (P4) specify a plane consisting of two triangles given by P1, P2, P4 and by P1, P3, P4.

​Two XTwo Point Poly Plane

​TwoXTwoPointPolyPlane

​:field:position1 (P1), 2 (P2), 3 (P3), and position4 (P4) specify a plane consisting of two triangles given by P1, P2, P4 and by P1, P3, P4.

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, 2, and 3 define a plane in space and the fourth position specifies the side of the plane to be be filled/overdrawn.

​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

name: text, type: String, default: Text to be drawn

Sets the text to be drawn if Draw is set to String.

Timepoint

name: timepoint, type: Integer, default: 0

Sets the time point to be drawn to.

Hidden Fields

info

name: info, type: String

position4

name: position4, type: String, persistent: no

pIndicator

name: pIndicator, type: Float, persistent: no

stop

name: stop, type: Trigger