Discover the framework and make your first steps with it.



Similar documents
Why this lecture exists ITK Lecture 12: Open Source & Cross Platform Software Development

CMake/CTest/CDash OSCON 2009

Introduction CMake Language Specific cases. CMake Tutorial. How to setup your C/C++ projects? Luis Díaz Más.

Open source, open science

Visualization Plugin for ParaView

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

How To Develop An Image Guided Software Toolkit

SOFTWARE DEVELOPMENT BASICS SED

Supported platforms & compilers Required software Where to download the packages Geant4 toolkit installation (release 9.6)

Oracle Application Express MS Access on Steroids

TEST AUTOMATION FRAMEWORK

BUSMASTER An Open Source Tool

Definiens XD Release Notes

Parallel Visualization of Petascale Simulation Results from GROMACS, NAMD and CP2K on IBM Blue Gene/P using VisIt Visualization Toolkit

A Tutorial on installing and using Eclipse

Visualization with ParaView. Greg Johnson

Chapter 1: Getting Started

bluecape s Official Website

ALERT installation setup

IDL. Get the answers you need from your data. IDL

CMSC 427 Computer Graphics Programming Assignment 1: Introduction to OpenGL and C++ Due Date: 11:59 PM, Sept. 15, 2015

A Cross Platform Development Workflow for C/C++ Applications.

Tutorial 5: Developing Java applications

Sybase Unwired Platform 2.0

X I P Rapid and Extensible Software Development for Medical Imaging

Programming with the Dev C++ IDE

Netbeans 6.0. José Maria Silveira Neto. Sun Campus Ambassador

Cassandra 2.0: Tutorial

Lecture 1 Introduction to Android

Complete Integrated Development Platform Copyright Atmel Corporation

ArcGIS Viewer for Silverlight An Introduction

Virtualization Techniques for Cross Platform Automated Software Builds, Tests and Deployment

Mobile Development with Qt

Software Quality Exercise 2

Quick start. A project with SpagoBI 3.x

Effective Java Programming. efficient software development

Installing and Configuring Windows Server Module Overview 14/05/2013. Lesson 1: Planning Windows Server 2008 Installation.

Installing C++ compiler for CSc212 Data Structures

An Android based Quantum GIS prototype. Ramon Carrillo, Daniel Ochoa

Our mission. The team at Jazzros has as its main object to provide such services which will be the basis for clients' successful business.

Introduction to OpenTM2 An Open Source Solution for Translators

Oracle SQL Developer Migration. An Oracle White Paper September 2008

2.2 Netbeans. 2.3 Apache Struts. 2.1 Eclipse. 2.4 ArgoUML

Using Microsoft Visual Studio API Reference

Code::Blocks Student Manual

VisIt Visualization Tool

Connecting IGT Device with OpenIGTLink

Tizen SDK Annual Report Key Improvements. Changseok Oh (Samsung), Yeongkyoon Lee (S-Core)

OpenCV on Android Platforms

OpenWalnut An Open-Source Visualization System

VisIVO, a VO-Enabled tool for Scientific Visualization and Data Analysis: Overview and Demo

Integrated Open-Source Geophysical Processing and Visualization

Ingeniørh. Version Control also known as Configuration Management

< IMPACT > START ACCELERATE IMPACT

Eclipse 4 RCP application Development COURSE OUTLINE

Open Source UAS Software Toolkits. Keith Fieldhouse Technical Lead, Kitware Inc.

The MaXX Desktop. Workstation Environment. Revised Road Map Version 0.7. for Graphics Professionals

NVIDIA CUDA GETTING STARTED GUIDE FOR MICROSOFT WINDOWS

Robotics for distance learning: a case study from a UK masters programme

Introduction to TIZEN SDK

ERIKA Enterprise pre-built Virtual Machine

An interactive 3D visualization system for displaying fieldmonitoring

Open EMS Suite. O&M Agent. Functional Overview Version 1.2. Nokia Siemens Networks 1 (18)

AppDev OnDemand Cloud Computing Learning Library

Your guide to building great apps. Upgrade your skills and update your tools to create the next great app

ns-3 development overview ns-3 GENI Eng. Conf., Nov

One solution for all your Source Configuration Management Needs

OpenWIPS-ng A modular and Open source WIPS. Thomas d Otreppe, Author of Aircrack-ng

Collaborative modelling and concurrent scientific data analysis:

Migration Eclipse 3 to Eclipse 4

IMF Tune Quarantine & Reporting Running SQL behind a Firewall. WinDeveloper Software Ltd.

Easy configuration of NETCONF devices

Managing DICOM Image Metadata with Desktop Operating Systems Native User Interface

Rocket AS v6.3. Benefits of upgrading

How to use PDFlib products with PHP

Modern Software Development Tools on OpenVMS

[PRAKTISCHE ASPEKTE DER INFORMATIK SS 2014]

S ECOND PROTOTYPE. Activity: Lead Partner: Document classification:

Building and Using Web Services With JDeveloper 11g

Connecting IGT Device with OpenIGTLink

SA4 Software Developer Survey Survey Specification v2.2

JavaFX Session Agenda

Development Kit (MCSDK) Training

Effective Team Development Using Microsoft Visual Studio Team System

The Design and Implementation of a C++ Toolkit for Integrated Medical Image Processing and Analyzing

Introduction to MeVisLab Visual Programming Image Processing / VIsualization Examples VTK / ITK Integration MeVisLab SDK Features GUI Scripting

What Is NetBeans? Free and open-source based > Open source since June, 2000 > Large community of users and developers

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

Transcription:

Computer assisted medical intervention toolkit Discover the framework and make your first steps with it. Nicolas SAUBAT Vincent LEAL 1/31

Simple plan: 1. General presentation of 2. Case studies: users, developers 2/31

1. General presentation of 3/31

Visualize Acquire Perception (Apprehend) Guide Register and Fuse Data Decision (Comprehend) Action (Do) Train Model Evaluate 4/31

http://camitk.imag.fr 5/31

Aims of Avoid Reinventing The Wheel Gather Knowledge & Know-How Accelerate Integration of New Research Projects/Ideas Support for Lecture & Dissemination Facilitate Sharing and Transfer (lab & industry) Provide Prototype for Clinicians 6/31

Compared to other frameworks 3D Slicer MevisLab Creatools, Gimias, MedInria, MITK... are Mainly dedicated to image analysis Strongly based on a processing pipeline Not allowing easy prototyping (no wizard, no strong separation between concepts, no default behaviour)' 7/31

architecture preview Goal: prototype CAMI applications 8/31

extensions / plugins 4 types of extensions Action (Algorithm) Component (Data) Application (End User GUI) Viewer (Display & Interaction) 9/31

component components allow to handle data type Components can be used to connect a new device to view its data, control its parameters Examples: Import.obj format View 3D Ultrasound images Connect a medical robot or sensor Connect a motion tracker device to interact with the 3D viewer 10/31

action actions are extensions that apply algorithms on components provides open-source actions (image processing, image registration, biomechanical deformation...) 11/31

Applications and viewers viewers allow to display, represent data and interact with them. applications are Graphical user interfaces composed of viewers Example: IMP 12/31

How to create extensions? We provide a glue (in blue) to wrap / interface your code within. The glue is generated thanks to an application: the wizard => The integration of your code is minimal thanks to the glue => You don't rewrite it all in order to integrate it into => You keep working on your own code Glue Your Code 13/31

How to migrate an existing project to? Compiled binaries Source code Algo [dynamic library] Your code Image opening [static library] Your code Application [main.cpp] Your code 14/31

Your project organization => CEP A CAMI project using is composed of several extensions: actions, components, applications and viewers. We gather them in a same place => CEP ( Extension Project). Each user (PhD students ) work on their own CEP. Example of CEP : Robacus 15/31

Creating CEP, extensions => Wizard To create a CEP or extensions inside a CEP => we provide a Wizard Automatically generate the source code to wrap / interface (the glue ) your code within 16/31

libraries dependencies Vtk Qt GUI Open GL Operating System Linux/Windows/Mac.. 17/31

CMake allows to be multiplatform CmakeLists.txt Platform build system (configure/choose Option/generate) 18/31

CMake allows to be multiplatform CmakeLists.txt Platform build system (configure/generate) Executable Or Library Platform C++ Tools (MSVC, gcc, mingw...) 19/31

Download, but what's inside? Several opensource extensions: Components : volumic images (DICOM,...), 3D images (.off,.vtk ) etc. Actions : basic image processing (ITK ), biomechanical simulation (MML 2 ready to use applications: IMP & ASM 20/31

IMP : the all in one application 21/31

ASM = Action State Machine 22/31

Develop with LGPL license Guarantees availibility and independence Allows different level of sharing (other labs/industrial partners) You decide if your work is opensource or copyrighted source code is hosted on 2 servers using SVN: Forge (opensource code) :, incubator. SVN-TIMC (copyrighted TIMC source code) : CEPs, incubator. Incubator : a place where your code becomes ready to be shared (opensource or copyrighted) Incubation... Ready Private/Licensed... 23/31

Develop with Where do I start? Create a CEP for your project that you share between your team Host your CEP in an incubator (on a SVN server) depending of your project's license: License Incubator's location opensource Forge copyrighted svn-timc = private TIMC svn server Use the wizard to easily add extensions to it. Configure your CEP with CMake => You obtain ready to compile codes for your platform (Visual Studio 201X solution, Linux Makefiles etc.) Compile your code using your IDE (Visual Studio, KDevelop etc.) Load your built extensions within IMP to test them! 24/31

Develop with Do I need to create my own application? Mostly NO! According to a study, 95% of the users are happy with IMP (really happy!). IMP features the most necessary tools (3D images and volumic images viewers, properties editor, actions widget with parameters etc.) and can be tuned! 25/31

Develop with Documentation: WIKI : Technical & installation tutorials, FAQ, Tips & Tricks API Documentation: from the website You have a problem. How to solve it? 1. Check the FAQ (wiki) or pages about your problem (wiki search engine). 2. Check the forum (forge) 3. Fire a bug in the bugs tracker (forge) or ask for a new feature (in the features request, forge). 4. Ask the team. 26/31

Team Pierre-Alain Barraud 27/31

2. Case study: the brain shift 28/31

Case study : Brain shift You are a team working on the brain shift Group 1 Group 2 Group 3 A doctor brings you an MRI image of the brain Your goal is to segment it in order to obtain a 3D representation of the brain. 29/31

Team plan Image MRI Group 3 Group 1 Action 1 : Binarization... Mesh decimated Visualization Action 4 : Decimation of the mesh Action 2 : Segmentation Group 2 Action 3 : Create mesh Mesh of the brain Image binarized Image segmented 30/31

3. Individual work 31/31