Drawing Tools Plugin Help
--------------------------
This plugin provides a set of drawing tools which allows you to
rapidly draw, modify and erase contours. To use these tools make sure
3dmod is on "Model" mode, the "Drawing Tools"
plugin window is open and you've selected the "Draw Mode"
you wish to use.
Notice in the Zap window that many of the tools use a red
"sculpt circle", the size of which can be changed using mouse
wheel or the keys [q] and [w].
Click here to see the
video tutorial
List of Drawing Modes
--------------------------
- Normal - lets you use normal contour drawing behavior.
- Sculpt - lets you quickly draw contours by holding the point
addition mouse button [second_button] and pushing the contour
outwards or inwards with the sculpt circle. Holding down [shift]
as well lets you will pinch contours toward the center instead.
- Join - is similar to Sculpt, but also allows you to merge
two contours by pushing one contour over another or split a contour
by pushing a gap through the middle. Using [thrid_button] lets
you join or split contours using a rectangle.
- Transform - allows you to move [second_button],
scale [third_button], rotate [shift+second_button] or
stretch [shift+third_button] the currently selected contour.
- Eraser - allows you to delete contours [second_button]
or points [third_button] touching the sculpt circle.
Holding [shift+second_button] lets you break apart contours.
- Warp - allows you to quickly correct bad regions of contour
by warping [second_button] or warp-and-smoothing [third_button]
the contour points closest to (if you click on a contour) or within (if you
click near a contour) the sculpt circle.
Holding [shift+third_button] lets you break apart contours.
- Curve - allows you to draw a smooth contour by clicking a sequence
of points [second_button] and then end the contour by pressing
[space] or connecting the end of the contour to the beginning. To disconnect
from the selected contour without adjustment press [n].
- Measure - allows you to draw a straight line between any
two points [second_button] and displays the distance between these
points in the relevant units.
Hot Key Summary
---------------------
[1]-[5]
Select corresponding draw mode (see above)
[w]
Increase size of sculpt circle (hold shift to go faster)
[q]
Decrease size of sculpt circle (hold shift to go faster)
[r]
Reduce current contour
[e]
Smooth current contour without moving existing points
[E]
Smooth current contour by moving points
[a]
Find next intersecting contour edge
[i]
Invert points in current contour
[I]
Reorder points in current contour to start at selected point
[y]
Go to next largest value using find property
(see: More Actions - find points/contours)
[Y]
Go to next smallest value using find property
[l]
Recalculate values of contours/points using find property
and select the smallest
[L]
Recalculate values of contours/points using find property
and select the largest
[ctrl+x]
Cut current contour
[ctrl+c]
Copy current contour
[ctrl+v]
Paste contour into current slice and object, centered on mouse
[ctrl+V]
Paste contour into current slice and object in same XY position
[space]
Copy current contour to current slice (use also [?])
[shift]
Hold Shift down to alter the behavior of certain draw modes
Tips
---------------------
Holding and dragging [shift+first_button] allows you to quickly
scroll up and down through the slices.
Be warned that the sculpt and join tool were designed for 2D
closed contours and so I would not recommend using these tools
with open or scattered contours which span multiple slices.
If you select a contour using the "transform" tool, you can
copy it to nearby slices by simply scrolling to a different
slice and mouse clicking [second_button]. In this way transform can
be useful to quickly mark-up simple shapes.
The join tool and, to a lesser extent, the sculpt tool can become
sluggish for objects with numerous contours.
To improve performance you should consider adding an extra object and
then use 'edit > object > move' to merge the contours into the
desired object periodically.
Another way to improve performance can be to reduce contours. Use
'Reduce Contour' to reduce the current contours, by selectively
removing points, or 'Reduce Object' to reduce ALL contours
in the current object. Use 'Smooth Contour' to smooth the
current contours, by adding points, or 'Smooth Object' to
smooth ALL contours in the current object.
Reducing objects can often substantially reduce the number of points in
the model, but be very careful you don't lose information in
the process.
Under More Actions are a number of other options to sort, transform,
move, copy, expand and modify contours. These have been listed in more
detail below and it's recommended you read about them all - especially
the 'crop contours' feature.
In 3dmod (without the drawing tool plugin) there are several
useful drawing tools you might not know about:
- You can select multiple contours by holding
[ctrl+first_button].
- You can delete points by holding [shift+third_button].
- You can transform selected contour(s) by toggling
the Zap "contour transform mode" with [P] - this mode is
similar to the "transform" drawing tool.
More Actions
---------------------
In addition to the options on the plugin you can see, a large number of
additional tools are available when you click the "More Actions" button.
A small description of each is written below. Note that most of these tools
allow you to specify a range of contours and/or apply the action to only
dotted or solid contours.
- clean model and fix contours - Contains a number of options to clean
multiple objects and 'fix' contours by removing bad, redundant or
out-of-bounds points and more. It's recommended you run this on all
finished models, and also contains an option to make all contours clockwise
or anticlockwise.
- find intersecting edges [a] - Finds closed contours which cross
their own path or the path of other contours. In most situations (eg: closed
membranes) no two lines should ever intersect; especially a line crossing
itself; so it's a good idea to use this tool before converting your contours
into the final mesh model. One of the options is to automatically 'delete
intersecting contours in current object', but I'd suggest you leave it on
'list all intersecting edges' then use [a] to check them all individually.
- sort contours - Physically sorts contours using the criteria you
select. Among the many options you can sort a range (by default all) of
contours by: surface number, number points, contour length, area, max segment
length, avg gray value, interpolated, random, mean value in x/y/z or min
value x/y/z!
- find contours [y] - Use [y] to find the contour or point with the
next biggest value based on the criteria you select. Clicking this will let
you choose the criteria (same list as above) and value to start at...
from there use [y] and [Y] to iterate through contours. Using this it's
possible, say, to find contours with 5 points (or in surface #5) without
needing to sort them.
- delete contours - Allows you to delete any contours which meet your
specified criteria. You can chose to run it over a range of contours in
the current object, or ALL contours in a range of objects. The 'criteria
for deletion' you can chose from include 'slices / z value' and/or
'number of points'... but keep in mind this delete feature can be
used to delete a range of contours after you've sorted them using some
other criteria. This tool was originally created to allow easy deletion
of contours off every Nth slice etc.
- crop contours - Will crop and 'cut open' contours in the current
object which go outside the tomogram boundaries or rubber band area. This
feature can be VERY HANDY. The edges of tomograms typically look messy after
manual segmentation AND it's a pain to manually mark individual membranes
which intersect the edge as open. I suggest use Interpolator plugin and the
sculpt tool and just allow all your contours to go outside the boundary.
THEN, when you're done (and maybe saved a backup!), run this tool and it
will automatically calculate intersection points and cut open all the relevant
segments of contour!
- copy contours - Use this to copy or move a range of contours from
the current object to another object.
- transform contours - Use this to precisely translate;
scale and/or rotate a range of contours in the current object.
- modify contours - Allows you to modify contour properties over
a range of contours in the current object.
- move point - Use this to move the current point or the current
contour to a precise position. The move can be relative or absolute.
If you click 'Mouse and Keyboard' you can set the shortcut key [d]
to bring up this dialog or several other options - by default it will all
point in the selected contour to the end.
- expand contours - Use this to expand a ring around a range of
open or closed contours within the current object. In other words, a single
circular contour will become two concentric circles some thickness apart.
This is useful if you've drawn through center of a thick membrane and
then decide to model both sides. There are also options here to shrink
or grow the contour by some thickness (without turning each closed contour
into two contours).
- print basic model info - Prints some basic information about the
current object including the average distance between points; average points
per contour; and number of empty contours.
- print detailed object info - Prints detailed information about the
current object. This includes: bounding coordinates, the number and fraction
of contours which are: empty, single points, interpolated, anti-clockwise,
open, and also the total and average number of points, length,
segment length and area of all contours.
- print detailed contour info - Prints detailed information about the
current contour; or a range of them. In addition to bounding box, area and
length, there is an option to print out all segment lengths or all point
sizes and positions.
- reset values - Resets all settings (for this Drawing Tools plugin)
to default.
---------------------
This plugin was created by Andrew Noske
(a.noske@imb.uq.edu.au).
If you encounter bugs please e-mail me before e-mailing the
IMOD group (to reduce traffic).
In your e-mail please tell me exactly how and when the problem
occurred and attach the model file you were using with
enough information that I can replicate the error/crash.