2013 Summer Project Week:Dynamically Configurable Quality Assurance Module for Large Huntington's Disease Database Frontend
Back to Summer project week Agenda
Key Investigators
- UIowa: Dave Welch, Hans Johnson
- Kitware: JC Fillion-Robin
- Isomics: Steve Pieper
- BWH: Andrey Fedorov
Objective
QA evaluation of derived images for large population studies is vital to ensure study results are accurate and relevant. We will create a Slicer module capable of querying a database of associated derived volumes and label maps from our AutoWorkup pipeline for interactive QA evaluation.
We will also minimize duplication of QA efforts through database management within the module, allowing multiple Slicer instances on a network to evaluate our results by subject without repetition or conflict. In addition, we will optimize the evaluator's time through process schemes like pre-loading of batched data.
Approach, Plan
We will use the Python scripting capabilities to create a loadable module for Slicer that is able to query a database. We will take advantage of QT Designer to streamline our UI development and test on a copied version of our network hierarchy. In order to normalize our QA across evaluators, we will control the slice views from the module and expose only the necessary volumes and label nodes to the users.
Progress
We have successfully generated a robust GUI via configuration files ONLY. In addition, we have laid out the configuration file to describe a database to the GUI backend.
Our module requires at least three configuration files (INI-compliant):
1) qualityassurance.cfg: describes the available modules within this module
For each defined module:
2) GUI configuration file: describes the GUI layout and logic
3) database configuration file: describes the database schema
We currently support Postgres SQL and the design is intended for easy extension to other SQL flavors. Excel interaction would be desirable, but we don't support it currently.
TODO:
- dynamic definition of logic functions
- more integration of CompareVolumes
- support for QButtonGroup?
Delivery Mechanism
This work will be delivered to the NA-MIC Kit as a (please select the appropriate options by noting YES against them below)
- ITK Module
- Slicer Module (Yes)
- Built-in
- Extension -- commandline
- Extension -- loadable
- Other (Please specify)