The Whys, Hows and Whats of the Noise Power Spectrum Helge Pettersen, Haukeland University Hospital, NO Introduction to the Noise Power Spectrum Before diving into NPS curves, we need • Fourier transforms • Python (or similar / simpler software) • Noise images – Both «pure noise» and anatomical noise 2014-05-22 Helge Pettersen, HUS (NO) 2 The Fourier Transformation 2014-05-22 Helge Pettersen, HUS (NO) 3 The Fourier Transformation Look at the (yellow) profile through Lena’s nose Image information = grey scale values along horizontal lines • IMAGE DOMAIN / bitmap 2014-05-22 Helge Pettersen, HUS (NO) 4 Frequency domain Possible to store same information in FREQUENCY DOMAIN • Only need information about the waves A simple sine wave: • Amplitude and frequency Complex objects: • For each «base wave» • Amplitude and frequency 2014-05-22 Helge Pettersen, HUS (NO) 5 Adding all these high frequency waves Slowly converging towards the object http://commons.wikimedia.org/wiki/File:Sawtooth_Fourier_Analysis.JPG 2014-05-22 6 Helge Pettersen, HUS (NO) The Fourier Transform The Fourier Transform (FT) is the connection between the Frequency Domain and the Image Domain – FT(Image Domain) = Frequency Domain – Inverse FT(Frequency Domain) = Image Domain πΉ π₯ = 2014-05-22 1 2π ∞ π π‘ ππ‘π₯ e dπ‘ −∞ Helge Pettersen, HUS (NO) 7 FT in 1 dimension FT in 1 dimension – as time or a line in an image Amplitudes of the 1st, 2nd, 3rd etc. frequency 1D FT 2014-05-22 Helge Pettersen, HUS (NO) 8 FT in 2 dimensions In 2 dimensions the theory stays the same • Low frequencies in the center (or KESKUS, as I’ve learned) • High frequencies in the periphery 2D FT 2014-05-22 Helge Pettersen, HUS (NO) 9 Inverse FT We can reverse the process 1:1 using inverse FT 2D inverse FT 2014-05-22 Helge Pettersen, HUS (NO) 10 Examples of FT: Can edit frequencies With the low frequency part: – Image blurry, only large scale objects 2D inverse FT 2014-05-22 Helge Pettersen, HUS (NO) 11 Examples of FT: Can edit frequencies With high frequency part: – Only edges are kept 2D inverse FT 2014-05-22 Helge Pettersen, HUS (NO) 12 Examples of FT: Can edit frequencies Composite: Only high frequency information in horizontal direction 2D inverse FT 2014-05-22 Helge Pettersen, HUS (NO) 13 What does this have to do with noise? «Noise» is a collection of random signals, each with different frequency • With FT, you get the amplitudes of every noise component frequency • Easy to see «highlights», or important frequency areas 2014-05-22 Helge Pettersen, HUS (NO) 14 The Fourier Transform on 1D noise Just random noise A periodic signal! 2014-05-22 Helge Pettersen, HUS (NO) NASA, 2011 15 FT on 2D noise (Google «image noise») White 2D FT Pink 2D FT Brownian 2D FT 2014-05-22 Helge Pettersen, HUS (NO) 16 CT applications This we can use to study the noise in CT images: • Convolution kernels – Is FC18 similar to B30s? • Reconstruction algorithms • Noise reduction algorithms ο Learn the quirks of your scanner 2014-05-22 Helge Pettersen, HUS (NO) 17 Soft Standard 2014-05-22 Hard 18 Soft Standard 2014-05-22 Hard 19 Other applications of the Fourier Tranform http://xkcd.com/26/ 2014-05-22 Helge Pettersen, HUS (NO) 20 Intermission: How to find pure noise images? Why do we need them? 2014-05-22 Helge Pettersen, HUS (NO) 21 Pure noise images 1. Image a flat object with no structure 2014-05-22 Helge Pettersen, HUS (NO) 22 Pure noise images 2. If not flat image: Average or 2nd order polynomial correction 2014-05-22 Helge Pettersen, HUS (NO) 23 Polynomial correction in 2 dimensions… CPU intensive. In python: scipy.optimize.curve_fit Original image 2014-05-22 2D fit Helge Pettersen, HUS (NO) «Flat» image 24 Pure noise images 3. Use paired subtraction images Image A 2014-05-22 Image B Helge Pettersen, HUS (NO) Subtraction image 25 Pure noise images 4. Method in current project: Subtract average image from large set of images – From 50 images, find average image, subtract average image from each of the 50 images – Result: 50 noise images 2014-05-22 Helge Pettersen, HUS (NO) 26 What does image subtraction do? • For noise images: Removes the low frequency peak • For complex images: Removes the image info, only noise left No subtraction Subtraction 2014-05-22 Helge Pettersen, HUS (NO) 27 HOW to use the FT to make a Noise Power Spectrum 2014-05-22 Helge Pettersen, HUS (NO) 28 How to find the NPS – manually 1. With the image data, choose region of interest (ROI) – π(π₯, π¦) 2. Subtract mean signal π from ROI (or even 2D polynomial) – π π₯, π¦ − π 3. Fourier Transform (modulus square) – NPS π’, π£ = FT π π₯, π¦ − π 2 × Δπ₯ Δπ¦ ππ₯ ππ¦ ROI 2014-05-22 Helge Pettersen, HUS (NO) 29 How to find the NPS – manually 4. Repeat until enough statistics have been collected 5. Find the average amplitude for each frequency π’, π£ 6. Radial average for 1D distribution 7. Normalization of signal – Optional – Can be done with dose or area under curve 2014-05-22 Helge Pettersen, HUS (NO) 30 The Noise Power Spectrum IR1 IR2 IR3 IR1 IR2 IR3 Median values Same AUC Different noise Decreasing noise with increasing IR Noise Power Spectrum 2014-05-22 Normalized NPS = NPS/AUC (AUC = Area Under Curve) Helge Pettersen, HUS (NO) 31 Programs to use: Basic ImageJ: Quick and easy • http://imagej.nih.gov/ij/ • http://rsb.info.nih.gov/ij/plugins/radial-profile.html 2014-05-22 Helge Pettersen, HUS (NO) 32 Programs to use: Advanced Python: Very customizable • • • • pydicom for reading DICOM files NumPy for doing the matrix calculations Matplotlib for plotting https://code.google.com/p/pythonxy/: Python distribution w/libraries 2014-05-22 Helge Pettersen, HUS (NO) 33 WHAT can you use the Noise Power Spectrum for? 2014-05-22 Helge Pettersen, HUS (NO) 34 Iterative reconstruction and anatomy How does anatomical backgrounds affect different reconstruction algorithms? • SAFIRE on Siemens • AIDR3D on Toshiba • iDose4 on Philips Hypothesis 1: • The noise texture will be affected when using I.R. – NNPS will change shape Hypothesis 2: • I.R. works differently on different objects 2014-05-22 Helge Pettersen, HUS (NO) 35 Method: Phantoms We used three phantoms: 1. Catphan 600 (The Phantom Laboratory, New York) – CPT486 Module – No anatomy, only noise 2. Kyoto Kagaku PH-5 Abdomen phantom – Replicates anatomy somewhat 3. Kyoto Kagaku PH-1 Lungman phantom – Different anatomy than PH-5 – Hard to make flat subtraction images from 2014-05-22 Helge Pettersen, HUS (NO) 36 Method: Parameters Parameters: • 120 kVp • 250 – 300 mAs (depending on allowed choices) • One axial slice of same location – Or first image in volume mode, cannot use AIDR3D with pure axial • Filters B30s (Siemens), FC18 (Toshiba), Medium B (Philips) 2014-05-22 Helge Pettersen, HUS (NO) 37 DISCLAIMER Results should be representative, but no guarantees • I’ve tried to use the same acquisition parameters – But: «Scanner 2» filter was sharper • I’ve used the same code for different system analyses – With small modifications for DICOM readout 2014-05-22 Helge Pettersen, HUS (NO) 38 2014-05-22 39 How to find NPS from anatomy? 1. Find average from 20 images Single 30 mGy Average 600 mGy 2014-05-22 Helge Pettersen, HUS (NO) 40 How to find NPS from anatomy? 2. Image π minus average image: Noise image π 2014-05-22 Helge Pettersen, HUS (NO) 41 2014-05-22 Helge Pettersen, HUS (NO) 42 How to find NPS from anatomy? 3. Calculate NNPS from 20 noise images, try different regions of interests 2014-05-22 Helge Pettersen, HUS (NO) 43 How to find NPS from anatomy? 4. Repeat process for – Different reconstruction algorithms – Different phantoms – Different scanners 2014-05-22 Helge Pettersen, HUS (NO) 44 Quantitative method • Median NNPS value for each method (50% AUC above/below NNPS value) • Find % decrease in median value with increasing IR • Absolute value not interesting (to 1st order) 14% 2014-05-22 Helge Pettersen, HUS (NO) 45 NNPS results IR1 IR2 IR3 14% IR1 IR2 IR3 17% Scanner 1 • Medium NPS shift from changing IR strength (ca 15%) • Small effect from changing object type (14% vs 17%) 2014-05-22 Helge Pettersen, HUS (NO) 46 NNPS results IR1 IR2 IR3 IR1 IR2 IR3 6% 4% Scanner 2 • Small NPS shift from IR strength (ca 5 %) • Small effect from changing object (6 % vs 4 %) 2014-05-22 Helge Pettersen, HUS (NO) 47 NNPS results IR1 IR2 IR3 IR1 IR2 IR3 14% 6% Scanner 3 • Medium NPS shift from changing IR strength (10%) • Large effect of changing object type (6% vs 14%) 2014-05-22 Helge Pettersen, HUS (NO) 48 NNPS Compared IR1 IR2 Scanner 2 2014-05-22 IR3 IR1 IR2 IR3 Scanner 1 Helge Pettersen, HUS (NO) IR1 IR2 IR3 Scanner 3 49 So… What does the noise look like again? FBP Max IR Scanner 2 Scanner 1 Scanner 3 50 So… What does the noise look like again? FBP Max IR Scanner 2 Scanner 1 Scanner 3 51 Thank you! References: • • • • Funama Y, et al., Image quality assessment of an iterative reconstruction algorithm applied to abdominal CT imaging, Physica Medica (2014), http://dx.doi.org/10.1016/j.ejmp.2014.02.005 The Scientist and Engineer's Guide to Digital Signal Processing By Steven W. Smith Some Python code from Erlend Andersen: CTQA-CP https://code.google.com/p/ctqa-cp/ Rasband, W.S., ImageJ, U. S. National Institutes of Health, Bethesda, Maryland, USA, http://imagej.nih.gov/ij/, 1997-2014. 2014-05-22 Helge Pettersen, HUS (NO) 52 Backup slide #1 The absolute median NNPS values for different phantoms / scanners with FBP algorithm Scanner 2 2014-05-22 Scanner 1 Helge Pettersen, HUS (NO) Scanner 3 53 Backup slide #2: How else to treat images? • Use more ROIs within image, find average after • Better statistics With Without 2014-05-22 Helge Pettersen, HUS (NO) 54 Backup slide #3: How else to treat images? • Zero padding • Add a large number of zeros to the image matrix to give the FT «more to work with» – Higher resolution 2014-05-22 Helge Pettersen, HUS (NO) 55 Extra slides: Python code 2014-05-22 Helge Pettersen, HUS (NO) 63 Helper functions 2014-05-22 1/2 Helge Pettersen, HUS (NO) 64 Helper functions 2014-05-22 2/2 Helge Pettersen, HUS (NO) 65 Make average and subtraction images 1/4 66 2014-05-22 Helge Pettersen, HUS (NO) Make average and subtraction images 2/4 67 2014-05-22 Helge Pettersen, HUS (NO) Make average and subtraction images 3/4 68 2014-05-22 Helge Pettersen, HUS (NO) Make average and subtraction images 4/4 69 2014-05-22 Helge Pettersen, HUS (NO) Make NPS images 1/9 70 2014-05-22 Helge Pettersen, HUS (NO) Make NPS images 2/9 71 2014-05-22 Helge Pettersen, HUS (NO) Make NPS images 3/9 72 2014-05-22 Helge Pettersen, HUS (NO) Make NPS images 4/9 73 2014-05-22 Helge Pettersen, HUS (NO) Make NPS images 5/9 2014-05-22 74 Helge Pettersen, HUS (NO) Make NPS images 6/9 2014-05-22 75 Helge Pettersen, HUS (NO) Make NPS images 7/9 2014-05-22 76 Helge Pettersen, HUS (NO) Make NPS images 8/9 2014-05-22 77 Helge Pettersen, HUS (NO) Make NPS images 9/9 2014-05-22 78 Helge Pettersen, HUS (NO)