3DModel

General Purpose

3DModel lets you create models of the structures in your image data. Objects can be rotated around interactively, and object attributes such as color, radius, display, solid/wire, etc can be changed at any time. Five dimensions are actually handled in that you can create a 3DModel model for each wave and time set. If you have live data, you can model each time set and then watch the model move through time. The model program interacts with multiple image windows allowing the user to build the model and view it on the image from different angles and on rotation projections. Models are stored in real space coordinates and are written out to an ascii file. The models created here are the input for the straight program which creates a straitened 3D data volume of the tubular data. Straight can connect directly to the model if 3DModel is running and is attached to the input window or or run alone using the saved model file. Several different types of objects can be created in 3DModel and several more are created using other programs and then are displayed in 3DModel.

Those actually created in the program are:

(1) a continuous string of points (which can be branched). This type of object can have sphere or cube markers at any or all points on the model. This type of model can be given a radius so that it appears as a cylinder or branched cylinder. When createing this type of object, points can be added, deleted and inserted as needed.

(2) a set of points that are displayed as pixel sized dots.

Another type of object supported in the program is made by createing a set of 2D polygons with EditPolygon or 2DObjFinder and putting them together into a 3D object in Volume Builder. The model can then be viewed in wire frame or as a solid object here.

Topics

Selecting_Windows | File | Object_Pulldown | Markers_Pulldown | Rotation-Position | Scalebar | Movie | Clipping | Display_Options | Lighting | Automatic_Modeling | Wire_Frame/Solid | Color | Stereo | Picking | Current_Object_Info | Global_Model | WT_Display_Options


Selecting_Windows

When you first start 3DModel, it will automatically attach to all the image windows that are currently displayed. Any window that was iconified when 3DModel was started or was opened after 3DModel was started can be attached to the model at any time using the select windows menu under the options pulldown. Use the select windows menu to unattach any windows you don't want as well. You can use any of the attached windows to create your model by clicking on the image at the point where you want to add a point. All of the image windows will update to the section that contains the current focus point of the model, and the model will be clipped to show the part of the model that falls in the currently displayed section. The reason for using multiple windows is that by rotating your image data into several orientations you can see where the model falls in each orientation and it is much easier to tell that you've modeled your structure correctly in 3 Dimensions. In addition, 3DModel will put an unclipped model on a series of rotation projections made in volume viewer's movie utility so that you can see the whole model on the object. Note that the projection window can not be used for picking to create the model.

File

save - pops up a menu to save the model file

load - pops up a menu to load a model file

new model - clears all the objects so you can start a new model

autosave - by default, a file will be saved for every 10 points picked just in case the program crashes, you will be able to retrieve most of your model. This could slow down points picking so the user may want to either turn it off your have it do the automatic save less frequently. In the case of a crash, the usr can find the saved file in /usr/tmp, and its called SAVE.MOD.

Object_Pulldown

The functions in this pulldown apply only to the current object or to all the objects. There are different types of objects so some functions may only apply to certain types. Unless specific types are stated below you can assume it applies to all types of objects. Please see the WT_Display_Options section for detailed information on the different object types.

create new - start a new object. Every time you want to start a separate object you need to hit this.

delete obj - deletes the current object

del pt list - deletes the points list from the object but does not delete the whole object. type 1 and 2

delete dots - deletes the dot list from the object but does not delete the whole object. A dot list is a special extra list of points that can be added onto any object type.

undisplay all - sets all the objects to not be drawn. Once this is done, any of the objects can be independantly turned back on for drawing. If there are a ton of objects, drawing all the objects could be slow, so when picking new objects, turning all other objects off could increase speed.

redisplay all - redisplay all the objects

undisplay cur - turn off drawing of current object

redisplay cur - turn on drawing of current object

connect two - pops up a menu to let you select two objects to paste together you will enter the object numbers and have the current point of each object set to the points that you want to connect

cut in two - cuts the current object into two objects. the cut will be made at the current point. type 1 + 2 only

reverse pts - reverses the order of the points in the object so that the last point becomes the first point and vice versa. type 1 + 2 only

radius - pops up a menu that allows you to change the radius of tubular objects. You can select between setting the current object or all the objects. Then by using the slider, or just typing in the size in the object radius field the new size will be applied. type 1 + 2 only

wire_solid - lets you toggle a wire-frame type object between wire-frame and solid. wire frame objects must be made in vol_build using polygons made in Editpolygon or 2DObjFinder. types 1 + 2, 3 + 4.

name_object - pops up a menu to let you enter the name for the current object. This name will be shown next to the first point on the object in the 3DModel display if "object labels" is toggled on in the display options menu. Also under wt_display options, the name is shown for each object.

Markers_Pulldown

All of these functions effect the current point or all the points on the current object.

label point - pops up a menu to let you enter a label. Then when you hit ok, this label will be drawn at that point.

remove_label - removes a label at the current point

sphere curr pt - lets you a sphere marker at the current point

sphere curr obj - puts spheres on all the points of the current object

sphere marker all - puts spheres on all the points of all the objects

cube curr pt -

cube curr obj - these three do the same as the last three with cubes

cube marker all -

remove marker - removes a marker from the current point

rm markers cur obj - removes all the markers on the current obj

rm markers all obj - removes all the markers on all the objects

resize markers - pops up a menu that lets you use a slider to choose the size of the marker on the current point, all markers on the current object or all the markers in the whole model. The radius of the marker is shown in the "current radius" field and new values can be entered here to change the size as well as the slider.

Rotation-Position

rotation_center

- select rotation center to recenter the data volume in the 3DModel window and reset the min and max range using one of these criteria.

center using window - uses the size of the data volume in the window

center from Mod file - uses the center information saved in the file

center of all points - includes all the points in the current model and centers the model to the center of those points

pick center lets you click in the image window and select where the center will be, the size will be the size of the window.

specify_rotation

  • under the Options menu pops up a menu to let you enter the x y z rotation angle of the model in the 3DWindow.

    reset 3D-model

  • sets the 3DModel to original rotation and zoom

    mouse control

    - there are currently five things you can do with the mouse in the 3D Window. and 3 mouse buttons. This menu lets you select which action you want to associate with each button. By default left mouse lets you pick objects in the Model window, makeing the picked object the current object. Middle mouse is for rotation your model around and right mouse is for zoom.
  • pick - when you click on an object in the 3Dwindow, that will become the current object.
  • rotate - dragging the mouse with the button pressed rotates the model.
  • translate - dragging the mouse with the button pressed translated the model with the mouse.
  • zoom - dragging the mouse with the button pressed changes zoom
  • time - dragging the mouse vertically moves the model thru time
  • Scalebar

    Select scalebar from the option pulldown to pop up a menu that lets you set the scalebar the way you want it. To set the color for the scalebar select scalebar from the "select color for" pulldown and select the color from the color pulldown. The scalebar menu provides these options.

    x y pos - set the position of the left side of the scalebar (if horizontal), (bottom if vertical), in 2d space. 0 is the bottom of the window and 100 is the top. same range for left and right.

    size - the length in real space for the scalebar

    thickness - of the scalebar in pixels

    toggle - the scalebar on and off

    vertical - switches the scalebar to vertical

    Movie

    Select movie from the Options pulldown to pop up a menu for running a movie of your model. The movie will automatically spin your model around the x y or z axis, and/or move through time. You can still use the mouse to reposition your model even as it turns so you can have it spinning in any orientation.

    spin axis - lets you choose the axis to spin on. the left slider bar controls how fast the model will spin

    time movie - with this toggled on, the model will move through time. the right slider bar controls speed of moving thru time.

    pause - lets you stop and start the movie whenever you want.

    Clipping

    Select clipping from the Options pulldown to pop up a menu that lets you cut off a portion of the image. Moveing the slider farther to the left cuts out more of the image from each side. You can cut off from the top, bottom, left, right, back, and most useful, front. Each slider ranges from showing the whole side to cutting to the middle of the model.

    Display_Options

    There are various attributes that apply to the whole model in the 3DWindow. Select display options from the options menu to modify these.

    At the top of the menu are toggles for the 5 possible waves that a data set can have. Use these toggles to turn on and off display of the objects made in the individual waves.

    obj labels - shows the number of each object at its first point

    cur pt mkr - shows the red dot where the current point is

    displ all - overrides the object settings for being undisplayed when the toggle is turned off, objects set to be undisplayed will be undisplayed again.

    mirror - Since the data may be collected in two different directions in z, we provide for the direction to be either zero in front or zero in back. The default direction is zero in front.

    show box - You can toggle off the box that surrounds the model

    show ticks - toggle off the tick marks on the box

    antialiasing - smooth out the lines in your model

    flat shading - if lighting is on, by default, smooth shading will be used. Toggle this on for flat shading.

    Lighting

    Lighting enhances the 3 dimensional feel of the model when the objects are wire or solid cylinders or volume_builder made objects. Under the options pulldown find the menu for lighting. There is a toggle for lighting to be on or off. The sliders let you play with the ambient and diffuse lighting to get the effect you like. There is also a toggle for flat shading (as opposed to the default smooth shading) in display options.

    Automatic_Modeling

    AUTOMATIC_MODELING - Select auto model from the Options pulldown to pop up the menu. Automodel is a semi-automatic searching tool for tracing the radial axis of a tubular structure. It requires that you give it at least one point to start with for each object, and lets you monitor the progress of its search.

    In window - enter the window to use for the search

    fuzzy threshold - the lowest intensity that should be considered part of the structure this tells the program when its reached the end of the structure.

    step size - how far apart in x_pixels should each point of the model be a good step size would be at least greater than half the thickness of the object.

    sample_size - To trace the structure, the program samples integrated intensity of a block of pixels with this diameter. A good sampling size would be the thickness of the structure.

    z box - is more important in the Tracer program than in 3DModels automodel. in Tracer zbox is used for zeroing through data already found to know the depth in z to zero.

    if the search is started after only one point is selected, zbox will be used to decide how far in z to look for highest intensity when looking for a starting search direction.

    max turn - defines how sharp of an angle you are willing to let the object turn from one point to the next. this parameter helps avoid the search from turning back on itself and going down the same structure in the opposite direction, and possibly prevent the search from turning off onto some brighter structure.

    gaus - whether or not to weight the center of the sampling area higher than the outer part.

    search method - there are two search methods that you can use. Based on the method you may want to set sample size and step size differently. Both methods look first strait ahead in the direction of the last two points then in consecutively larger circles around that direction until a max integrated intensity is found. The difference in the two methods is in the shape of the area where integrated intensity is taken.

  • max intensity - uses a sphere centered at each test point with a radius of sample size/2.
  • max tube - uses a cylinder of length starting point to step size and of radius sample size/2.

    find

  • - entire object- will keep searching until it hits the edge of the structure or the data set. then it will start back at the initial point and see if there is more structure in the other direction.
  • - monitor steps - will only search for as many points as you set in the step limit. if step limit is set to zero, it will keep searching till it hits the threshold boundary. then it is ready to continue searching from where it stops if you hit start search again.

    undolast - if you are in entire object mode, it will undo all the points of the object just found, but leaves that object as the current object so you can try again. in monitor steps only the last set of step limit points will be undone.

  • Wire_Frame/Solid

    Under the Options pulldown you can choose to set all objects to wire or solid. Under the Object pulldown you can toggle the current object between wire and solid.

    all obj wire - sets all objects that can be viewed as wire or solid to wire

    all obj solid - sets all objects that can be viewed as wire or solid to solid

    under the object pulldown you can toggle the current object between wire and solid as long as the type of object you want to change can be wire or solid.

    One last way to switch between wire and solid is in the WT_Display_Options please see that topic for details

    Color

    At any one time you have 11 visible colors plus the color invisible to use to color your objects and model features. By default, as objects are created, they are assigned one of the 11 visible colors. You can change these by using two pulldowns on the main menu. The Color pulldown provides the colors to choose from, and the pulldown under the info button "set color for" lets you select which features in your model will get set to this color. Set the "thing" you want to change first then select the color to change it to.

    Current object - you can make an object current by clicking on it with the left mouse in the model window, or by setting its wave,time and object number in the main menu.

    All objects

    new markers - will color any markers made after change this color

    current marker - move to the point that the marker sits on that you want to change by first making the object it is in current then using the position buttons to make the desired point current.

    all markers

    markers current obj - color all the markers on the current object

    xyz display - the box that surrounds the model in the model window

    scalebar - the scalebar in the model window

    background - the model windows background

    Now, if the default colors aren't what you want, you can change them. Under the options pulldown, there are two options regarding color.

  • priism colors - the colors used by model are linked to those used by IVE. You can change this set of 12 colors with the "ChangeColors" program on the IVE Panel. If you make a change in IVE's colors, this option will tell 3DModel to look at the system colors and update.
  • change colors - you can change the colors in the model window only and leave the monitor graphics colors alone. if using the color wheel to select a color, toggle on the slot you wish to replace with the new color, if the color will be a totally different color than the one in the slot then change the name of the color before you set the new color. You can type in new numbers to set the color as well. This method is quick to update objects to different colors so that you can easily test colors until you find the one you like.
  • Stereo

    You can view your model in stereo in the 3D model window as well as in your image window. Both windows though, only provide side-by-side stereo currently. To see the model in stereo in the 3Dwindow, select wall eyed viewing or cross eyed viewing from the Stereo pulldown on the main menu. For the image window, use the volume viewer movie function to create a set of projections 6 degrees apart then using the multiple display function of the monitor, set the view to 2 x 1. The model will show on each projection and you can see the stereo model on the stereo images. If you make your volume viewer movie with a series of 6 degree apart images, you can move though the images and see that the model lands correctly on the data from all angles.

    Picking

    Whenever you click with the left mouse button in the image window, something will be done with the point you pick. These are the options.

    1. normal - will create points linked one after the other. Points will be added to the object after the current point. Using the buttons described below, the current point can be set to any point on the object. if the current point is not the last point, when in normal mode, the new point will become a branch off of the current point.

    2. obj+spheres - works the same way as the normal mode, only automatically puts a sphere marker at each point of the object. This is useful for grouping a set of markers together

    3. obj+cubes - just like obj+sphere only cubes

    4. just dots - puts little pixel sized dots in your model window many of these together give the effect of density without really blocking the way. These dots are not connected and you cannot move from point to point as with regular points.

    5. add to top - normally when you are on the current point, the next point made will be created after the current point. If you just want to add a point to the front of the list, use this.

    6. preview - if you want to see where a point lands in the model before actually adding it to the model, preview it.

    7. insert - as described in normal mode, if you move back and make some point before the last point current, the next point made would be a branch of the point. Use insert mode before picking the point if you want it inserted between two points instead of branching.

    8. move pt - when clicking in the image window, the point that is the current point will be changed to the new place you click.

    Current_Object_Info

    The blue buttons on the main menu (after the pulldowns) give you information about the current object. It tells you the current wave and time you are modeling in, the number of the current object, its length, and the total number of points it contains. You can set the line width of the current object, and if the toggle to set the width of all objects is on, the number you enter for line width will apply to all objects. Note that line width can be applied to a regular string object, or if the object has a radius, and therefore is a cylinder, the wire framed cylinder can have different line widths. If you have a wire frame object created in volume builder this too can have various line widths. The set of greens button in the main menu determine which point is the current point of the current object. You can set the current point to any point on the model. The current point is used to show you where each point falls on the model as well as to make modifications such as deleteing points, inserting points, adding branches. It is also used as a point for splitting an object in two or pasting two objects together. A red dot will be shown on both the 3DWindow and the image window at the current point. Heres what each button does.

    first - go to first point of the current object

    last - go to last point of the current object

    previous - go back one point

    next - move ahead one point: if you have branches in your model, the current point will become the branch that was created first. to get to the other branches, you must move to the first branch then move to the others.

    next_branch - moves you to sister branches

    prev_branch - moves you backward thru branches

    delete current point - deletes the point set as current. If the current point was between two other points, those two points will be linked. You can replace a point with a new position by deleteing the point, then with picking in insert mode, click the new position of the point in the image window.

    Global_Model

    There is a toggle on the main menu called global model. By default, a separate object list is kept for each wave and time set, where the first object in each set is object 1. This lets you view any of the waves objects separately or all at once. It also means that you can watch your model move through time, as the same object appears on each list in a different orientation at each time.

    What the global_model toggle does is put all the objects from every wave into one list so that they will all be displayed at once and will all be numbered uniquely. This makes the most sense to use with multiple wave (not time) data in that you may have all unique objects throughout all the waves and do not want any two objects to have the same number.

    WT_Display_Options

    WT_DISPLAY_OPTIONS (wave-time not wild type) This menu gives you a quick way to view and change what all your object settings are. It gives a listing of all the objects in the current wave- time list. You can quickly see which objects in the model are which using the color. Here is what each column means.

    Toggle - toggle on and off the display of each object

    obj - the object number assigned to this object

    color - pulldown to let you see the current color and change it if you want

    thick - set the line width for the one object

    opac - if you want the object to be somewhat transparent, toggle it on

    type - there are currently 7 types of objects. Only two types can be interchanged with other types. The objects types are described:

    type 1 and 2 are cylinders as long as the radius of the object is greater than zero. if not, they are (branched or unbranched) string of points. the difference between 1 and 2 is that 1 is solid and 2 is wire-frame. type 1 and 2 are interchangeable.

    type 3 is a solid object made in volume_builder and type 4 is a wire-frame object made in volume_builder 3 and 4 are interchangeable

    type 5 is the string no cross type of object made in volume builder. this is a set of rings in one direction that surround an object. Use the line width and lighting to make the best of this object.

    type 7 connects every two points in an object. This type is used for tracing motion of points through time.