Analyse av bildestøy innen computertomografi

advertisement
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)
Download