SciKit-Surgery, What's New?

Stephen Thompson Thomas Dowrick Mian Ahmad Matthew J. Clarkson
SeptembRSE 2021,

Abstract

Development of the SciKit-Surgery libraries began at the Wellcome/EPSRC Centre for Interventional and Surgical Sciences 3 years ago. The libraries are designed to support translational research in interventional medicine. Until March 2020 they were known as the SNAPPY libraries. We rebranded them at IPCAI 2020 to make it easier to find the libraries online.

The development goals and strategies for SciKit-Surgery were outlined in our 2020 paper. This poster outlines what progress we have made over the last 18 months and discusses some of the software engineering challenges we have faced.

We'll be continuing to update this poster during the course of SeptembRSE so please get in touch to let us know what you'd like to know about SciKit-Surgery, and keep coming back for more exciting content.

SciKit-Surgery Dashboard

Keeping the libraries small and independent has been helpful in terms of the maintainability of individual libraries, however it does make it difficult to keep track of all the different libraries. We therefore created the SciKit-Surgery dashboard which uses a set of scripts to help automate the process of finding and reporting on SciKit-Surgery libraries.

Code Base Analysis: Is SciKit-Surgery well tested and sustainable?

Based on the dashboard the majority of the libraries have some CI testing though coverage is not always high enough. In some cases this is due to the difficulty of implementing CI testing for libraries that interface with hardware, (eg. NDI tracking systems or ultrasound machines). In other cases it is simply down to a lack of enforced rigour in the development process.

We have started to investigate sntk's package health metrics and CodeClimate's maintainability metrics. We are still assessing the usefulness of these metrics. The maintainability metric provides an interesting insight, as although are alphanumeric scores are low (C's) the suggested time to fix any maintenance issues is usually less than a day. This is a function of the small size of most of the libraries.

Library Size: Is SciKit-Surgery compact?

Informal analysis of the size of the individual libraries indicates that most of them still fall below 2000 lines of code, which we aimed for in our original publication. Where libraries have started to grow beyond this limit we have split the library, for example SciKit-SurgeryCalibration was split from SciKit-SurgeryImage. This process can be done with minimal effort thanks to Python's robust package management systems.

We are in the process of implementing a line counting script into the SciKit-Surgery dashboard, to track the way the library sizes has changed over time.

Success Stories

SciKit-Surgery libraries have been used for research and translation including;

Our next aim is to expand our work in reproducible science and the software infrastructure required to support it. A key recent development in this area is SciKit-SurgeryChallenge which has been selected to evaluate the docker submissions and compile results for the FetReg 2021 challenge.

Measuring Impact

One difficultly with opensource software hosted on a public server is the difficulty knowing how many people are using your software and what they're using it for. Most of SciKit-Surgery is downloadable from PyPi.org so we can look at download statistics. However these are heavily skewed by downloads for CI testing. We can look at other metrics like the following;

None of the above are ideal. If you have any thoughts then please get in touch.

Strategies for Impact

Demonstrating impact through clinical applications is the ideal way to demonstrate the usefulness of the libraries. This has been difficult during the past 18 months due to the pandemic situation. We've been using SciKit-SurgeryBARD, SciKit-SurgeryFRED and SnappySonic for public engagement videos looking at the challenges of augmented reality in surgery and engaging with artists to explore image guided surgery with Minecraft.

SciKit-Surgery is also used extensively in our online courses in image guided surgery. By familiarising the researchers of the future with the software we hope to increase SciKit-Surgery's impact.

Future Directions

A key direction for future work is to further develop browser based user interfaces, implementing key algorithms as accessible backends. The goal is to enable researchers and clinicians to easily run specific applications from anywhere in the world using a web browser. SciKit-SurgeryDocker will form a key part of our infrastructure as we look for ways to maximise the impact of open and reproducible science in the operating theatre.

Get In Touch

Email s.thompson@ucl.ac.uk Create a discussion on GitHub.