Difference between revisions of "Slicer3:VisualBlog"

From NAMIC Wiki
Jump to: navigation, search
Line 4: Line 4:
 
Image:sirp1.png|'''Image from wjp on Wednesday, October 24, 2007'''<br>QueryAtlas visualizing combined morphology and functional analyses generated by running FreeSurfer and a FIPS pipeline on a BIRN phaseII SIRP dataset. Interactive annotations (on mouse-over) are being translated thru Slicer's controlled vocabulary.
 
Image:sirp1.png|'''Image from wjp on Wednesday, October 24, 2007'''<br>QueryAtlas visualizing combined morphology and functional analyses generated by running FreeSurfer and a FIPS pipeline on a BIRN phaseII SIRP dataset. Interactive annotations (on mouse-over) are being translated thru Slicer's controlled vocabulary.
 
Image:SlicerReformat.png|'''Image from Jim on Saturday, September 15, 2007'''<br>Slice viewers can be used to specify oblique reformats using the 'Reformat' orientation (instead of axial, coronal, sagittal) and CTRL-Right-Button-Move<br>(subject to change).
 
Image:SlicerReformat.png|'''Image from Jim on Saturday, September 15, 2007'''<br>Slice viewers can be used to specify oblique reformats using the 'Reformat' orientation (instead of axial, coronal, sagittal) and CTRL-Right-Button-Move<br>(subject to change).
Image:Livers.png|'''Image from Dirk, Matthew, Jim, and Steve on Monday, August 13, 2007'''<br>A new label map smoothing tool has been added to help with our [[NA-MIC_Collaborations#Children.27s_Pediatric_Cardiology_Collaboration_with_SCI.2FSPL.2FNortheastern | collaboration with Children's Hospital Boston, SCI at University of Utah and Northeastern University]].  The unfiltered labelmap is shown in blue, and the filtered results are shown in peach.  The filtering algorithm was developed at University of Utah by Josh Cates and Ross Whitaker, and implemented in ITK by GE Research.  It is integrated in slicer3 as a command line module using the execution model.  The models are shown unsmoothed in order to better visualize the underlying labelmaps.
+
Image:Livers.png|'''Image from Dirk, Matthew, Jim, and Steve on Monday, August 13, 2007'''<br>A new label map smoothing tool has been added to help with our [[NA-MIC_Collaborations#Children.27s_Pediatric_Cardiology_Collaboration_with_SCI.2FSPL.2FNortheastern | collaboration with Children's Hospital Boston, SCI at University of Utah and Northeastern University]].  The unfiltered labelmap is shown in blue, and the filtered results are shown in peach.
 
Image:Editbox.png|'''Image from Steve and Wendy on Monday, August 6, 2007'''<br>New Editor functionality, with EditBox which is invoked using the F1 key (will soon be moved to the space bar).
 
Image:Editbox.png|'''Image from Steve and Wendy on Monday, August 6, 2007'''<br>New Editor functionality, with EditBox which is invoked using the F1 key (will soon be moved to the space bar).
 
Image:EMSegment31Structures.png|'''Image from Brad and Kilian on Wednesday, June, 21, 2007'''<br>Example of [[Projects/Structural/2007_Project_Week_EMSegmentation_Validation | EMSegmenter in Slicer3]]
 
Image:EMSegment31Structures.png|'''Image from Brad and Kilian on Wednesday, June, 21, 2007'''<br>Example of [[Projects/Structural/2007_Project_Week_EMSegmentation_Validation | EMSegmenter in Slicer3]]

Revision as of 22:17, 25 October 2007

Home < Slicer3:VisualBlog



Image from pieper on Tuesday, August 08, 2006 at 4:26PM

Editor-module-prototype.png A number of things have come together to allow the new prototype editor module:

  • the label map layers are enabled
  • lookup table support in the layer logic
  • a new set of 2D UI widgets
  • generalized painting infrastructure, which is based on requests and feedback from NA-MIC Core 3 users and other users of Slicer2
    • paint brush has a 'threshold' option in which the label map only gets painted if the background intensity is in a specified range
    • paint brush optionally won't overpaint existing voxels
    • 'eye dropper' mode allows you to start painting with the label value where you first clicked (so you don't need to go to the UI to change the label color as often).
    • all painting operations can happen on arbitrarily transformed volumes. This allows the painting plane to be aligned with the major axis of a structure like the hippocampus
    • background layers are interpolated to current screen resolution (not limited to nearest neighbor sampling as in slicer2's draw mode)
    • painting is performed using a circular brush with a diameter selected by the user. this makes it easier to follow the contours of curved biological structures.
    • the cursor is turned off on mouse down and reappears on mouse up so you can see the exact pixels you are drawing (a circle around the cursor location indicates the mouse location)

A few limitations make this still a 'prototype' including:

  • there's no convenient way to save your label maps volumes (except as dicom)
  • the color map is currently random
  • only label numbers 0-255 will show as distinct colors
  • no hot keys for frequently used operations
  • brush radius is in screen space units rather than RAS (means that the brush is effectively getting bigger and smaller as you zoom in and out)
  • the paint algorithm is implemented inefficiently and can be slow when painting large numbers of pixels
  • much of the code is written in tcl - new vtk classes are needed to implement the functionality more efficiently.

Image from pieper on Thursday, July 13, 2006 at 4:49PM

Textured-slice-planes.png Test of interactive slice textured plane control. Not yet eneabled through GUI, but driven by a test script that you can source into the console. Type Control-T to bring up interactor, then

source Base/GUI/Testing/TestSliceModels.tcl
SliceModelsAdd

This test does things the right way in that it creates model nodes for the slices and the updates of the planes is triggered by observers on the Slice Logic. But it does things the wrong way in that it creates the texture in an ad hoc way for now since we don't yet have a clean way to specify textures in the model display nodes. Also, the Viewer renders on every changes to the slice view, so as you pan/zoom/scroll the slices the redraws are jerky. Next step is to figure out how best to get this functionality integrated into the C++. Probably there should be a vtkSlicerSliceModelsLogic class that's managed by the vtkSlicerSliceGUI.


Image from blezek on Tuesday, April, 10, 2007 at 8:00AM

Python incorporated into Slicer
Bringing up the Python console











Now, do something interesting with it!

>>> # import MatPlotLib via pylab functions so we can refer to them directly
>>> from pylab import *
>>> imshow ( data[128,:,:] )
>>> # Instruct pylab to show our plots... hit return to continue entering commands.
>>> show()
Voila!











About the VisualBlog

The VisualBlog is meant to be an easy place to upload screenshot so that both developers and outside observes can track the progress of the project.


Upload Script

To simplify the process of uploading images and blog entries, you can use a helper script called wikimage which uploads the image and caption to this page. You must have a Tcl/Tk and curl installed on your machine to use wikimage.

NOTE: tested and working on Windows with Cygwin, needs debugging on Linux.

Example usage
 ./wikimage.tcl screenshot-of-my-new-feature-2006-06-14.png This shows my neat new slicer feature that I added in just minutes of pleasureable coding...

You will need to have a wiki account in order to do the upload. If you're wiki account isn't the same name as your local machine login, use the --user command line option to specify it.

Full usage:

usage: wikimage [options] (image_filename) (caption)
 (image_filename) is the file to upload
 (caption) is the rest of the command line
 [options] is one of the following:
  --gallery : wiki page where image link should be added
  --thumb-size : size of gallery thumbnail (default 200px)
  -u --user : wiki user name (default is env USER)
  -p --password : wiki login password
  --url : url of the wiki (default wiki.na-mic.org)
  -c --cookie-jar : file to save your cookies (default 'mycookies')
  --help : prints this message and exits

Of course after you've uploaded you can use regular wiki tools to edit and augment your caption.

Plans

We're looking into adding the wikimage command as menu item in slicer to further simplify, but for now it can be run on the command line.

Every month or so we can copy the contents of the page to an archive location so this page doesn't get too long.