Implementing the Probability Matrix Technique for Positron Emission Tomography By: Chris Markson Student Adviser: Dr. Kaufman.

Slides:



Advertisements
Similar presentations
Reconstruction from Voxels (GATE-540)
Advertisements

Enhanced matrix multiplication algorithm for FPGA Tamás Herendi, S. Roland Major UDT2012.
GPU-accelerated fractal imaging Jeremy Ehrhardt CS 81 - Spring 2009.
Chapter 7 Introduction to Procedures. So far, all programs written in such way that all subtasks are integrated in one single large program. There is.
Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
Caroline Rougier, Jean Meunier, Alain St-Arnaud, and Jacqueline Rousseau IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 21, NO. 5,
A New Approach to Cluster Finding and Hit Reconstruction in Cathode Pad Chambers and its Development for the Forward Muon Spectrometer of ALICE A.Zinchenko,
A Time-Averaged Projection Matrix Approach to Motion Correction in ET by Charles Byrne,Department of Mathematical Sciences, University of Massachusetts.
Maths for Computer Graphics
Medical Imaging Mohammad Dawood Department of Computer Science University of Münster Germany.
Lecture 4 Sept 8 Complete Chapter 3 exercises Chapter 4.
RADON TRANSFORM A small introduction to RT, its inversion and applications Jaromír Brum Kukal, 2009.
CSCE 121, Sec 200, 507, 508 Fall 2010 Prof. Jennifer L. Welch.
Scaling Personalized Web Search Glen Jeh, Jennfier Widom Stanford University Presented by Li-Tal Mashiach Search Engine Technology course (236620) Technion.
Program Flow Charting How to tackle the beginning stage a program design.
Algebraic and Statistic Reconstruction Algorithms Liran Levy Advanced Topics in Sampling (049029), Winter 2008/9.
Paper by Alexander Keller
Digital Image Processing
Monica Garika Chandana Guduru. METHODS TO SOLVE LINEAR SYSTEMS Direct methods Gaussian elimination method LU method for factorization Simplex method of.
Introduction to Longitudinal Phase Space Tomography Duncan Scott.
New Mexico Computer Science For All Introduction to Algorithms Maureen Psaila-Dombrowski.
Maurizio Conti, Siemens Molecular Imaging, Knoxville, Tennessee, USA
Introduction - The Need for Data Structures Data structures organize data –This gives more efficient programs. More powerful computers encourage more complex.
DATA LOCALITY & ITS OPTIMIZATION TECHNIQUES Presented by Preethi Rajaram CSS 548 Introduction to Compilers Professor Carol Zander Fall 2012.
JPEG C OMPRESSION A LGORITHM I N CUDA Group Members: Pranit Patel Manisha Tatikonda Jeff Wong Jarek Marczewski Date: April 14, 2009.
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
PET data preprocessing and alternative image reconstruction strategies.
Linear Recurrence Relations in Music By Chris Hall.
Matlab tutorial course Lesson 2: Arrays and data types
Feature and object tracking algorithms for video tracking Student: Oren Shevach Instructor: Arie nakhmani.
A flexible FGPA based Data Acquisition Module for a High Resolution PET Camera Abdelkader Bousselham, Attila Hidvégi, Clyde Robson, Peter Ojala and Christian.
IMAGE COMPRESSION USING BTC Presented By: Akash Agrawal Guided By: Prof.R.Welekar.
Optimizing Katsevich Image Reconstruction Algorithm on Multicore Processors Eric FontaineGeorgiaTech Hsien-Hsin LeeGeorgiaTech.
Programming Lifecycle
ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗΣ 4. Αριθμητική Επίλυση Συστημάτων Γραμμικών Εξισώσεων Gaussian elimination Gauss - Jordan 1.
Medical Image Analysis Image Reconstruction Figures come from the textbook: Medical Image Analysis, by Atam P. Dhawan, IEEE Press, 2003.
Parallelization of System Matrix generation code Mahmoud Abdallah Antall Fernandes.
Algorithms and Algorithm Analysis The “fun” stuff.
Computational Biology, Part 23 Biological Imaging III G. Steven Vanni Robert F. Murphy Copyright  1998, All rights reserved.
Towards a Billion Routing Lookups per Second in Software  Author: Marko Zec, Luigi, Rizzo Miljenko Mikuc  Publisher: SIGCOMM Computer Communication Review,
Today’s lecture 2-Dimensional indexing Color Format Thread Synchronization within for- loops Shared Memory Tiling Review example programs Using Printf.
Bayesian Estimation for Angle Recovery: Event Classification and Reconstruction in Positron Emission Tomography A.M.K. Foudray, C.S. Levin Department.
FLUKA in-beam PET simulations. Speed up the simulation – Bias – Activity based-generator – Faster workstation – Cloud-computing.
Description of a New Variable-Length Key, 64-Bit Block Cipher (BLOWFISH) Bruce Schneier BY Sunitha Thodupunuri.
GPU-based Image Processing Methods in Higher Dimensions and their Application to Tomography Reconstruction Szirmay-Kalos, László Budapest Uni of Tech Sapporo,
Computer Vision – Compression(1) Hanyang University Jong-Il Park.
Hashing Hashing is another method for sorting and searching data.
RADON TRANSFORM A small introduction to RT, its inversion and applications Jaromír Brum Kukal, 2009.
A n = c 1 a n-1 + c2an-2 + … + c d a n-d d= degree and t= the number of training data (notes) The assumption is that the notes in the piece are generated.
Avoiding Planetary Rover Damage by Automated Path Planning Michael Flammia Mentor: Dr. Wolfgang Fink Tempe, AZ April 18 th, 2015.
A New Operating Tool for Coding in Lossless Image Compression Radu Rădescu University POLITEHNICA of Bucharest, Faculty of Electronics, Telecommunications.
The parity bits of linear block codes are linear combination of the message. Therefore, we can represent the encoder by a linear system described by matrices.
Main Index Contents 11 Main Index Contents Complete Binary Tree Example Complete Binary Tree Example Maximum and Minimum Heaps Example Maximum and Minimum.
CS/EE 217 GPU Architecture and Parallel Programming Midterm Review
Mantid: Performance of Building and Binning MDEvents Janik Zikovsky April 8 th, 2011.
Image Processing A Study in Pixel Averaging Building a Resolution Pyramid With Parallel Computing Denise Runnels and Farnaz Zand.
Single Node Optimization Computational Astrophysics.
Distortion Correction ECE 6276 Project Review Team 5: Basit Memon Foti Kacani Jason Haedt Jin Joo Lee Peter Karasev.
Given a node v of a doubly linked list, we can easily insert a new node z immediately after v. Specifically, let w the be node following v. We execute.
Chapter-4 Single-Photon emission computed tomography (SPECT)
Buffering Techniques Greg Stitt ECE Department University of Florida.
Genetic Algorithm(GA)
CS/EE 217 – GPU Architecture and Parallel Programming
Hardware Implementation of CTIS Reconstruction Algorithms
Article Review Todd Hricik.
CS/EE 217 – GPU Architecture and Parallel Programming
mEEC: A Novel Error Estimation Code with Multi-Dimensional Feature
Research Institute for Future Media Computing
Computed Tomography.
IV. Convolutional Codes
Presentation transcript:

Implementing the Probability Matrix Technique for Positron Emission Tomography By: Chris Markson Student Adviser: Dr. Kaufman

Introduction ● PET vs. CAT – PET ~ metabolic – CAT ~ anatomical ● The Process – Tagged chemical compound – Positrons in compound meet electrons in the body~ annihilation – Photons produced at 180° – Detection – Problem: Reconstruct the image using the tube data

● Put grid over organ of interest – 2 dimensions - pixels – 3 dimensions - voxels ● Finer grid, more detail ● Finer grid, more computation Grids time and space

● C(tubes,pixels) = probability that events in a pixel will be detected by a tube ● If 128 detectors, 128 pixels on a side,125 million elements ● About 1% nonzero ● Want to find the emissions x to approximate tube data y such that C x ~ y and x>=0 ● Sum of the elements in x should equal the sum of the elements in y so all annihilations are accounted for ● Use iterative approaches that only require matrix vector multiplication Probability Matrix Approach

● Translate from FORTRAN into C++ and speed up code that generates the C matrix and does matrix by vector multiplication – Take out redundant code for successive subroutine calls – FORTRAN was very unstructured ● Because have more memory, do not have to use circular symmetry – does this lead to faster code? ● If one uses structures and linked lists – does this help? ● Prior research suggested that EM algorithm for maximum likelihood works better from uniform starting guess rather than random – Does starting with solution from coarser grid help? – Should you smooth coarser grid solution? My Responsibilities

● One iteration: – Set s = C T x – Set z = y(t)/s t for t = 1, 2,..., T. – Set w = Cz – Set x b new = x b w b for b = 1, 2,..., B. EM Algorithm

● Images Studied – 10 million vs. 1 million probabilities ● Uniform guess – total tube count divided by number of pixels ● Block expansion – Start with 64x64 data, EM Algorithm, expand to 128x128(1 pixel becomes 4 pixels), old solution becomes initial guess for 2 nd EM run ● Smoothed expansion – Same procedure, (1 pixel becomes 4 pixels)  averaging middle pixels after expansion – Best image produced with tumors standing out Image Output

Tube Data 128x128 ~ 1m 64x64 ~ 1m smoothed 128x128 ~ 10m

uniform10m No expansion, uniform initial guess. block10m 64x64 initial guess into EM, block expansion. wexpand10m 64x64 initial guess into EM, smoothed expansion. **Best result**

uniform1m No expansion, uniform initial guess. block1m 64x64 initial guess into EM, block expansion. wexpand1m 64x64 initial guess into EM, smoothed expansion.

smuniform1m Smoothed first. No expansion, uniform initial guess. smwblockexpand1m Smoothed first. 64x64 initial guess into EM, block expansion. smwexpand1m Smoothed first. 64x64 initial guess into EM, smoothed expansion.

diffexbl1m Difference between smoothed expansion and block expansion smdiffexbl1m Smoothed tube data. Difference between smoothed expansion and block expansion smdiffunex1m Smoothed tube data. Difference between uniform and smoothed expansion.

EM Iteration Analysis

Full Square Code ● Removal of repeating triangle code ● Entire code much slower when compared to the repeating triangle code ● EM algorithm faster – Removal of encode, decode, a1, a2 functions. Easier matrix by vector multiplication ● Creating C matrix takes longer

Times All timings performed on Intel 1.4 GHz Centrino Chip, 512 MB RAM

Linked List ● Theory: Having pointers to first element in each array save on offset calculations used in arrays. ● EM() (16 iterations) – No LL ● Avg processing time: ms – With LL ● Avg processing time: ms – Difference: With LL ms slower

Linked List Times (continued) ● Program Times: – No LL: ● Avg processing time: ms – With LL ● Avg processing time: ms – Difference: With LL ms slower

● Original Code ~ FORTRAN ● Translated and manipulated ~ C++ ● Image manipulation and analysis ~ MATLAB Tools Used