Key Features
With the tool, the user can:
- Import a CT slice for analysis.
- Interactively select Regions of Interest (ROIs).
- Preview the ROIs.
- Automatically calculate the image quality parameters: Modulation Transfer Function (MTF), Noise Power Spectrum (NPS), Power Spectrum (PS), PS/MTF.
- Preview the scan and quality parameters in the browser, including class label prediction of image quality (Acceptable/Unacceptable image quality), confidence level, and graphs.
- Download the results.
System Requirements
The tool is web-based and does not have strict system requirements. The user only needs:
- A stable internet connection.
- Any web browser.
- Access to DICOM images.
Architecture Overview
- Front-End: Developed using HTML, CSS, and JavaScript frameworks.
- Back-End: Powered by Python (Django) and Octave for processing image data and calculating metrics.
User Guide
Inputs:
Files
Single slice DICOM image on which image quality assessment is to be performed.
ROI Size
Size of the ROIs in pixels (width == height). The default value is 18.
ROI1
Should contain the suitable anatomical structure/edge within a background on which the Fourier Modulation Transfer Function (MTF) metric is to be computed with preferably no infiltrating additional structures. Center coordinates (x,y).
ROI2
Should contain a homogeneous region (e.g., psoas muscle) preferably close to the target structure (ROI 1) for noise estimation using Fourier Noise Power Spectrum (NPS) metric. Center coordinates (x,y).
Functionality
For the best experience with the tool, the user should follow the steps below:
- Select one DICOM slice using the / button. The uploaded image will be displayed on the page, allowing the user to view and interact with it.
-
The user can interact with the image and retrieve pixel coordinates and HU value.
By clicking on a point in the image, the coordinates and HU value at that specific pixel will be displayed near the tag Selected Pixel Values.
-
The user should find suitable center points for the two regions of interest.
The coordinates are transferred to the input fields by pressing the and buttons under the Send the current coordinates to label.
Note: The coordinates can also be manually typed into the input fields. -
The user should enter the desired ROI Size. If no value is typed, the default value will be used.
The selected ROIs can be previewed on the original image by pressing the button. ROI1 will be shown as a red square and ROI2 as a blue square.
-
When the user is satisfied with the ROIs selected, the image quality calculation can be started by pressing the button.
-
An overview of the scan parameters and image quality results will be shown on the web page, along with the original image and relevant graphs.
The overview results can be downloaded as a text file by clicking the button.
The graphs should be manually downloaded (Right-click -> Save Image As...).
Technical details
Output: IQ and Scan Parameters
The summary results of the computation are displayed below the tag IQ and Scan Parameters:
- Contrast ROI1 - Provides the Root Mean Squared (RMS) contrast of ROI 1 containing anatomical structure/edge.
- Contrast ROI2 - Provides the Root Mean Squared (RMS) contrast of ROI 2 containing a homogeneous region.
- MTF area - Gives the Area Under the Curve (AUC) of the estimated MTF profile in ROI 1 containing anatomical structure/edge, providing an indication on the quality of detail representation.
- PS area - Gives the Area Under the Curve (AUC) of the estimated PS profile in ROI 1 containing anatomical structure/edge, providing an indication on the anatomical noise power magnitude.
- NPS area - Gives the Area Under the Curve (AUC) of the estimated NPS profile in ROI 2 containing a homogeneous region, providing an indication on the noise power magnitude.
- Manufacturer - Name of the CT device manufacturer, read from manufacturer attribute tag (0008,0070) of DICOM header.
- Model - Name of the CT device model, read from manufacturer's model name attribute tag (0008,1090) of DICOM header.
- ExposureTime - Time of X-ray exposure in msec, read from exposure time attribute tag (0018,1150) of DICOM header.
- Tube Current - X-ray tube current in mA, read from X-ray tube current attribute tag (0018,1151) of DICOM header.
- Window Width - Window width for display, read from window width attribute tag (0028,1051) of DICOM header.
- Window Center - Window center for display, read from window center attribute tag (0028,1050) of DICOM header.
- Predicted Label - Provides the predicted image quality classification label as 'Acceptable' or 'Unacceptable' based on objective image quality features computed on the input DICOM image. The tool uses multi-class Support Vector Classification, where \(k(k-1)/2\) classifiers are used (here \(k = 2\)), with each classifier training on data from two classes.
- Decision value/Estimate of probability - Gives an indication of the level of confidence in the predicted class label. The estimated large positive values suggest a high degree of confidence in the 'Acceptable' class label, while the estimated large negative values suggest a high degree of confidence in the 'Unacceptable' class label. Values close to the decision boundary, i.e., near zero values, suggest a low degree of confidence in the predicted classification.
Output: Downloading the Results
The results of the image quality assessment can be downloaded using the button. This downloads a text file named "results.txt". The following image quality parameters are computed and stored in the "results.txt" file:
- DICOM File Name - Provides the name of the input DICOM file (string scalar or character vector).
- [MTF] Mean area under MTF curve - Gives the area under the MTF curve calculated along the anatomical structure/edge contained in ROI 1, up to the Nyquist frequency.
- [PS] Pixel variance measured with var() - Gives the variance in ROI 1 containing anatomical structure/edge, calculated using the following expression: \[\mathrm{var()} = \frac{1}{N-1} \sum_{n=1}^{N} \left| X_n - \mu \right|^2; \qquad \mu = \frac{1}{N} \sum_{n=1}^{N} X_n; \qquad \mathbf{X}: \text{Random variable (pixels) of size} \ N \quad (1)\]
- [PS] Pixel variance measured with NPS() - Gives the variance in ROI 1 containing anatomical structure/edge. This value is calculated using integral of the radially averaged profile binned from pixels in isoradial contours of the calculated 2D NPS from ROI 1.
- [NPS] Pixel variance measured with var() - Gives the variance in ROI 2 containing a homogeneous region, calculated using expression (1).
- [NPS] Pixel variance measured with NPS() - Gives the variance in ROI 2 containing a homogeneous region. This value is calculated using integral of the radially averaged profile binned from pixels in isoradial contours of the calculated 2D NPS from ROI 2.
- [PS/MTF] LF/HF ratio of area under the curve - Gives the relative distribution, i.e., ratio of the area under the PS/MTF profile, between low-frequency (LF) and high-frequency (HF) components across the central frequency. Here, the PS/MTF profile is the ratio of the global frequency spectra representing anatomical noise power to the local frequency spectra representing high contrast resolution.
- [PS/MTF] Average slope of the curve - Gives the average of the approximate first derivative of the PS/MTF profile.
- [PS/MTF] Location of the maximum (as percentage of the Frequency axis) - Gives the approximate frequency location of the maximum amplitude of the PS/MTF profile in percentage of the frequency axis.
- Prediction label - Provides the predicted image quality classification label as 'Acceptable' or 'Unacceptable' based on objective image quality features computed on the input DICOM image. The tool uses multi-class Support Vector Classification, where \(k(k-1)/2\) classifiers are used (here \(k = 2\)), with each classifier training on data from two classes.
- Decision value/Estimate of probability - Gives an indication of the level of confidence in the predicted class label. The estimated large positive values suggest a high degree of confidence in the 'Acceptable' class label, while the estimated large negative values suggest a high degree of confidence in the 'Unacceptable' class label. Values close to the decision boundary, i.e., near zero values, suggest a low degree of confidence in the predicted classification.