Life Science software is critical in advancing medical research and improving patient care. EPAM has been developing several software solutions in this industry and MRI Viewer is one of them. It is used for visualizing medical images and creating 3D models based on them.
We had the opportunity to speak with the Solution Manager, Dmitrii Romanov, and ask him about various aspects of this software.
What is MRI Viewer and what can it be used for?
MRI Viewer is a web-based application that can show 2D medical images, such as MRI and CT scans, and create 3D models based on sets of 2D slices. Developed at the beginning as an online DICOM viewer software, it now supports NIfTI, KTX, and HDR formats as well and serves as a 3D medical image viewer.
MRI Viewer can be considered from two perspectives:
-
A lightweight application for rendering 3D medical images. In its basic form, MRI Viewer can be used as a visualizing tool with perfect UI for educational purposes or to help review and perform simple analyses of MRT and CT data.
-
A pre-created part of a more complex system. It can be used as a basis for the implementation of a specifically tailored application for the Life Science industry.
When we started working on the software, we investigated other 3D medical image viewers and tried to make our application better in some aspects, including a performance for convenient interactive observing of rendered 3D models and making it web-based.
What different methods of visualization are there? What is each of them suitable for?
Visualization is the main MRI Viewer feature. There are several visualization types or methods, and each of them is suitable for a particular purpose. Users may use any of the methods or combinations for their specific tasks.
2D Visualization is usually used to view raw data sections in different projections and to measure the linear and angular dimensions, and square of fragments of this data.
Isosurface Visualization is suitable for bones, skin surface, and segmented area visualization. This method is based on the search of intersection points between the rays corresponding to pixels and the isosurface. The user selects the level of the isosurface and the clipping plane position with sliders.
Volume Visualization is suitable for studying the initial data volume and the soft tissues visualization. It is possible to choose an area of interest by specifying the transfer function, transparency, and color. Users can define this function by adjusting parameters to get the image in the required form.
Max Intensity Projection (MIP) is used for the primary analysis of the initial data, as it does not require setting values of any parameters. This method is based on the computation of the maximum values for intensities of the original data along the rays passing through the pixels.
Segmented Data Visualization is a method aimed at highlighting a Region of Interest (ROI), for example, sections of the brain. It is not fully included in an open-source version of the software.
Who is MRI Viewer made for? Use Cases
As an online DICOM viewer and 3D medical image viewer, this product can be used in different ways: • for educational purposes in schools and universities • as a preview component built into medical-images-oriented web portals • as a set of pre-created feature blocks, including unique mathematic calculations (a part of complex systems covering medical imaging 3D visualization, including enterprise-level solutions) • for personal use by individuals
Use Case 1
A software development company is working on a proposal for a new medical information system for a clinic with distributed branches. One of the requirements is for the system to include 3D medical image viewer functionality that allows viewing DICOM and other formats generated on various MRT and CT equipment in different methods. MRI Viewer is a good option to reduce the proposal price, shorten the timeline, and suggest innovative ways like observing 3D medical images via VR.
Use Case 2
A patient got a CD from an MRT laboratory. Using MRI Viewer, they may show the data to another doctor, for example, and do this even at home where there is no special medical image viewer software. It can be useful also if the data is not exactly compatible with software that supports only one specific equipment output. Or the person may be just curious to view their internal organs.
Use Case 3
An innovative schoolteacher endeavors to involve pupils in the subject by stepping outside of the conventional curriculum. The teacher provides students with the opportunity to investigate the body and enlarge this experience via interactivity. This practice could be enriched with our other web-based product – Miew, which renders 3D visualization of molecules both on flat screens and via Virtual Reality headsets.
What are the main MRI Viewer benefits?
-
High Performance
Thanks to the lightweight 3D mode, the speed and smoothness of rendering images are the bright sides of MRI Viewer.
-
User-Friendly Interface
A completely new UI based on state-of-the-art UX approaches and visual solutions was released recently. It uses modern approaches and best practices in user interface creation. The new MRI Viewer UI helps users achieve their objectives efficiently and in a convenient way.
-
Web-Based
In comparison with desktop applications, the web-based nature of the product allows for: • raising the security level by means of keeping sensitive data within a protected data center • decreasing maintenance procedures with the application on users’ computers • simplifying cross-device usage on laptops and tablets, and integration in other web systems including websites, etc.
-
Customizable
While it is easy to use as is, MRI Viewer can exist as a part of more complex solutions. It can be used as a foundation for building a specific system in accordance with customers’ requirements. The team can collect the requirements, estimate, and provide some sort of resolution on the upcoming work.
-
Open-Source
MRI Viewer is an open-source product published at GitHub under Apache License 2.0. Being a permissive license, its main conditions require the preservation of copyright and license notices. This means that most MRI Viewer features are available free of charge. Users can benefit as the open-source community brings more resources for development purposes and provide feedback. It helps faster implement new functionalities and keeps the product up to date. At the same time, as previously stated, our team can provide further paid services to customize the product to meet specific needs.
-
Minimum System Requirements
MRI Viewer can provide users with real-time 3D medical image visualization on an ordinary office laptop with an integrated display adapter. A fast-rendering mode in the application allows for decreasing the workload on the CPU and GPU. The computer needs network/internet access. It works in each browser, but the focus in further development is on the latest Google Chrome, Microsoft Edge and Mozilla Firefox, and Safari.
How does MRI Viewer work (in simple terms)?
MRI Viewer can decode data from MRT or CT machines providing people with human-readable images. It is based on an optimized version of the ray-casting algorithm which is used for 3D visualization. Each DICOM file contains a set of images. The algorithm builds 3D visualization and provides a wide range of tooling. It is rendered with WebGL technology that makes it possible to use 3D computer graphics in a web browser.
Main challenges in the development
Real-time rendering on weak graphic cards
One of the ideas distinguishing this open-source 3D medical image viewer was an intention to ensure real-time rendering on weak graphic cards. That is why the development team went two ways simultaneously - paid attention to this from the algorithmic side and implemented a special lightweight 3D fast rendering option.
Data format types
Ideally, universal medical imaging 3D visualization software should be able to work with different formats of the data and even understand subtypes within a format. It is still a complex task to find public datasets in different variations, test the product with them, and make improvements if needed. Speaking about enterprise usage of this medical image viewer software, this issue is not a blocker, because companies in most cases use a limited set of equipment that generates specific data.
ML training
The lack of freely available marked-up datasets for training ML segmentation models is also an area in which the team faces challenges.
Mobile devices adaptation
From a technical perspective, the improvements in terms of adaptation for mobile devices were made and it was not a straightforward task and had its own challenges.
Open-source contributors
This is one of the aspects where there is a potential for growth. Regarding technical specialists, we welcome 3D computer graphics/WebGL and ReactJS software developers, test engineers, and others who might be helpful for product development and promotion.
How does the software ensure medical images and data privacy and security?
As an online application, MRI Viewer allows for keeping sensitive data within the protected data center. It is not necessary to download data on a user’s computer which reduces the risks of compromising data. Also, we do not store any data on our side about the clients, users, or medical conditions. But the best approach is a comprehensive understanding of requirements and circumstances, and launching a full-flagged project aimed specifically at the particular case, taking into account questions of performance, durability, data collecting and storage, proper infrastructure, and other security aspects.
What kind of support and resources are available for users?
MRI Viewer lives on GitHub. The code is there. Also, there are ways to report bugs and suggest improvements in accordance with GitHub functionality. There is a core team comprised of a development team lead and team members who care about the product definition and organizational questions including internal and external communications and activities. The project is open to external contributors also.
On top of that, when there is a need for specific improvements or custom requirements implementation, that a company might have, it is possible to introduce a separate full-time development team to reach desired goals. Those interested in deeper collaboration around MRI Viewer or in mutually beneficial commercial cooperation may request the solution here at SolutionsHub.
OPEN SOURCE
MRI Viewer
Online medical 2D/3D viewer and editor
MRI Viewer further development
There is a backlog that includes improvements and new features. Any feedback that may spark new ideas and requirements is also welcome. There are a lot of ways to move this tool further. It could include VR, AI, and other bleeding-edge technologies.
For example, one of the functionalities that the development team will be working on in the nearest future is using digital signatures for medical data to be sure that data was not intentionally changed to tamper with a diagnosis, for instance.
Conclusion
MRI Viewer is an open-source software tool that operates on a web-based platform and can generate 3D models of different body parts. Initially developed as a DICOM viewer, it can now work with plane images in other file formats such as NIfTI, HDR, and KTX. This innovative software solution enables users to access both 2D and 3D views through a web browser, without requiring any software installations.
As you can see here at solutionshub.epam.com and at github.com/epam, there are numerous other solutions published as open source. Speaking about Life Sciences, there is a bunch of products that are actively being used by communities and customers. Some of those products are built as a part of more complex systems, and some of them are used on their own. The most popular EPAM open-source Life Science solutions include Cloud Pipeline, New Genome Browser, Ketcher, Indigo, and Miew. All of them can be further customized and improved to meet specific needs.