Open Source Contributions

Open source is an important driver of innovation in software development. We believe that progress towards better software – and ultimately better diagnostics and treatments – is a collaborative effort and Progenics and EXINI collaborate across both industry and academia where possible. On the medical device and software side, we benefit from many of the excellent open source initiatives available today. In response, it is therefore natural for us to share aspects of our work. Progenics and EXINI are committed to the open source community through the initiatives listed below.

slicebox

Safe and compliant handling of medical images is difficult. This becomes especially evident when sharing image data in networks of peers, such as hospitals, companies or academic institutions. slicebox was created to make this type of collaboration safe and efficient. slicebox is software that can be easily downloaded and installed. Medical images can be imported from any source such as files or a PACS system. Installations of slicebox at different sites can connect to each other and image data can be transmitted through these connections. De-identification of protected health information (PHI) is handled automatically by the system which guarantees that PHI is not inadvertently disseminated. slicebox is a very general service and it has many use cases. Besides pure transmission, it can be used as part of a medical device to handle storage and organization of image data, or as a proxy for safely sending anonymized data from PACS to another site.

dicom-streams

dicom-streams is a library for reading, writing and processing DICOM data. While there are many such libraries available, dicom-streams is different in that data is handled in a fully streaming fashion. Only small chunks of DICOM data is handled at a time which increases performance and makes server load more predictable. Further, the library implements back-pressure which means that the rate of incoming data is synchronized with downstream demand, avoiding build-up of cached data and higher memory consumption. Using dicom-streams in our products allows us to handle massive amounts of data concurrently with predictable resource management.