Difference between revisions of "Engineering:TCON 2013"

From NAMIC Wiki
Jump to: navigation, search
Line 19: Line 19:
 
Agenda:
 
Agenda:
  
* [[2013_Summer_Project_Week | Project Week]]: filling in the page
+
* [[2013_Summer_Project_Week | Project Week]]
 
+
* Virtual functional pointer tables
  
 
Meeting Notes:
 
Meeting Notes:

Revision as of 19:03, 18 April 2013

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

2013-4-25

Attendees:

Agenda:

Meeting Notes:

2013-04-18

Attendees: Jim, Steve, Nicole, Tina, Andriy, Aiyesha

Agenda:

Meeting Notes:

2013-04-11

Attendees: Jim, JC, Hans, Nicole, Brad

Meeting notes:

  • BRAINS and EMSegment
  • Building on Mac
  • Project Week: filling in the page

2013-04-04

Attendees: Jim, Nicole, JC, Ayesha

2013-3-28

Attendees: Jim, Steve, Nicole, JC, Ayesha

Agenda:

  • Project Week Kickoff:List engineering projects

Meeting Notes:

  • discussed general outlines of engineering projects:
    • Annotations rewrite
    • Brain atlas optimisations (Marianna to do a demo)
    • Provenance
    • Patient hierarchies
    • Sample data - content addressable data, in external data processing in Slicer, cmake file for external data, when write test can decorate the data file name with macro keywords saying it's external
  • Next slicer release?
    • post namic submission late May
    • itkv4 version - use for project week development, not ready for users though
    • need to go through the targetted bugs to decide what goes in the next release
  • Slicer prereqs
    • qt(? or cmake?) version - no time to update it now
    • VS2010: cmake-ified python testing, delayed by the double convert and dcmtk build problems, but should be done by project week

2013-3-21

No call today. Several participants in DC. Please join next tcon to kickoff engineering project discussion for project week.


2013-3-14

Attendees: Steve, Ron, Tina, Nicole, Ayesha,

Agenda:

  • CHECK YOUR EMAIL (SLICER-DEVELOPERS, NAMIC-ENG) FOR NEW TCON NUMBER
  • OpenSSL status update
  • Reorg menus in Slicer - deferred to when JC is on the call
  • india update (nicole)
  • Training Events http://wiki.na-mic.org/Wiki/index.php/Training:Events_Timeline
  • Project Week kickoff in two weeks with engineering projects.

2013-3-7

Attendees: Jim, Steve, Tina, Aisha

Agenda:

  • CHECK YOUR EMAIL (NAMIC-ENG) FOR NEW TCON NUMBER

2013-2-28

Attendees: Jim, Steve, Tina, Hans, JC, Sunil, Dave

Agenda:

2013-2-21

Attendees: Jim, Steve, Tina, Hans, JC, Sunil, Dave

Agenda:

2013-2-14

Attendees: Nicole, Sunil, Tina, Jim, JC, Ron, Dave,

Agenda:

  • utility python script to parse a file to make MRML file for modelmaker - where is the best place to put it (Nicole)

2013-2-7

Attendees: Nicole, Sunil, Tina, Steve, Andriy

Agenda:

  • (Ann will review progress report materials with core/site PIs offline)

2013-1-31

Attendees: Jim, Steve, Nicole, Tina, Sunil, Ruiy, Stephen

Agenda:

  • Python external libraries discussion (Ron, Steve, JC, Sunil)
  • In the next TCON, Ann will review draft of engineering core progress report. All site PIs should plan to attend.

Extending Slicer with more python packages

Different approaches

Multiple and non-exclusive approach can be considered.


  • (1) Bundling of package within Slicer installed (i.e. NUMPY)

If the package require compilation steps and is recognized of general interest, it probably make sens to bundle it within Slicer.


  • (2) Installation of additional python packages from an *installed* Slicer

Few cases should be considered here:

a) *NO* compilation - *NO* libraries - It means the user does *NOT* have to install any compiler to be able to install the package. It is basically a pure python implementation.

b) *NO* compilation - *WITH* dependencies/libraries - It means the user does *NOT* have to install any compiler *BUT* have to install some external library to be able to install/use the package. This could reveal to be challenging for some user, especially to get the PATH, ... right.

c) *WITH* compilation - *NO* libraries - On unix like system, it is generally easier to install compiler but if we consider that most of our user works on windows, we should probably not require them to install Visual Studio to be able to install a python package ...


  • (3) Installation of additional python packages from a *built* Slicer


The researched having a lot of experience in development usually have a build tree of Slicer and know enough to be able to tinker and install things.

Runtime installation

In the python ecosystem, the usage of a tool named pip became the standard regarding installation of additional module and packages. There are currently around 27500 packages available on the Python Package Index. See http://pypi.python.org/pypi

Most of these packages are served from server using https protocol. To support such protocol, we would have to include the OpenSSL library.


Integrating OpenSSL into Slicer

Considering the license of OpenSSL (BSD style) is compatible with the Slicer one, there should not be any problem distributing it within Slicer. That said, is still presents few challenges.

Build system integration
  • Download of the binaries on windows
  • Build or download of binaries on macosx/linux
  • As part of this integration, integrating a CMake'ified version of python would also make sens.

Some work and testing would be required to make sure everything works as expected.

Legal mention on the download page

We would have to probably have some mention on our page. That said, I found an article mentioning that it should now be fine to distribute strong cryptographic algorithm library within open-source project:

Certificate Authority

To ensure Slicer is authenticated, we would have to create appropriate certificate and bundle them within Slicer. Some testing/research is required to exactly find out what need to be done. There is also probably a (not ideal) way of ignoring CA ...

2013-01-24

Attendees: Jim, Ron, Nicole, Sunil, JC, Steve

Agenda:

  • ITK v4
  • ssl issues with python

Minutes:

  • ITK v4
    • JC found the problem with dcmtk
  • Xnat folks need to install some python package => Need openssl to pip install most of the package
    • What is the legal aspect of having openssl bundled ?
    • OpenSSL is build by CMake folks on all platform ... it could be re-used
  • Difference between ITK 3.20.0 and ITK 3.20.1. See https://github.com/Kitware/ITK/compare/v3.20.0...v3.20.1
  • Talked about Stan langage. See http://mc-stan.org/

2013-01-17

Attendees: Ron, Steve, Tina, Nicole, JC, Sunil, Dave, Jim

Agenda:

2013-01-10

No call due to 2013_Winter_Project_Week

2013-01-03

Attendees: Jim, Steve, Stephen, Nicole, Tina,

Agenda: