User's Guide of QuickQC
Sam Shen
Last Update: 17 Aug 2009

Introduction: 
QuickQC is a tool to calculate some basic medical physics parameters for digital mammogram. It typically takes the digital mammography images in the DICOM format, display it, then allow user to select task to perform and specify region of interest, and calculate the parameters. Because of the objective of calculation, the program emphasizes the accuracy of the measurement rather than the image display/navigation. When the user is familiar with the underlining medical physics principles, the program will be more intuitive. It is good for the user to understand the basic flow of the use. There are 3 major steps for any calculations: 1) image input; 2) feature selection and ROI definition; 3) calculation and reporting results. The rest of this user guide will give more detail of the each step. Also, as a rule-of-thumb, at any window of the program, you can right-click the mouse and select the "Help (output to log)" menu item to dump the online help into the log window.

The graphic user interface(GUI) is designed to have one main view window, accompanied with multiple accessory windows such as "Log", "Windowing", "DICOMDIR", "Image List", and "Calculation Results" window. These accessory windows use the docking window style and can be move around inside or outside of the main frame. They can also be turned on or off by checking the related menu item under "View". The data remains intact when a window is off.

The "Log" window is actually an edit box window. You can highlight, copy, paste, and delete text in it. User can clean this window by delete the unwanted text.

The "Windowing" window provide sliders to adjust window and leveling of the image display. The user can also adjust the window/level by specifying a region of interest. To do that, one can uncheck all features and click-drag-release a rectangle in the main view. The new window and leveling will be set to include the max and min pixel values in the display window width.

The "Image List" window is for the image navigation, DICOM dump, and removal.

The "DICOMDIR" window displays a DICOMDIR file in a tree structure. User can import the selected images from the underlining DICOM media. 

The "Calculation Results" window displays plotting results of MTF, NPS calculation. It also allows user to export the tabulated result into the "Log" window.

There is an subtle tool at the left-lower corner of the program, showing the current cursor position in the view with x, y, and pixel value.

Step 1: Importing DICOM images
There three way to import DICOM images with QuickQC: 1) open the file directly from the open file dialog box. This is very straight-forward and there is no need to further explain. 2) Importing images from DICOMDIR. This is most likely to happen when a physicist finishes a site visit and comes back with a DICOMDIR CD burnt on either an acquisition workstation(AWS) or a reveiw workstation(RWS). 3) Importing images through the built-in DICOM CStoreSCP server. This is more likely to happen when the images are managed by a central archive. User can query and retrieve (CMove) images from the DICOM server. You need to turn on the built-in server in the "File" menu. You also need a DICOM query/retrieve tool. In the Yaffe Lab, you can use NewView2.

When you open DICOM images from DICOMDIR media, you can open the DICOMDIR file either from main menu "File|Open" or right-click in the "DICOMDIR" window and select "Open DICOMDIR file" menu. You will see a tree structure showing patient/study/study/image levels of informations. User can browse each level's information with the tooltip by flying over the tree nodes. User can click on the appropriate node and then right-click to select "Add all images under this node" to load all the images under this node. User should know how many images his computer can handle. In a very special case that the DICOMDIR CD is from a new vendor, user should copy all the files to the local hard drive before he use the DICOMDIR. This is to allow QuickQC to report the critical report when it encounters a crash. This report can not be written to a CD.

You can also "Open DICOMDIR on fly", so that QuickQC goes through all the files in the folder and subfolders and organizes all the DICOM files into a tree structure similar to a DICOMDIR. This procedure is relatively quick because QuickQC looks at the header part of the image file. It also reports more information than a typical DICOMDIR.

The images imported are stored in the buffer of the program. They are shown in the window of "Image List". If you have many images, or each image is large, you must pay attention to the RAM use with your computer. It may slow you down significantly. The no-further-use images should be removed from the "Image List". You can highlight the images that you want to delete, then right-click in the "Image List" window and select "Remove selected images" menu item. Or you can simply select the "Remove all images" to cleanup the buffer.

The image navigation is all done in the "Image List" window. When you double-click on an image, this image will be displayed in the view, and highlighted in the "Image List" window. A red color highlight is the current image being displayed. If you single-click on an image, this image will be highlighted with blue color. If it happens to be the image being displayed (was red), it will be mixed to be green. You can also move the image up in the list. That helps to do calculation in a batch.

Step 2: Picking a task and Specifying ROIs for it
The tasks QuickQC to carry out are MTF, NPS, SNR, SDNR and angle/length measurement. They can be selected with buttons in the main frame's toolbar. User should display the image that he would like to do the calculation on in the main frame view. Then click on the relevant button on the toolbar.

Once QuickQC is in a specific task, the default ROIs will be displayed over the image. Or the previous ROIs for the same "station name" (also magnification in case of MTF) are recalled from the registry. To recall the stored ROIs, you can remove all the current ROIs, then turn off and turn back on the MTF button. User can modify the ROIs by moving, deleting, or changing the specification of the ROIs. Moving one ROI, you can click-hold-drag-release it. If you would like to move them all, you need to hold the Ctrl key when you move them. To remove a ROI, you either right-click over the image and select  a appropriate menu item. For SNR and SDNR, you can do it by specifiying another number of ROIs in the specification dialogue box. You can also change the size of the ROI in the same dialogue box.

Step3: Calculation and Result export
To calculate, user can right-click and select "Calculate" menu item. For SNR and SDNR, the results are reported in the "Log" window, also a formatted copy hidden in the clipboard ready to be pasted to the worksheet. For MTF and NPS, the results are plotted in the "Calculation Results" window. User can export this result in text format to "Log" window by selecting "Report MTF results in the Log window" menu item.

Technical Notes:
1. Some dll files are required to run the program. They are usually associated with certain version of Microsoft Visual C++ version. For example, to run the build compiled by VC2008, you need to have msvc(m,p,r)90.dll files.

2. MTF calculation is programmed to run in a multithreading scheme. Each ROI is processed in a new thread. If you have a multicore or multiprocessor computer, you may see higher performance.