Read a DICOM File typedef unsigned charInputPixelType; const unsigned intInputDimension = 2; typedef itk::Image InputImageType; typedef itk::ImageFileReader.

Slides:



Advertisements
Similar presentations
ITK Architecture Kitware Inc.. ITK Basics C++ Generic Programming Data Pipeline Multi-threading Streaming Exceptions Events / Observers Tcl, Python and.
Advertisements

Getting Started with ITK + VTK
ITK-Overview Insight Software Consortium. What is ITK Image Processing Segmentation Registration No Graphical User Interface (GUI) No Visualization.
National Alliance for Medical Image Computing Slicer3 plugins Common architecture for interactive and batch processing.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 4 – Digital Image Representation Klara Nahrstedt Spring 2009.
Kyle Marcolini MRI Scan Classification. Previous Research  For EEN653, project devised based on custom built classifier for demented MRI brain scans.
Lecture 2: Convolution and edge detection CS4670: Computer Vision Noah Snavely From Sandlot ScienceSandlot Science.
Spatial Filtering (Chapter 3)
Topic 6 - Image Filtering - I DIGITAL IMAGE PROCESSING Course 3624 Department of Physics and Astronomy Professor Bob Warwick.
CS & CS Multimedia Processing Lecture 2. Intensity Transformation and Spatial Filtering Spring 2009.
Digital Image Processing
National Alliance for Medical Image Computing ITK The Image Segmentation and Registration Toolkit Julien Jomier Kitware Inc.
DTM Generation From Analogue Maps By Varshosaz. 2 Using cartographic data sources Data digitised mainly from contour maps Digitising contours leads to.
6/9/2015Digital Image Processing1. 2 Example Histogram.
Computer Vision Group Edge Detection Giacomo Boracchi 5/12/2007
CSci 6971: Image Registration Lecture 6: Getting Started with ITK January 30, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart,
Digital Image Processing
MSU CSE 803 Stockman Linear Operations Using Masks Masks are patterns used to define the weights used in averaging the neighbors of a pixel to compute.
1 Vladimir Botchko Lecture 4. Image Enhancement Lappeenranta University of Technology (Finland)
1 Lecture 12 Neighbourhood Operations (2) TK3813 DR MASRI AYOB.
CSci 6971: Image Registration Lecture 8: Image Resampling February 3, 2004 Prof. Chuck Stewart, RPI Dr. Luis Ibanez, Kitware Prof. Chuck Stewart, RPI Dr.
Filters and Edges. Zebra convolved with Leopard.
Lecture 2. Intensity Transformation and Spatial Filtering
MSU CSE 803 Linear Operations Using Masks Masks are patterns used to define the weights used in averaging the neighbors of a pixel to compute some result.
Image Filtering. Problem! Noise is a problem, even in images! Gaussian NoiseSalt and Pepper Noise.
Multimedia Systems & Interfaces Karrie G. Karahalios Spring 2007.
GPU Acceleration in ITK v4
Dr. Engr. Sami ur Rahman Assistant Professor Department of Computer Science University of Malakand Medical Imaging ITK.
 Process of partitioning an image into segments  Segments are called superpixels  Superpixels are made up several pixels that have similar properties.
Image Registration Lecture 7: Getting Started with ITK March 15, 2005 Prof. Charlene Tsai.
Spatial Filtering: Basics
NA-MIC National Alliance for Medical Image Computing Slicer3 and the NA-MIC kit Sonia Pujol, Ph.D. Instructor of Radiology Surgical Planning.
Discrete Images (Chapter 7) Fourier Transform on discrete and bounded domains. Given an image: 1.Zero boundary condition 2.Periodic boundary condition.
ITK Input/Output Kitware Inc.. Overview IO Factory Mechanism Image File IO Transform File IO SpatialObject File IO Logger.
Programming into Slicer3. Sonia Pujol, Ph.D., Harvard Medical School -1- National Alliance for Medical Image Computing Programming into Slicer3 Sonia Pujol,
UCF REU: Weeks 1 & 2. Gradient Code Gradient Direction of the Gradient: Calculating theta.
ITK Introduction and Overview Spring Topics  What Is ITK History Features  Software Engineering Methodology.
Chapter 5: Neighborhood Processing
PRINCIPLES AND APPROACHES 3D Medical Imaging. Introduction (I) – Purpose and Sources of Medical Imaging Purpose  Given a set of multidimensional images,
Slicer3 for developers – S.Pujol -1- National Alliance for Medical Image Computing Slicer3 Course for developers Sonia Pujol, Ph.D. Surgical Planning Laboratory.
Image Subtraction Mask mode radiography h(x,y) is the mask.
COMP322/S2000/L171 Robot Vision System Major Phases in Robot Vision Systems: A. Data (image) acquisition –Illumination, i.e. lighting consideration –Lenses,
11/29/ Image Processing. 11/29/ Systems and Software Image file formats Image processing applications.
1 ENGI 2420 Structured Programming (Lab Tutorial 8) Memorial University of Newfoundland.
1 ITK Lecture 6 - The Pipeline Methods in Image Analysis CMU Robotics Institute U. Pitt Bioengineering 2630 Spring Term, 2006 Methods in Image Analysis.
ITK Basic Filters Kitware Inc.. ITK Basic Filters Pixel-wise Arithmetic, Casting, Thresholding Mathematical morphology Noise reduction Gaussian, Anisotropic.
Edge Segmentation in Computer Images CSE350/ Sep 03.
Machine Vision. Image Acquisition > Resolution Ability of a scanning system to distinguish between 2 closely separated points. > Contrast Ability to detect.
Advisor : Ku-Yaw Chang Speaker : Ren-Li Shen /6/12.
Lecture Seven Figures from Gonzales and Woods, Digital Image Processing, Copyright 2002.
Site Users. Mouse modes View functions Series Thumbnails control Property Inspector Cine Loop Panel Slice Track Bar Image View Control.
ITK Statistical Classification Kitware Inc.. Statistical Classification Multiple Components Images K-Means Markov Random Fields.
Non-linear filtering Example: Median filter Replaces pixel value by median value over neighborhood Generates no new gray levels.
National Alliance for Medical Image Computing Slicer3 Plugins Common architecture for interactive and batch processing.
NA-MIC National Alliance for Medical Image Computing Three ways to use the NA-MIC kit Sonia Pujol, Ph.D. Instructor of Radiology Surgical.
Spatial Filtering (Chapter 3) CS474/674 - Prof. Bebis.
Insight Toolkit Introduction Luis Ibáñez William Schroeder Insight Software Consortium.
ITKv4 DICOM Status Mathieu Malaterre, Mark Roden Alexandre Gouaillard, William Ryan, Daniel Blezek.
Image Subtraction Mask mode radiography h(x,y) is the mask.
ITK Segmentation Methods
Image gradients and edges
Lecture 2: Edge detection
Dr. Chang Shu COMP 4900C Winter 2008
Image Enhancement in the Spatial Domain
ITK-Overview Insight Software Consortium.
Lecture 3 (2.5.07) Image Enhancement in Spatial Domain
ITK Architecture Kitware Inc..
Linear Operations Using Masks
ITK Workshop Software Design October 5-8, 2005.
Artistic Rendering Final Project Initial Proposal
Presentation transcript:

Read a DICOM File typedef unsigned charInputPixelType; const unsigned intInputDimension = 2; typedef itk::Image InputImageType; typedef itk::ImageFileReader ReaderType; typedef itk::GDCMImageIOImageIOType; ReaderType::Pointer reader = ReaderType::New(); ImageIOType::Pointer gdcmImageIO = ImageIOType::New(); reader->SetFileName(lpszPathName);reader->SetImageIO(gdcmImageIO);reader->Update();

Write a DICOM File typedef unsigned charOutputPixelType; const unsigned intOutputDimension = 2; typedef itk::Image OutputImageType; typedef itk::ImageFileWriter WriterType; WriterType::Pointer writer = WriterType::New(); writer->SetFileName("D:\\test.jpg"); writer->SetInput( reader->GetOutput() ); writer->Update();

Rescale typedef itk::RescaleIntensityImageFilter FilterType; FilterType::Pointer filter = FilterType::New();

Binary Threshold typedef itk::BinaryThresholdImageFilter FilterType2; FilterType2::Pointer filter2 = FilterType2::New(); filter2->SetOutsideValue(0);filter2->SetInsideValue(1200);filter2->SetLowerThreshold(800);filter2->SetUpperThreshold(1200);

DiConverter Input DICOM file(s) DICOM file(s)Output RAW Data RAW Data JPG/PNG JPG/PNG Exe file Console Console argc / argv Windows (MFC) Windows (MFC)

DiConverter Deadline 2007/04/24 (Tue.) 2007/04/24 (Tue.)Grading Results Results60% Manual Manual30% Miscel. (coding practice) Miscel. (coding practice)10%

Access Pixel Data InputImageType::Pointer ptrImage = reader->GetOutput(); reader->Update(); InputImageType::IndexType pixelIndex; pixelIndex[0] = 0; pixelIndex[1] = 0; InputImageType::PixelType pixelValue = ptrImage- >GetPixel(pixelIndex);

CPathDialog and CFileFinder CPathDialog dialog(" 目錄對話盒元件範例 "," 選取目錄 ","D:\\"); if ( dialog.DoModal() == IDOK ) { CString strFolder; CString strFolder; strFolder=dialog.GetPathName(); strFolder=dialog.GetPathName(); AfxMessageBox(strFolder); AfxMessageBox(strFolder); CFileFinder Finder(strFolder); Finder.FindAllFiles("*.*"); for (int i=0; i<Finder.GetSize(); i++) AfxMessageBox(Finder.GetPath(i)); AfxMessageBox(Finder.GetPath(i));}

Metadata Metadata Data about data Data about data

DICOM File Header Tag Tag (group number, element number ) Patient’s age: (0010, 0010) Patient’s age: (0010, 0010) Patient’s sex: (0010, 0040) Patient’s sex: (0010, 0040)

DICOM File

ITK Software Guide Printing DICOM Tags From One Slice Printing DICOM Tags From One Slice

Topics for Final Project (I) Thresholding Edge Detection Casting and Intensity Mapping Gradients Second Order Derivatives Neighborhood Filters Mean Filter & Median Filter Mean Filter & Median Filter

Topics for Final Project (II) Thresholding Edge Detection Casting and Intensity Mapping Gradients Second Order Derivatives Neighborhood Filters Mean Filter & Median Filter Mean Filter & Median Filter Morphology and Voting Filters Morphology and Voting Filters

Topics for Final Project (II) Smoothing Blurring and Local Blurring Blurring and Local Blurring Edge Preserving Smoothing Edge Preserving Smoothing Frequency Domain Extracting Surfaces