NA-MIC National Alliance for Medical Image Computing Slicer Building and Deployment Steve Pieper, PhD.

Slides:



Advertisements
Similar presentations
ITK-Overview Insight Software Consortium. What is ITK Image Processing Segmentation Registration No Graphical User Interface (GUI) No Visualization.
Advertisements

Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Lecture 3 Getting Started with ITK!. Goals for this lecture Learn how to use Cmake Build ITK Example programs that use ITK.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. The Web Services Modeling Toolkit Mick Kerrigan.
ANT: Another Nice Tool Ali Beyad October 1, 2003.
ANT: Another Nice Tool Ali Beyad October 1, 2003.
NA-MIC National Alliance for Medical Image Computing 3D Slicer Interactive Modules Steve Pieper, PhD.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
UFCFX5-15-3Mobile Device Development Android Development Environments and Windows.
How to install CGAL Yuanzhen Wang. What is CGAL Computational Geometry Algorithms Library “Provide easy access to efficient and reliable geometric algorithms.
INDEX ∞ Image Processing ∞ OpenCV ∞ Download & Setup ∞ Make Project ∞ Show Result ∞ Q & A Setup OpenCV & Tutorial.
Introduction to CCSv5. Outline  Intro to CCSv5 Intro to CCSv5  Functional Overview Functional Overview  Perspectives Perspectives  Projects Projects.
Julie McEnery1 Installing the ScienceTools The release manager automatically compiles each release of the Science Tools, it creates a set of wrapper scripts.
NA-MIC National Alliance for Medical Image Computing Slicer Custom Modules Steve Pieper, PhD.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
September 2008 IT Software Development Guide.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering End-user Platform Steve Pieper Isomics, Inc.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering End-user Platform Steve Pieper Isomics, Inc.
Getting Started with ITK in Python Language
Input/Output Controller (IOC) Overview Andrew Johnson Computer Scientist, AES Controls Group.
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
NA-MIC National Alliance for Medical Image Computing NAMIC-Kit Update Will Schroeder Jim Miller Bill Lorensen.
BioPSE NCRR SCIRun: Getting Started Installation and Configuration J. Davison de St. Germain (801)
Project Source Code Structure and Build Process ● Remember consistency matters as source code structure, build process, and release processes are all intertwined.
SKA/KAT SPIN Presentation Software Engineering (!?) Robert Crida.
NA-MIC National Alliance for Medical Image Computing Why NITRC Matters to NA-MIC Steve Pieper, PhD.
DTIAtlasBuilder Adrien Kaiser Neuro Image Research and Analysis Laboratories University of North Carolina at Chapel Hill A tool to create an atlas from.
Software Engineering in Robotics Packaging and Deployment of Systems Henrik I. Christensen –
Makefiles. makefiles Problem: You are working on one part of a large programming project (e. g., MS Word).  It consists of hundreds of individual.cpp.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Highlights, Aims and Architecture Will Schroeder Kitware.
INFSOM-RI Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration.
UCSC All rights reserved. No part of this material may be reproduced and sold. 1 IT1202-Fundamentals Of Programming (Using JAVA) Interacting with.
Mosflm & iMosflm (1) Some numbers... (2) Mosflm (3) iMosflm.
Geant4 Installation Supported platforms:  Scientific Linux with gcc 4.1.2/4.6  Mac Os X 10.7 and 10.8 with gcc 4.21  Windows7 with Visual Studio.
NA-MIC National Alliance for Medical Image Computing NA-MIC Core 2 Update: Kitware Will Schroeder Kitware NA-MIC Core 2 PI NA-MIC Core.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Software Process Stephen R. Aylward Kitware, Inc.
Installing CompuCell3D from source Maciej Swat Biocomplexity Institute, Indiana University.
William Schroeder, Ph.D. §, Andy Cedilnik §, Sebastien Barré, Ph.D. §, William Lorensen ‡, James Miller, Ph.D. ‡, Daniel Blezek, Ph.D. ‡ § Kitware Inc.,
1 / 22 AliRoot and AliEn Build Integration and Testing System.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Software Process Stephen R. Aylward Kitware, Inc.
Issues Autonomic operation (fault tolerance) Minimize interference to applications Hardware support for new operating systems Resource management (global.
Programming with Visual Studio.NET A short review of the process.
Advanced BioPSE NCRR How to Install and Configure J. Davison de St. Germain Chief Software Engineer SCI Institute December 2003 J. Davison.
Disk Layout/Productization Proposal Ron Rechenmacher and Geoff Savage.
NA-MIC National Alliance for Medical Image Computing Slicer / ITK / VTK Development Tools Steve Pieper, PhD.
Porting a large scale enterprise application from Tcl/Tk 8.4 to 8.5 Prashant Thakre, Tushar Gupta {prashant_thakre, Gaurav Bansal.
NA-MIC National Alliance for Medical Image Computing Slicer 2010: Past, Present, and Future Steve Pieper, Ph.D.
NA-MIC National Alliance for Medical Image Computing Slicer / ITK / VTK Development Tools Steve Pieper, PhD.
Yannick Patois - Datagrid Software Repository Presentation - March, n° 1 Datagrid Software Repository Presentation CVS, packages and automatic.
NA-MIC National Alliance for Medical Image Computing Non-Interactive Tools Stephen Aylward, Kitware
Open project in Microsoft Visual Studio → build program in “Release” mode.
NA-MIC National Alliance for Medical Image Computing Engineering a Segmentation Framework Marcel Prastawa.
How to configure, build and install Trilinos November 2, :30-9:30 a.m. Jim Willenbring.
Program Libraries 1. What is a program library? A library is a collection of implementations of behavior, written in terms of a language, that has a well-defined.
Disk Layout/Productization Proposal Ron Rechenmacher and Geoff Savage.
GLAST Science Support Center June 29, 2005Data Challenge II Software Workshop User Support Goals For DC 2 James Peachey GSFC/L3.
Modularization of Geant4 Dynamic loading of modules Configurable build using CMake Pere Mato Witek Pokorski
1 Creative Innovation – Customer Satisfaction – Continual Quality Improvement Accessing and Building Asterisk SCF.
The GWB installation directory must be in your Path
Stress Free Deployments with Octopus Deploy
Introduction to .NET Core
Transitioning VisIt to CMake
CE-105 Spring 2007 Engr. Faisal ur Rehman
How to build 3D Slicer for Windows
CMPE 152: Compiler Design ANTLR 4 and C++
Building Cross Platform PowerShell Modules
Cmake Primer.
Carthage ios 8 onwards Dependency manager that streamlines the process of integrating the libraries into the project.
Black All good PowerPoint starts with black..
Presentation transcript:

NA-MIC National Alliance for Medical Image Computing Slicer Building and Deployment Steve Pieper, PhD

National Alliance for Medical Image Computing Overall Goals Building: –Support cross platform building of Slicer Base plus run-time loadable modules –Use VTK/ITK CMake infrastructure, but avoid writing a lot of code in CMake script Deployment: –Capture all dynamic libraries into redistributable platform specific archive –Run off a CD-ROM or download with no installation and minimal system dependencies

National Alliance for Medical Image Computing Slicer Solution slicer_variables.tcl –A few high-level configurations genlib.tcl –Does cvs checkout of tagged CMake, VTK, ITK, Tcl/Tk to generate compatible libraries cmaker.tcl –Detects modules, configures for libraries, and builds launch.tcl –Sets platform-specific environment variables so loadable libraries are correctly detected tarup.tcl –Makes a platform-specific archive including all shared libraries and tcl scripts

National Alliance for Medical Image Computing Slicer_variables.tcl Set high-level configuration –Custom locations of lib directories –Compiler choice –CMake Generator Type E.g. Makefiles or Visual Studio –Build type (debug or release) –… Generally the default values are fine –Windows requires download of pre-compiled tcl and gsl libs

National Alliance for Medical Image Computing Genlib.tcl Create the needed libraries so you don’t have to! –Cmake, tcl, tk, itcl, iwidgets, BLT, VTK, ITK Process –Check out tagged cvs versions –Configure / cmake –Make install to local directory

National Alliance for Medical Image Computing Cmaker.tcl Script to build slicer and it’s modules –Automatically detect build targets from the Modules directory –Specify Extra Modules from the SLICER_MODULES environment variable

National Alliance for Medical Image Computing Launch.tcl Uses slicer_variables.tcl to identify libraries Sets up the execution environment to find all shared libraries and support tcl files –PATH and LD_LIBRARY_PATH (linux, solaris) –Path (windows) –DYLD_LIBRARY_PATH (mac) –TCLLIBPATH, TCL_LIBRARY, TK_LIBRARY (all) Starts slicer in subshell

National Alliance for Medical Image Computing Launchers Rely on “Starkits” –Stand Alone Runtime Kits –Use tcl virtual file system technology to make single executable tcl/tk distribution that also includes custom scripts –Allows detection of SLICER_HOME automatically so that all other paths can be relative to the launcher executable Why? –Cross-Platform –Launch logic localized to single script for easier maintenance (not a.bat and a.sh file) See Scripts/launcher for more detail

National Alliance for Medical Image Computing Tarup.tcl Run from within Slicer Builds Archive distribution for deployment –Platform specific launcher –Shared libraries, tcl code, data for Lib Base Modules –Extra platform-specific support libs

National Alliance for Medical Image Computing Result Cross-platform build and deployment solution for VTK/ITK based interactive applications Tested across the last 3 slicer releases

National Alliance for Medical Image Computing Resources