1 / 12

Introduction to IDL

Introduction to IDL. Dr James Scuffham. What is IDL?. I nteractive D ata L anguage. “Procedural” programming language Compiled functions and procedures OR run-time interpreter Enormous library of pre-written and validated routines Widely used in the medical imaging community.

tait
Download Presentation

Introduction to IDL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to IDL Dr James Scuffham

  2. What is IDL? Interactive DataLanguage • “Procedural” programming language • Compiled functions and procedures OR run-time interpreter • Enormous library of pre-written and validated routines • Widely used in the medical imaging community

  3. What can it do? • Data Visualisation: • Plot graphs and display images • Animate dynamic data • Volume rendered surface plots • Vector field visualisation • Application development: • ‘Widgets’ • Cross-platform capability: “Virtual Machine” • Data Analysis and modelling: • Maths: calculus, solve equations, FFT, DWT, optimisation • Statistics: regression, hypothesis testing, curve fitting • Image Processing: • Translate, transpose, rotate, zoom, resample, extract, warp • Regions of interest, profiles, histograms • Filtering, edge enhancement, 2D-FFT • Convolution, correlation, feature extraction

  4. Applications in Nuclear Medicine • Supports DICOM and Interfile formats • Displaying static images, drawing ROIs, obtaining statistics • Displaying dynamic images, plotting time-activity curves, processing results • Performing advanced image processing

  5. Basic Image Processing READ_INTERFILE, ‘muga.HDR’, X frame0=ROTATE(X,7) frame0 = CONGRID(frame0,512,512) XROI, BYTSCL(frame0), STATISTICS=stats

  6. Dynamic Images PRO cine_muga, data, repeats data = BYTSCL(ROTATE(data,7)) data = CONGRID(data, 512, 512) howbig = SIZE(data) FOR c = 0, howbig[3]*repeats DO BEGIN display_image = data[*,*,(c MOD howbig[3]-1)] TV, display_image ENDFOR END

  7. Curve Processing left_area = INT_TABULATED(time, left_kid) right_area = INT_TABULATED(time, right_kid) left_div_func = 100.0*left_area/(left_area+right_area) right_div_func = 100.0*right_area/(left_area+right_area) Left = 56% Right = 44%

  8. 3D Data Visualisation • slices • isosurfaces • contours

  9. Application Development

  10. Advanced Image Processing

  11. Summary IDL is really useful….. ……and not just for image processing

More Related