Difference between revisions of "Engineering:TCON 2011"

From NAMIC Wiki
Jump to: navigation, search
Line 9: Line 9:
 
* C++/C wrapping of modules
 
* 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.
 
** 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.  
+
** 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
 
*** 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
 
*** 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
Line 15: Line 15:
 
*** Hans: was building itk files three times for exec, lib, testing
 
*** 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
 
** 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: 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. Stephen A will look at it after March 7.
 
* Annotation module widget priority for ROI nodes
 
* Annotation module widget priority for ROI nodes
  

Revision as of 20:46, 3 March 2011

Home < Engineering:TCON 2011
Back to TCON:Main, Events

2011-03-03

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

Agenda:

  • 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. Stephen A will look at it after March 7.
  • Annotation module widget priority for ROI nodes

2011-02-10

Attendees: Jim, Mark, Tina, Nicole, Dan

Agenda:

2011-02-03

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

Agenda:

2011-01-27

No tcon today.

2011-01-20

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

Agenda

2011-01-06

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

Agenda:

  • News: DCMTK 3.6 was released today
  • http://wiki.na-mic.org/Wiki/index.php/2011_Winter_Project_Week#Projects
  • 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.