Engineering:TCON 2011

From NAMIC Wiki
Jump to: navigation, search
Home < Engineering:TCON 2011
Back to TCON:Main, Events


Attendees: Ron, Steve, Tina, Misha, Greg Sharp, Jim, Nicole, Marc, Radhika, Jayashree, Bill Ryan (Mayo Clinic), Andras,


Attendees: Hans, Ron, Jim, Steve, JC, J2, Tina, Stephen

  • ITK v4 transition
    • 1) Replace ITKv4 git repo from Hans's to the official ITK repo - Jc, done
      • ITK v4 has an official tag in December 20th, however the code is already stable
    • 2) Slicer fails to build with ITKv4 - Hans, in progress
      • SkullStripper fails to build with ITKv4
    • 3) Setup factory to re-upload unofficial ITK v4 slicer packages for 1/2 weeks - J2, in progress
      • Slicer packages need to be tested
    • 4) Make ITKv4 the official version for Slicer - J2, on hold
      • Move the ITKv4 nightly reports up in CDash
      • ITKv4 packages being the only ones uploaded
  • AHM planning


Attendees: Ron, Jim, Jan, Sharif, Tamas, Tina, Nicole, Mark, Steve,


Thanksgiving. No tcon.


Attendees: Jack van horn, marcel prastawa, stephen, tina, fabiola, nicole, mark


Attendees: Jim, Tina, Andrey, Ron, Fabiola, Anthony B, Nicole, Mark, Stephen, Steve



Attendees: Ron, Ross, Hans, Martin, Jim, Tina, Steve, J2, JC, Kilian, Clement, Polina


  • Iowa DBP projects update by Hans
    • DTIPrep with Martin Styner is on target.
    • Data Sharing: 15 different projects have requested access to and have downloaded parts of data.
  • List hypotheses by biomarker for hd
    • eg. quantification of caudate shape/size
  • Project Week projects for HD should be added here:


Attendees: Jack, Greg Sharp, Nicole, JC, J2, Steve, Tina, Hans, Mike Ackermann, Polina, Elvis


  • Project Week Kick off TCON
  • MGH DBP (Head and Neck Cancer). Greg Sharp.
    • Subsequent calls:
      • Iowa DBP (Huntington's) Nov 3
      • Utah DBP (Atrial Fibrillation)
      • UCLA DBP (TBI)
  • RSNA Plans
  • Suggestion to add SimpleITK tutorial at AHM. Planned for Tuesday. Hans to do it with help from Brad/NIH.


Attendees: Sonia, Jim, Demian, Nicole, Jc, J2, Mark, Tina



Attendees: Jim, Nicole, Mark, Hans, Steve


  • DisplayableManagers link against CTK? CrosshairDisplayableManager needs access to the LightBoxRendererManager which is down in CTK.
  • Speed. Mouse events handled in one queue and application events are handled in a separate queue.


Attendees: Jim, Tina, Nicole, Jeff, Nicole, Jeremy, Mark


  • Slicer user experience in AMIGO has been positive. When can we plan to start using Slicer4?
    • Dec 1st is when we should try out Slicer4 in AMIGO and specify which features are missing
    • Feb 1st is the target date for adding those features by (pending Steve weighing in)
  • Nicole and Jim discussed crosshairs in Slicer4, wrt displayable managers (see Annotations/MRMLDisplayableManager for some more examples) (look in qSlicerMainWindow for examples of connect)
  • next thursday is the NCIGT workshop in Arlington VA.


Attendees: Jim, Nicole, Mark


Everyone else must be finishing their Slicer4 issues...


Attendees: Jim, Steve, Tina, Mark, Jeff



Attendees: Jim, Ron, Steve, J2, Nicole, Mark, Jeff, Tina


Attendees: Ron, Steve, Stephen, Mark, Nicole, JC, J2, Tina, Dominik, Zach Mullen,

                   MANIX      CASE 40

 DICOM Load          60          10

 NRRD Load            4           2

 Slicer 4 nightly mac 2011-09-02 (release build)


  • Attendees: Mark, Jim, Nicole, Steve, Hans, Stephen
  • ITKv4 DICOM. DCMTK plan. Extend schedule. Get DCMTK to build as an external project. SCU and SCP classes have been added to DCMTK 3.6. Make ITK examples that would listen using DCMTK and the process data with ITK. They are not taking on the ownership of DicomToNrrd.
  • What about DicomToNrrd? Should it be cleaned up using straight ITK, GDCM, DCMTK, CTK, ...? Hans and Mark will reassess and report back.
  • Python mmap availability in Slicer is a blocker for Nipype


  • Attendees: Ron, Steve, Daniel, Mark, Jim, Nicole, Julien, Hans
  • Topics:
  • Notes: (One month until RSNA freeze happens)
    • GUI: Need to agree on moc-up of Slicer Views
    • Volume Rendering: Started. Working on GPU Memory and Transfer Function.
    • Models: Mostly done.
    • Editor: "Seems straightforward"
    • Welcome Module: Not yet started
    • Volumes Module: Can drop some features. Still slow. Unknown time required - risks.
    • Tractography: Going well - done, but tweaks
    • Sceneview: Might not be possible as scoped - Ron/Nicole to discuss offline
    • Annotation: Appearance of annotations, appearance of module, ... - may need to scale-back. Limited resources>
    • Documentation: JC
    • Linking and compare view: Linking - Base behavior in-place; spreading capabilities. Compare-view
    • ROIs: going well
    • Diffusion MRI: Making good progress
    • Hierarchies: Dealing with Qt bug. Annotations need work.
    • VTK Bug Fixes: Fixes are in VTK. Remaining aren't critical now (text and bi-dim dropped for RSNA release).
    • CTK-DICOM Widget: Data - Almost (3/4 done) Widget - needs testing and packaging
    • Optimized displayable manager: Progress being made - backburner project
    • Brainsfit: Being integrated. Doesn't work on windows (dll weirdness). Bundling on mac - installation not working.
      • Too complex/unclear how to build external module that doesn't become locked to Slicer
    • Annotation Speedup: Coming along - keeping it simple for first implementation
    • Extensions: Keeping the number small - enabled on dashboard - just waiting for green dashboard
    • Web infrastructure and documentation: wiki templates



  • Slicer 4 documentation: See here and here.
  • tables and charts in Slicer (Ron)
    • We need a viewer as a container for spreadsheets and charts.
    • three initial use case scenarios:
  1. sampling across time in a time series: single pixel, small area
  2. label statistics: simple descriptive statistics derived from the gray scale image underlying a label map with multiple labels
  3. statistics along tracts in tractography
  • mrml nodes for workflows (Stephen)
    • perhaps a mrml node that contains a database.
  • Discussion
    • For now we will try using the scripted module node and rely on the keyword/value (where value is a string)
    • beyond that there are several options for structuring data, but they may need to be driven by concrete use cases
      • possibly HDF5, sqlite, or other bulk data storage data structures
  • Volume rendering transfer function - needs antialiasing


Attendees: Ron, Steve, Stephen, Tina, Nicole, Daniel, Mark


Attendees: Stephen, Mark, Nicole, Tina, Ron


  • hans' request re. github/svn pull. (nicole). supported way to do is an svn checkin (Stephen).



Jean-Christophe Fillion-Robin, Sharp, Gregory C., Bill Lorensen, Andriy Fedorov, Dominik Meier, Dominique Belhachemi, Matt McCormick, Mark Scully, Ron Kikinis, Steve Pieper, Demian Wassermann, Tina Kapur, Luping Fang, Hans Johnson



  • RSNA version of Slicer4 will be be based on ITKv3
  • January version of Slicer4 will be based on ITKv4
  • A parallel build of Slicer4 will be possible during this time frame. There is a possibility that staticly linked executables based on ITKv4 will be made available even when Slicer4 is built with ITKv3
  • Ron confirmed his desire to reduce the amount of redundancy in the modules that are available in Slicer4. Hans offered to find redundant versions of tools, and reduce the redundancy.
  • There was a discussion about revisiting the IO enhancement that would help reduce memory copy in ITK for performance reasons. There may be other benefits in to the NRRD/NiFTi and other image IO readers that currently copy memory.



  • Open Source Software Competition in Korea:
  • SPL-related web services will be down until tomorrow (mailing lists, sites, wikis, bug tracker...). Slicer svn will remain up (it is hosted at Kitware)


Attendees: Steve, Ron, Luping, Jim, Stephen

  • Jim is meeting with Andrey at GE about the prostate compare view use cases
  • Discussion of ongoing slicer4 porting issues
    • packaging on mac
    • scripted displayble manager


Attendees: Steve, Stephen, Tina, Nicole, Daniel, JC, J2, Ron


No phone call due to Project Week.


Attendees: Xiadong, Tina, Marc, Nicole, Daniel (UPenn), Mohasen, Luping (SPL)


Attendees: Jim, Xiadong, Sonia, Dominik, Dominique, Andreas, Ron, Tina, Nicole, Stephen, Mohasen, Mark Scully, Drew Rotham, Steve Pieper


  • 2011 Summer 2011 Tutorial contest dead-line extended until June 13
  • DICOM projects at summer project week:
    • Networking: putting ctk/dcmtk into slicer4; use case scenarios (Nicole, Steve, Noby, +?)
    • ITKv4 DICOM Support: what features will be available? (Drew, Steve, Dan, Bill, +?)
    • DICOMRT: mapping between RT/ITK/Slicer datastructures (Greg, Steve, Luis)
    • DWI DICOM: what will we do without Xiaodong?!? (Xiaodong, Jim, Hans, Demian)
    • other topics?
  • Discuss the structure of Slicer 4 documentation in preparation for next week Slicer 4 documentation placeholder
  • Agenda for next week will be to have a working meeting where appropriate people join the call and spend the hour on Slicer 4 documentation in preparation for project week


Attendees: Jim, Tina, Steve, Stephen, Demian, Szymon, Anthony Blumsfield, Xiaodong, Nicole, Julien, Suarez, Hans Johnson, Mohasen (VA Hospital), Lauren O'Donnell



Attendees: Junichi, Tina, Tamas, Tamas, Stephen, Jim, Noby, Peter Kazanzies, Ehsan Azimi, Greg Fischer, Hao, Suarez, Csaba

  • OpenIGTLink at Project Week


Attendee: Jim, Steve, Dominik, Nicole, Xiaodong, Ross, Marc, Tina, Chiara Carminati (Milan), Adrian(MIT), Ramesh(MIT), Clement (UNC), Nadya (MGH)



Attendees: Tina, Steve, Allen, Clement, Yi, Ivan, Yi Fi Lou, Jim, Stephen, Mark, Nicole,

Algorithm core participants discuss project week.

  • RSS as Editor module
  • Mass Spect for Brain Tumors (GaTech, NCIGT, BWH collaboration)
  • Head and Neck cancer bone registration
  • Multi-modality image registration


No t-con.




Attendees: Steve, Tina, Julien, Xiaodong, Dominik, Marc, Nicole, Dan, Danielle


  • Slicer4 windows build question (Steve)
  • MGH DBP discussion with Greg Sharp about multilayer treatment plans (Steve).
  • visualizing deformation fields via RGB or vector fields via tensor image (Dominik, Steve)
  • Since we had some time today, we did a pre-kickoff discussion of engineering projects: 2011_Summer_Project_Week#Projects





Attendees: Jim, Steve, Tina, Dominik, Daniel, Nicole, JC, Suares, Demian, Kilian, Stephen, Andras, Tamas, Marc, Julien Finet, Danielle P.


  • Slicer4
    • Progress on Modules? Review and update of:
      • See comments associated with each modules on 2011_Winter_Project_Week:Breakout_Slicer page
    • Any objection to removing all KWWidget code from slicer4 svn?
      • Jc: Option Slicer_BUILD_KWWIDGETS is not supported anymore (it means the build system has been cleaned already) Module and GUI folder code are still here though
    • Wrapping Module code (MRML and Logic) in python
      • Jc: Already functional. Need to make wrapping works when module are build as extension
      • VTK classes associated with module should be properly exposed in python.
    • Check out "what changed?" and "multivolume containers" in the list of Slicer 4 projects.
    • Speed, Speed, Speed


Attendees: Steve, Jim, Ann, Tina, Daniel, Suares, Marc, Jack, Nicole, Dominique, Ron



Attendees: Jim, Ron, Tina, Dominik, Dominique, Marc, Hans, Daniel, Nicole, Curt, Julien


Attendees: Jim, Ron, Marc, Tina, Nicole, Xiaodong, Greg, Dave Partika, Julien Finet


  • Slicer 3.6.3: 64 bit versions, extensions
  • the default location for a lot of slicer things is the user home directory. This should be changed. It causes problems in the SPL.
    • where to put it, how to initiate?
  • saving Slicer 4 mrml scenes as secondary capture (Ron)
    • I would like to be able to save an entire scene as a dicom secondary capture. This would allow to use accessible pacs systems as repositories for slicer scenes
    • is there a way to incorporate thumbnails and descriptions from the new sceneviews?
  • Slicer3 linked controls


  • Dave P will build Windows builds of Slicer and extensions (a version without numpy, make a release note) and Steve will upload. Also the darwin, need to match svn version
  • Default location: ask user for not home dir directory if default is not set
    • related bugs: 598
  • Secondary capture to interact with PACS
    • tcon before project week with Jim, Nicole, Wendy, Steve to talk about infrastructure
  • Linked controls
    • Scroll wheel and arrows after Steve/Nicole's implementation of the link/orientation flag only scroll the current slice viewer and the other viewers with the same orientation, need more feedback from users/Andrey
    • use cases between move all slices by copying this slices's RAS matrix to the other slice nodes, and linked increment slice that moves the other slices by an incremental distance
    • reformat mode and linking. If in compare view mode and change one of multiple reformat slices, the other reformatted slice views will jump to that
    • proposal: link some mode, so have more granularity than all or none (currently do have a one slice link toggle key)
      • reserve some link states so can by default link certain slices
  • Ron to Xiaodong: use HAMMER on new brain atlas? not tried yet


Attendees: Jim, Steve, Mark S., Nicole, Tina


  • 3.6.4 release planning discussion [3]
    • In particular, fix for the linked slice views [4] (see also 1003)
    • pan mode resets slice orientation (bug #1117)
    • What steps should be used for testing fixes for these bugs?
      • Are all use cases covered in currently documented behavior?
      • Show hide reformat widget behavior should incorporate the Michal Depa/Steve Pieper modifcations for linked views with reformat widget.
      • What optimizations (delayed updates) are we expected in for situations like compare view?
    • when linked views are in the same location and visible, there are artifacts in the 3d viewer.
  • More flexibility in the names of the results of CLI's. It would be good to have the ability to incorporate:
    • Source volume name
    • Module name
    • some important parameters


  • linked slice views: Jim will write up a wiki page describing the expected behaviour, Steve and Nicole will debug
  • CLI names: Jim says "yes"
  • CLI compilation with separated header files: Jim, Steve, Mark to look into this via webex


Attendees: Steve, Nicole, Jim, Andrey, Suarez, Ron, Stephen A., Daniel H, Dominique B., Xioadong, Greg Sharp, Mark S, Dominik, Hans


  • C++/C wrapping of modules
    • Hans and Greg figured out what was going wrong. In BRAINS tools they did a trick to get around Bill's trick. It takes 8 minutes to build BRAINSfit, to break it down into smaller compilation units and test it using ITK testing framework. It has a thin wrapper around program to add comparator functions. BRAINSfit is a small 3 line wrapper around BRAINS fit primary that takes argc and argv and includes generated header file. You can't include CLP header file in both compilation units since functions are defined in header file. See error at link time. If you put the right ifdef compiling for slicer and module description is defined you can make it work. Hans would like to see the CLP broken apart into a compile until and a header unit. Jim: harder to build and link - but is done through macros. Could have a test before include CLP.h. Hans: wants to be able to include the .h file in every file. Change: now would have to write a programCLP.h and programCLP.cxx.
    • definitely needs to be done in Slicer4, tbd in Slicer3 (Hans using Slicer3 in his class).
      • the add executable, add library lines macros would need to be touched, need to link new object file
      • before when build both a shared and a command line module it would have to rebuild all the itk stuff twice, Casey made the change to not require it
      • Steve: came up wrt diffusion modules because they're using vtk nrrd readers that don't know about shared memory pointers
      • Hans: was building itk files three times for exec, lib, testing
    • Jim will take a look at what breaks when try to split it out, code generation is easy, the add_executable will be a bit tricky
    • Hans: suggests adding the .cxx to the GenerateCLP macro that defines the .h, to use in the CMakeLists. Hans will do the changes to all the execution modules that need to be changed once the infrastructure is changed (or not).
    • One BRAINSfit test failing: any multi threaded mutual information code is suspect to the bug that they found. Quick fix: restrict to one thread, huge slow down (2-4x). Bug is in the Mattes mutual information optimize metric (?) in the registration framework for certain number of threads (4,7, etc). Stephen A will look at it after March 9.
  • Annotation module widget priority for ROI nodes
    • Ron, Daniel agrees to put it as higher than the bidimensional widget
    • ROI widget is in the critical path for the volume rendering module, as well as others
    • Reformat widget to priority list? will require taking something out. Will is working on a new widget, wait on that. Andrey says the reformat widget will be useful in crop volume as well. General Slicer4 widget (was integrated in the 3d viewer in Slicer3). Nicole is taking on the integration of the vtk widgets.
  • Contributing modules to Slicer4 (policy review)
    • by default new modules should got to an external repository (NITRC, external module) and remain there for a while until whole module goes into Slicer4 if it's determined to be core functionality
    • Slicer4 core to remail lean, but external modules to be first class citizens.
    • Documentation requirements, building and testing on the factory machine every night.
    • If a new module fails it shouldn't break Slicer4 building or running
    • Timeline on extension mechanism in Slicer4?
      • Steve wanted to get the base nightly builds working first, but need to get the extensions built nightly asap
      • new feature in next release of cdash and cmake, ctest upload command to upload binaries, can get a list of uploads from dashboard
      • harvest the information from the cdash dashboard and make it available to the extension manager rather than have the extension manager communicate directly with the (sometimes slow) dashboards. Only let uploads come from factory machines. Use VMs to run test code.
      • Steve will be the gatekeeper to allow code to be built and tested on the factory for now
        • flag for if it gets redistributed, critical/non critical build
        • allow to build locally but submit to main slicer dashboard (no code upload), already supported via Experimental
    • Greg: wants to be able to build a bug fixed version of an extension for an old release (limited support for it)


Attendees: Jim, Mark, Tina, Nicole, Dan



Attendees: Suares, Dominik, Kilian, Dominique, Nicole, Daniel, Stephen, Tina, Xiaodong



No tcon today.


Attendees: Xiaodong, Wendy, Tina, Mark, Nicole, Dominik, Daniel,



Attendees: Steve, Stephen, Jim, Ron, Tina, Dan Marcus, Xiaodong


  • News: DCMTK 3.6 was released today
  • Command line module logic, supporting multiple argument for images in Slicer3/4
  • Discussion of ITK support for large (greater than 4Gig) image volumes on win64. This will be further investigated at project week. It is only one of several issues to be researched as part of porting slicer3 and slicer4 to win64. Dave Partyka has a project to work on this at project week.