NAC: Optimized registration in Slicer

Slides:



Advertisements
Similar presentations
Doxygen. Links
Advertisements

NA-MIC National Alliance for Medical Image Computing ITK Workshop October 5-8, 2005 Multi-Threading.
ITK Deformable Registration
National Alliance for Medical Image Computing Slicer3 plugins: Going Further Common architecture for interactive and batch processing.
Grid Wizard Enterprise GSlicer3 Tutorial. Introduction This tutorial assumes you already completed the basic and advanced tutorial. GSlicer3 is a Slicer3.
SHREYAS PARNERKAR. Motivation Texture analysis is important in many applications of computer image analysis for classification or segmentation of images.
Clare Smtih SHARC Presentation1 The SHARC Super Harvard Architecture Computer.
Content Interaction and Formatting, Tayeb LEMLOUMA & Nabil Layaïda. November Tayeb Lemlouma & Nabil Layaïda Presented by Sébastien Laborie November.
National Alliance for Medical Image Computing Slicer3 plugins Common architecture for interactive and batch processing.
SE263 Video Analytics Course Project Initial Report Presented by M. Aravind Krishnan, SERC, IISc X. Mei and H. Ling, ICCV’09.
Medical Image Registration Kumar Rajamani. Registration Spatial transform that maps points from one image to corresponding points in another image.
National Alliance for Medical Image Computing Anatomy of a plugin Common architecture for interactive and batch processing.
NAMIC AHM, Jan 2008 Registration Helper Classes Stephen Aylward Matt Turek Luis Ibanez.
Outline Introduction Image Registration High Performance Computing Desired Testing Methodology Reviewed Registration Methods Preliminary Results Future.
CSci 6971: Image Registration Lecture 26: BSpline Transforms April 20, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart, RPI.
1998/5/21by Chang I-Ning1 ImageRover: A Content-Based Image Browser for the World Wide Web Introduction Approach Image Collection Subsystem Image Query.
Chapter 5. Operations on Multiple R. V.'s 1 Chapter 5. Operations on Multiple Random Variables 0. Introduction 1. Expected Value of a Function of Random.
July 2010 Image Registration Techniques, Benchmarking, Strategy Surgical Planning Laboratory Center for Neurological Imaging July 2010 Lidwien Veugen Supervision.
NA-MIC National Alliance for Medical Image Computing Slicer3 Tutorial: Registration Library Case 19 Multi-stage registration for group.
NA-MIC National Alliance for Medical Image Computing Slicer Custom Modules Steve Pieper, PhD.
National Alliance for Medical Image Computing Registration in Slicer3 Julien Jomier Kitware Inc.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Computational Platform Jim Miller GE Research.
SAGE: Self-Tuning Approximation for Graphics Engines
Getting Started with ITK in Python Language
NA-MIC National Alliance for Medical Image Computing NAMIC-Kit Update Will Schroeder Jim Miller Bill Lorensen.
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Highlights, Aims and Architecture Will Schroeder Kitware.
ITK Lecture 13: Registration
Jan Kamenický Mariánská  We deal with medical images ◦ Different viewpoints - multiview ◦ Different times - multitemporal ◦ Different sensors.
NA-MIC National Alliance for Medical Image Computing Slicer Building and Deployment Steve Pieper, PhD.
SimITK and SimVTK: ITK and VTK in Simulink DG Gobbi, P Mousavi, KM Li, J Xiang, A Campigotto, A LaPointe, G Fichtinger, P Abolmaesumi Medical Image Analysis.
1 Grammar Refactoring December 13 th, 2013 Erik Fredericks.
GPU Brainstorming What Classes to focus on. Top Priorities Level Sets – (1) ParallelSparseFieldSolver (look at link from Paul) – (?) NarrowBandLevelSet.
Consistency An estimator is a consistent estimator of θ, if , i.e., if
Outline  BatchMake Overview  BatchMake and XNAT Integration  XNAT Overview  GridWizard.
Synthesis of the Optimal 4-bit Reversible Circuits Dmitri Maslov (spkr) University of Waterloo Waterloo, ON, Canada Oleg GolubitskySean Falconer Stanford.
LONI Pipeline Jagadeeswaran LONI,UCLA. Site PI: Arthur W Toga Director, Laboratory of Neuro Imaging Co-Director, Brain Mapping Center Director, Training.
Group-wise Registration in NAMIC-kit Serdar K Balci (MIT) Lilla Zöllei (MGH) Kinh Tieu (BWH) Mert R Sabuncu (MIT) Polina Golland (MIT)
CISC Machine Learning for Solving Systems Problems Microarchitecture Design Space Exploration Lecture 4 John Cavazos Dept of Computer & Information.
Tiered Imaging Aman Kansal,Mohammad Rahimi. High Resolution Imaging Design Objective: Maximize spatial coverage Maximize resolution –Sensing performance.
Week 31 The Likelihood Function - Introduction Recall: a statistical model for some data is a set of distributions, one of which corresponds to the true.
NA-MIC National Alliance for Medical Image Computing Engineering a Segmentation Framework Marcel Prastawa.
NA-MIC National Alliance for Medical Image Computing Slicer3 Update
IBM Express Runtime Quick Start Workshop © 2007 IBM Corporation Deploying a Solution.
National Alliance for Medical Image Computing Slicer3 Plugins Common architecture for interactive and batch processing.
IPlant Collaborative Tools and Services Workshop iPlant Collaborative Tools and Services Workshop Overview of Atmosphere.
Tool Support for Testing
UN Core Pre-Deployment Training Materials 2017
What’s new in FUSION? Bob McGaughey
2007 Project Half Week ITK Registration Parallelization: Develop implementations of ITK registration methods to take advantage of multi-core and multi-processor.
Probability Theory and Parameter Estimation I
Image Transformation 4/30/2009
Implementing Localization
Tools and Services Workshop Overview of Atmosphere
Understand Computer Storage and Data Types
Challenges CPU performance Variable density Multi-thread computing
These two sections should be completed by Jan 31, 2006.
The Future of Fortran is Bright …
High Performance Computing
More about Posterior Distributions
Real-time Skeletal Skinning with Optimized Centers of Rotation
Sampling Distribution
Sampling Distribution
CS654: Digital Image Analysis
CS510 - Portland State University
Software Acceleration in Hybrid Systems Xiaoqiao (XQ) Meng IBM T. J
Presented By: Darlene Banta
Lucas-Kanade Registration Algorithm
Registration Foundations
Data in a C++ Program Numeric data and character data
Optimization under Uncertainty
Presentation transcript:

NAC: Optimized registration in Slicer Goals Optimize ITK registration framework Targets: Multi-processor and multi-core, shared memory systems Medium and large-size problems Transforms, Interpolators, and metrics Thread, pre-compute, and integrate Maximize backward compatibility Monitor project’s progress Deliver as Slicer3 modules

Optimize registration Threaded base classes: interpolators, transforms, and metrics TransformPoint(itk::Point, unsigned int threadID) GetValue(itk::Point, unsigned int threadID) Reduce creation/destruction of local vars Increase memory requirements (minimal)

Optimize registration Extend ImageToImageMetric base class Samples Random, entire image, or passed as list Detect BSpline transform pre-compute weights, relevant control points, and rigid transform of samples Integrate transform and metric Detect BSpline interpolator Optimize derivative computation Threaded metric computation ThreadedPreProcess ThreadedProcessSample ThreadedPostProcess

Optimize registration Other optimizations Memset Floor Do not use MUTEX Limit amount of data distribution and integration when threads created/destroyed Method-specific optimizations E.g., MattesMIMetric JointPDF – one per thread during process sample JointPDF – re-integrated using one region per thread

Monitor RealTimeHighPriorityTimer BatchMake BatchBoards SetPriority, SetThreadAffinity BatchMake GetCPUInfo # of cores, speed, etc GetMemoryInfo Physical memory SendToBatchBoard Parameters, results Available as commands, function calls, and CMake variables BatchBoards

Results

NAC: Optimized registration in Slicer Slicer Modules BWHITKOptimization/Code/Applications/SlicerRegistrationModules Same GUI as current registration modules