thrombus training dec. 2013

30
Thrombus Training Ricardo A Corredor J 19/12/2013

Upload: creatis

Post on 11-May-2015

255 views

Category:

Technology


0 download

DESCRIPTION

A little presentation of control versioning systems, file storage possibilities in the lab., ParaView advanced tools, and others.

TRANSCRIPT

Page 1: Thrombus Training Dec. 2013

Thrombus Training

Ricardo A Corredor J 19/12/2013

Page 2: Thrombus Training Dec. 2013

Content

• Storage

– Code (CVS -> SVN -> Git / Mercurial)

– Data (TUX-FTP / iRods)

• Applications

– Data Viz (ParaView)

– Mesh Tools (MeshLab, FreeCAD, Blender)

– Image Tools (MeVisLab, itkSNAP, GDCM, MITK)

2

Page 3: Thrombus Training Dec. 2013

Content

• Storage

– Code (CVS -> SVN -> Git / Mercurial)

– Data (TUX-FTP / iRods)

• Applications

– Data Viz (ParaView)

– Mesh Tools (MeshLab, FreeCAD, Blender)

– Image Tools (MeVisLab, itkSNAP, GDCM, MITK)

3

Page 4: Thrombus Training Dec. 2013

Storage

PhD Comics 28/05/2010 http://www.phdcomics.com/comics/archive.php?comicid=1323 4

Page 5: Thrombus Training Dec. 2013

Storage

• Code – Centralize code in one server (online!)

– Keep all the modifications/additions (code/text history)

– Create new branches to test or to release a new version

– Collaborate (many people in the same code)

Cloud

CVS

5

Page 6: Thrombus Training Dec. 2013

Version control system

A.txt

v0.1

6

Page 7: Thrombus Training Dec. 2013

Version control system

A.txt A.txt

v0.1 v0.2

Commit

7

Page 8: Thrombus Training Dec. 2013

Version control system

A.txt A.txt

v0.1 v0.2

ID: 0002 Message: Adds a new method to multiply two integers.

Commit

8

Page 9: Thrombus Training Dec. 2013

Version control system

A.txt A.txt

v0.1 v0.2

A.txt

v0.3

ID: 0002 Message: Adds a new method to multiply two integers.

A.txt

v0.4

9

Page 10: Thrombus Training Dec. 2013

Version control system

A.txt A.txt

v0.1 v0.2

A.txt

v0.3

ID: 0002 Message: Adds a new method to multiply two integers.

A.txt

v0.3.1

A.txt

v0.4

Branch

10

Page 11: Thrombus Training Dec. 2013

Version control system

A.txt A.txt

v0.1 v0.2

A.txt

v0.3

ID: 0002 Message: Adds a new method to sum two numbers

A.txt

v0.3.1

A.txt

v0.4

A.txt

v0.5

Merge

11

Page 12: Thrombus Training Dec. 2013

Version control system

Push

12

Page 13: Thrombus Training Dec. 2013

Version control system

Pull

13

Page 14: Thrombus Training Dec. 2013

Git

• Install Git (already installed on Linux).

• For CREATIS, create a SSH key and send the public key to Fabrice.

• For today, GitHub (free Git server and highly used for open-source projects)

– User: thrombus

– Pass: xxxxxx

• It’s easier by command’s console…

14

Page 15: Thrombus Training Dec. 2013

Demo - Git 0- Local configuration (if first time using Git in the PC)

git config –-global user.name “Your Name”

git config –-global user.email “[email protected]

1- Download a project from server:

git clone https://github.com/rcorredorj/ThrombusTraining.git

2- Add all the modifications to the local Git server:

git add .

3- Commit modifications in the local server:

git commit -m “I did a modification”

4- Push changes to the server:

git push

5- Pull changes from the server:

git pull

Others: git status, git log, git branch,…

15

Page 16: Thrombus Training Dec. 2013

Git - CREATIS

• Public and private projects, e.g.: – Public: clitk (D. Sarrut team) git://git.creatis.insa-lyon.fr/clitk

– Private: BioThrombus (R. Corredor) ssh://[email protected]/BioThrombus

• To create a new project, send a email to Fabrice

• Simple Web Interface: https://git.creatis.insa-lyon.fr/git/

• You can subscribe to changes in Git repository (email)

• A quick guide in https://www.creatis.insa-lyon.fr/mywiki/Git#Git_at_CREATIS

• Support: Claire Mouton (info-dev), Fabrice Bellet

16

Page 17: Thrombus Training Dec. 2013

Content

• Storage

– Code (CVS -> SVN -> Git / Mercurial)

– Data (TUX-FTP / iRods)

• Applications

– Data Viz (ParaView)

– Mesh Tools (MeshLab, FreeCAD, Blender)

– Image Tools (MeVisLab, itkSNAP, GDCM, MITK)

17

Page 18: Thrombus Training Dec. 2013

TUX-FTP

• All persons with a CREATIS account have a storage space in TUX server. Accesed via FTPs (Suggested application: Filezilla)

– 600 GiB!

• Your public SSH key should be uploaded in the server (Fabrice)

• Advantages: – Fast in local network

– Share files with external people

– Create a personal or a project website

– Backup and assign UNIX permissions to files/folders

18

Page 19: Thrombus Training Dec. 2013

iRods

• iRODS™ (Integrated Rule-Oriented Data System) https://www.irods.org/

• A Data grid system. One or more interconnected resources (each machine running an iRODS server instance)

• A Middleware that constructs a virtual file system to access multiple storage resources

• A Data + Metadata manager. More semantic info into the files, all stored in a catalog known as an iCAT

• A Rule engine (automatic actions and workflows on the data, apply policies and conditions)

• An open-source project

19

Page 20: Thrombus Training Dec. 2013

iRods

• Stable server managed by IN2P3 – (Zone Rhone-Alpes)

• Access via several clients:

iRODS Explorer

• Windows only

• Can add metadata

IN2P3 client: JuX

• Java app

• Data viewer / download

Web client

• Web

• Data viewer

20

Page 21: Thrombus Training Dec. 2013

iRods

• For Thrombus: – Medical Images (Anonymized!)

– Big back-ups

– Simulation results

– Patient’s tracking for the different studies

– No personal data!

icommands

• Windows / Linux / Mac

• Most stable to transfer data

* Web client: http://escience8.inf.ed.ac.uk/irods * Tutorials: - http://eirods.org/dev/wp-content/uploads/2012/08/irods-getting-started.pdf

- http://research.nesc.ac.uk/files/irodsTutorial1.pdf

21

Page 22: Thrombus Training Dec. 2013

Content

• Storage

– Code (CVS -> SVN -> Git / Mercurial)

– Data (TUX-FTP / iRods)

• Applications

– Data Viz (ParaView)

– Mesh Tools (MeshLab, FreeCAD, Blender)

– Image Tools (MeVisLab, itkSNAP, GDCM, MITK)

22

Page 23: Thrombus Training Dec. 2013

ParaView

• One of the Kitware open-source projects

• Data analysis and visualization tool (3D, 2D, Volumes, Images, Animations, Graphics, Tables, … )

• Quick access to VTK capabilities

• Multiple visualization and interaction techniques

• Can be used in distributed/parallel environments

Python / Macros

ParaView

VTK

OpenGL MPI 23

Page 24: Thrombus Training Dec. 2013

ParaView

DataObject • Image data, Rectilinear Grid, Structured Grid, Unstructured

Grid, Polygonal Data

• Geometry data(point coordinates), topology (points or cells), and/or data attributes (Scalars, Vectors, Normals, Texture Coordinates, Tensors, …)

ProcessObject • Filters applied on data objects

24

Page 25: Thrombus Training Dec. 2013

ParaView

- Open multiple files

- Display options

- Volume Rendering

- Slicing and Clipping

- Iso-contours / Iso-surfaces

- Data Analysis

- Streamlines

- Animations

25

Page 26: Thrombus Training Dec. 2013

Content

• Storage

– Code (CVS -> SVN -> Git / Mercurial)

– Data (TUX-FTP / iRods)

• Applications

– Data Viz (ParaView)

– Mesh Tools (MeshLab, FreeCAD, Blender)

– Image Tools (MeVisLab, itkSNAP, GDCM, MITK)

26

Page 27: Thrombus Training Dec. 2013

Mesh Tools

MeshLab (http://meshlab.sourceforge.net/) - Analyze mesh properties

- Many filters for mesh processing:

Smooth, Decimate, Fill Holes, Subdivide,…

- Opens and exports STL, PLY

FreeCAD (http://www.freecadweb.org/) - Analyze mesh properties

- Free CAD Tool

- Can export IGES solids

27

Page 28: Thrombus Training Dec. 2013

Mesh Tools

Blender (http://www.blender.org/) - Advanced tool for mesh edition/creation (flat stents, cut vessel

segments, smooth vessel wall, …)

- Many filters for mesh processing:

Smooth, Decimate, Fill Holes, Subdivide, Boolean operations, …

- Opens and exports STL, PLY

- Create animations

28

Page 29: Thrombus Training Dec. 2013

Image Tools MeVisLab (http://www.mevislab.de/) - Prototype image processing algorithms

- Includes ITK and VTK filters

- Changes in parameters affects automatically the views

- Opens DICOM, practical to convert DICOM to MHD

itkSNAP (http://www.itksnap.org) - Simple tool to make manual segmentations

- Open multiple formats of medical image files

- Some segmentation algorithms to test

GDCM 2 (http://gdcm.sourceforge.net/wiki/index.php/GDCM_Release_2.0) - A C++ Library to read DICOM files.

- Practical to read DICOM headers, convert images to other formats, ANONYMIZE, …

- Normally, GDCM is also included in ITK

MITK (http://www.mitk.org/) - Other tool for medical image viz.

- Semi-automatic segmentation methods, manual segmentation tools, 2D/3D Viewers, …

29

Page 30: Thrombus Training Dec. 2013

Others

http://software.incf.org/software/sumatra

30