Engineering:TCON 2013

From NAMIC Wiki
Revision as of 20:09, 14 February 2013 by Tkapur (talk | contribs) (→‎2013-2-7)
Jump to: navigation, search
Home < Engineering:TCON 2013
Back to TCON:Main, Events

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: