State of the Practice for Medical Imaging Software

W. Spencer Smith,Ao Dong,Jacques Carette,Michael D. Noseworthy
2024-05-21
Abstract:We selected 29 medical imaging projects from 48 candidates, assessed 10 software qualities by answering 108 questions for each software project, and interviewed 8 of the 29 development teams. Based on the quantitative data, we ranked the MI software with the Analytic Hierarchy Process (AHP). The four top-ranked software products are 3D Slicer, ImageJ, Fiji, and OHIF Viewer. Generally, MI software is in a healthy state as shown by the following: we observed 88% of the documentation artifacts recommended by research software development guidelines, 100% of MI projects use version control tools, and developers appear to use the common quasi-agile research software development process. However, the current state of the practice deviates from the existing guidelines because of the rarity of some recommended artifacts, low usage of continuous integration (17% of the projects), low use of unit testing (about 50% of projects), and room for improvement with documentation (six of nine developers felt their documentation was not clear enough). From interviewing the developers, we identified five pain points and two qualities of potential concern: lack of development time, lack of funding, technology hurdles, ensuring correctness, usability, maintainability, and reproducibility. The interviewees proposed strategies to improve the state of the practice, to address the identified pain points, and to improve software quality. Combining their ideas with ours, we have the following list of recommendations: increase documentation, increase testing by enriching datasets, increase continuous integration usage, move to web applications, employ linters, use peer reviews, design for change, add assurance cases, and incorporate a "Generate All Things" approach.
Software Engineering,Computer Vision and Pattern Recognition
What problem does this paper attempt to address?
The main problem that this paper attempts to solve is to evaluate and understand the current status of the development practice of Medical Imaging (MI) software. Specifically, the researchers hope to solve the problem in the following aspects: 1. **Evaluating the quality of existing MI software**: By selecting 29 medical imaging projects and evaluating their performance in 10 software quality aspects (such as installability, correctness/verifiability, reliability, robustness, usability, maintainability, reusability, understandability, transparency, and repeatability), in order to understand the advantages and disadvantages of these software in practical applications. 2. **Comparing the popularity and quality rankings of different projects**: Based on quantitative data, use the Analytic Hierarchy Process (AHP) to rank MI software and compare it with the community rankings to verify whether the evaluation results are consistent. 3. **Identifying pain points in the current development process**: Through interviews with 8 development teams, find out the main problems encountered by developers in the development process, such as lack of development time, insufficient funds, and technical barriers, and put forward improvement suggestions. 4. **Providing guidance and suggestions for future development**: According to the evaluation results and developer feedback, propose a series of improvement measures, including adding documentation, enriching test data sets, increasing the usage rate of continuous integration, turning to web applications, and introducing code review mechanisms, etc., in order to improve the overall quality and development efficiency of MI software. ### Research Background Medical imaging tools obtain internal images of the human body by using imaging techniques such as MRI, CT, PET, and ultrasound, providing important information for diagnosis, analysis, and medical applications. However, although there are many competing MI software projects, the advantages and disadvantages of their development processes, tools, and methodologies are not clear. Therefore, this paper aims to evaluate the quality of existing MI software from the perspective of software engineering, highlight excellent cases, understand current problems, and provide guidelines for future development. ### Method Overview The researchers designed a general method to evaluate the practical state of research software. The specific steps include: 1. **Identifying representative software packages**: Initially screen out 48 candidate projects from literature, online articles, and forum discussions, and then filter to obtain 29 final evaluation objects. 2. **Measuring or scoring selected software**: Use an evaluation template with 108 questions to score each software, covering 9 main quality attributes. 3. **Interviewing developers**: Through interviews with some development teams, gain in - depth understanding of their development processes and problems encountered. 4. **Answering research questions**: Based on the collected data and analysis, answer pre - set research questions to fully understand the current development status of MI software. Through this method, the researchers can not only evaluate the quality of MI software, but also provide valuable insights for improving development practices.