Reference. State of the Practice for Medical Imaging Software Based on Open Source Repositories
We review the state of the practice for the development of medical imaging (MI) software based on data available in open-source repositories. We selected 29 projects from 48 candidates and assessed nine software qualities by answering 108 questions for each. Using the analytic hierarchy process (AHP) on the quantitative data, we ranked the MI software. The top five are 3D Slicer, ImageJ, Fiji, OHIF Viewer, and ParaView. This is consistent with the community’s view, with four of these also appearing in the top five using GitHub metrics (stars per year). The quality and quantity of documentation present in a project correlate quite well with its popularity. Generally, MI software is in a healthy state: in the repositories, we observed 88% of the documentation artifacts recommended by research software development guidelines, and 100% of MI projects use version control tools. However, the current state of the practice deviates from existing guidelines as some recommended artifacts are rarely present (such as a test plan, requirements’ specification, and code style guidelines), low usage of continuous integration (17% of the projects), low use of unit testing (~50% of projects), and room for improvement with documentation. From developer interviews, we identified seven concerns: lack of development time, lack of funding, technology hurdles, correctness, usability, maintainability, and reproducibility. We recommend increasing effort on documentation, increasing testing by enriching datasets, increasing continuous integration, moving to web applications, employing linters, using peer reviews, and designing for change.
Cite
Cites 109 works (1 here)
With notes (1)
State of the Practice for Lattice Boltzmann Method Software smith-2023-state
External (108)
- State of the practice for medical imaging software (arXiv version) (2024)
- Digging Deeper into the State of the Practice for Domain Specific Research Software (2022)
- A survey of the state of the practice for research software in the United States (2022)
- Thematic domain analysis for ocean modeling (2022)
- Online sustainability evaluation (2022)
- What is a linter and why your team should use it (2022)
- Methodology for assessing the state of the practice for domain X (2021)
- Software quality grades for mi software (2021)
- Scottish Covid-19 response consortium (2021)
- Assessing the state of the practice for medical imaging software (2021)
- State of the practice for lattice Boltzmann method software (2021)
- Open Health Imaging Foundation Viewer: An Extensible Open-Source Framework for Building Web-Based Imaging Applications to Support Cancer Research (2020)
- Top 25 best free medical imaging software for linux system (2020)
- EURISE network technical reference (2020)
- Free DICOM-Viewers for Veterinary Medicine (2019)
- Naming the Pain in Developing Scientific Software (2019)
- 16 best free linux medical imaging software (2019)
- 20 free & open source DICOM viewers for Windows (2019)
- USGS (United States Geological Survey) software planning checklist (2019)
- What makes research software sustainable? An interview study with research software engineers (2019)
- The liver tumor segmentation benchmark (lits) (2019)
- Seismology software: state of the practice (2018)
- A lightweight rapid application development framework for biomedical image analysis (2018)
- Categorizing the Content of GitHub README Files (2018)
- Software Engineering for Computational Science: Past, Present, Future (2018)
- Towards computational reproducibility: researcher perspectives on the use and sharing of software (2018)
- How do scientists develop scientific software? An external replication (2018)
- Modern code review (2018)
- Identifying, categorizing and mitigating threats to validity in software engineering secondary studies (2018)
- State of the practice for GIS software (2018)
- Statistical software for psychology: Comparing development practices between cran and other communities (2018)
- DLR software engineering guidelines (2018)
- xSDK community package policies (2018)
- Better (small) scientific software teams, tutorial in Argonne training program on extreme-scale computing (ATPESC) (2018)
- Beyond software carpentry (2018)
- Recommendations on the development, use and provision of Research Software (2018)
- Bridging the Chasm (2017)
- Evaluation of Open Source Medical Imaging Software: A Case Study on Health Technology Student Learning Experience (2017)
- ImageJ2: ImageJ for the next generation of scientific image data (2017)
- Good enough practices in scientific computing (2017)
- Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices (2017)
- ChestX-Ray8: Hospital-Scale Chest X-Ray Database and Benchmarks on Weakly-Supervised Classification and Localization of Common Thorax Diseases (2017)
- The public cancer radiology imaging collections of The Cancer Imaging Archive (2017)
- Don't judge a project by its GitHub stars alone (2017)
- A set of common software quality assurance baseline criteria for research projects (2017)
- A Roadmap for HEP Software and Computing R&D for the 2020s (2017)
- State of the practice for mesh generation and mesh processing software (2016)
- Fast Realistic MRI Simulations Based on Generalized Multi-Pool Exchange Tissue Model (2016)
- Software Citation Principles (2016)
- More Common Than You Think: An In-depth Study of Casual Contributors (2016)
- Guidelines for software quality, CLARIAH task force 54.100 (2016)
- A rational document driven design process for scientific computing software (2016)
- State of practice for mesh generation software (2016)
- A Survey of DICOM Viewer Software to Integrate Clinical Research and Medical Imaging (2015)
- InVesalius: An Interactive Rendering Framework for Health Care Support (2015)
- A Document-Driven Method for Certifying Scientific Computing Software for Use in Nuclear Safety Analysis (2015)
- Claims about the use of software engineering practices in science: A systematic literature review (2015)
- Scientific software development viewed as knowledge acquisition: Towards understanding the development of risk-averse scientific software (2015)
- Software in the scientific literature: Problems with seeing, finding, and using software mentioned in the biology literature (2015)
- Notes from 'How to grow a sustainable software development process (for scientific software)' (2015)
- How to open source your Python library (2015)
- Better Software, Better Research (2014)
- The Multimodal Brain Tumor Image Segmentation Benchmark (BRATS) (2014)
- Best Practices for Scientific Computing (2014)
- Can anyone suggest free software for medical images segmentation and volume (2014)
- Medpix medical image database (2014)
- 3D Slicer: A Platform for Subject-Specific Image Analysis, Visualization, and Clinical Support (2013)
- Slice:drop (2013)
- Industrial scientific software: A set of interviews on software development (2013)
- Drishti: a volume exploration and presentation tool (2012)
- Fiji: an open-source platform for biological-image analysis (2012)
- DicomBrowser: Software for Viewing and Modifying DICOM Metadata (2012)
- Technical Debt: From Metaphor to Theory and Practice (2012)
- Medinria: DT-MRI processing and visualization software (2012)
- Quality and sustainability of software tools in neuroscience (2012)
- A survey of the practice of computational science (2011)
- Gwyddion: an open-source software for SPM data analysis (2011)
- Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models (ISO/IEC 25010) (2011)
- SU-GG-T-260: Dicompyler: An Open Source Radiation Therapy Research Platform with a Plugin Architecture (2010)
- A survey of scientific software development (2010)
- Continuous delivery: Reliable software releases through build, test, and deployment automation (2010)
- How do scientists develop and use scientific software? (2009)
- Scientific Computing's Productivity Gridlock: How Software Engineering Can Help (2009)
- Engineering the Software for Understanding Climate Change (2009)
- Embedded Software: Facts, Figures, and Future (2009)
- Dealing with Risk in Scientific Software Development (2008)
- Developing Scientific Software (2008)
- Scientific Software Development at a Research Facility (2008)
- Guidelines for conducting and reporting case study research in software engineering (2008)
- Trilinos developers guide part II: ASC softwar quality engineering practices version 2.0 (2008)
- Measuring defect potentials and defect removal efficiency (2008)
- Software Development Environments for Scientific and Engineering Software: A Series of Case Studies (2007)
- User-guided 3D active contour segmentation of anatomical structures: Significantly improved efficiency and reliability (2006)
- Requirements Analysis for Engineering Computation: A Systematic Approach for Improving Reliability (2006)
- Where's the Real Bottleneck in Scientific Computing? (2006)
- ParaView: An End-User Tool for Large-Data Visualization (2005)
- BioImage Suite: An integrated medical image analysis suite (2005)
- When Software Engineers Met Research Scientists: A Case Study (2005)
- Analytic hierarchy process: An overview of applications (2004)
- GATE: a simulation toolkit for PET and SPECT (2004)
- How software engineers use documentation: the state of the practice (2003)
- Fundamentals of software engineering (2003)
- XMedCon-An opensource medical image conversion toolkit (2003)
- Task-directed software inspection technique: An experiment and case study (2000)
- Software engineering (2nd ed.): Principles and practice (2000)
- How to make a decision: The analytic hierarchy process (1990)
- A rational design process: How and why to fake it (1986)
- On the criteria to be used in decomposing systems into modules (1972)