GithubHelp home page GithubHelp logo

deepmd-cancer / glass-ai Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jlockhar/glass-ai

0.0 0.0 0.0 427 KB

Machine learning tool for analysis of lung adenocarcinoma tumors

License: Other

MATLAB 100.00%

glass-ai's Introduction

GLASS-AI: Grading of Lung Adenocarcinoma with Simultaneous Segmentation by an Artificial Intelligence

Preclinical mouse models of lung adenocarcinoma are invaluable for the discovery of molecular drivers of tumor formation, progression, and therapeutic resistance. Histological analyses of these preclinical models require significant investments of time and training to ensure accuracy and consistency. Analysis by a clinical pathologist is the gold standard in this approach, but may be difficult to obtain due to the cost and availability of their services. As an alternative we have developed a digital pathology tool to identify, segment, grade, and analyze tumors in mouse models of lung adenocarcinoma.

GLASS-AI was developed using MATLAB v2021a using the Image Processing v11.3, Deep Learning v14.2, Computer Vision 10.0, and Parallel Computing v7.4 Toolboxes. MATLAB is not a free software, but it does allow us to compile our code to standalone application/executable for distribution using the MATLAB Compiler v8.2. The code within these standalone applications is automatically obfuscated by MATLAB. The uncompiled code used to build these applications is provided in the GLASS_AI_APP.m file.

GLASS-AI is based on the ResNet-18 Network. The program accepts hematoxylin and eosin (H&E)-stained images or digitial whole slide images and outputs tumor semgentation and grading maps with accompanying spreadsheets. We trained GLASS-AI using 36 H&E-stained whole slide images from 4 different mouse models of lung adenocarcinoma. Our whole slide images were captured using a Leica Aperio ScanScope AT2 Slide Scanner at 20x magnification with a resolution of 0.502 microns/pixel. These slides were divided among and graded by 3 expert raters to produce a training data set with 36,000 annotated image patches.

GLASS-AI Network Architecture Layout of the GLASS-AI network.

GLASS-AI Training Data Training data use for GLASS-AI.

Installation

Download and run the installer for your operating system here or Right click > Save Link As... on the link your operating system here: Mac | Windows. Installers are hosted by Moffitt Cancer Center due to their large file size.

Each installer will also install a copy of the MATLAB Runtime that is required to run the program without a pre-existing copy of MATLAB (and requisite toolboxes).

You can also use the GLASS_AI_APP.m files in this repository if you have the required MATLAB version and toolboxes (described above). You will also need to download the pre-trained GLASS-AI neural network from here as the file is too large to host on GitHub.

A set of demo images is also included in the installers (see Benchmarking section below). Should you need to redownload the images, they are available as a .zip file here.

Installation time should be approximately 5 minutes.

Usage

GLASS-AI accepts SVS or TIF files as input. These images should be captured at 20x magnfication with a 0.502 microns/pixel resolution for best results. The steps for successfully running GLASS-AI are written in the graphic user interface (GUI), but they are as follows:

  1. Click Browse button to navigate to directory containing the images you want to analyze.
    • The software will populate the File Name table with any .svs, .tif, or .tiff files it finds in the selected directory.
  2. Click Output folder button to navigate to directory where you would like the output images and spreadsheets to be deposited.
  3. Select file(s) that you want to analyze from the File Name table.
  4. Change any analysis options you wish to adjust.
    • Tooltips for each option are shown if you hover your mouse over them.
    • Depending on the memory available on your computer and the input image size, GLASS-AI may automatically enable "Low Memory Mode".
    • The results reported in [Lockhart et al. 2022](add a link when paper is published) were generated using the values set by default.
  5. Click Run and wait for results
    • The Run button will not be enabled until Steps 1 - 3 are completed (indicated by green lights)
    • The program will provide status updates at each step of the analysis to give you an idea of how far along it is.
    • GLASS-AI will attempt to use your GPU to perform analysis before resorting to using the CPU. Using a GPU is much faster, but requires specific Nvidia hardware and CUDA drivers.
      • GPU acceleration is not available on Mac OS.
    • The "Analyzing Images" step is by far the longest. The status will update for each analysis block. A dialog window will show you the progress on the current block with an estimated time to completion.

Benchmarking

A set of H&E images of various sizes are included in each distribution of GLASS-AI in the Demo Data folder. Should you need to redownload the images, they are available as a .zip file here.

It is recommended that you try running GLASS-AI on some of these files before using your own data. Not only will this tell you if the installation worked correctly, but it will also allow you to benchmark the performance of GLASS-AI on your computer. Prior to distirbution GLASS-AI was tested on a few different systems using the default analysis options, and the results from these tests are provided below along with the hardware specifications of each computer.

Image Name Image Size PC 1 Time PC 2 Time Mac 1 Time Mac 2 Time
10patch.tif 1112x1112µm 00:00:25 00:00:23 00:00:26 00:00:32
20patch.tif 2224x2224µm 00:01:18 00:00:54 00:01:07 00:01:20
40patch.tif 4448x4448µm 00:06:26 00:02:37 00:04:30 00:05:25
xxsmall.tif 1500x1500µm 00:00:45 00:00:28 00:00:57 00:00:39
xsmall.tif 3480x3480µm 00:03:40 00:01:52 00:02:36 00:03:15
small.tif 6746x6746µm 00:14:25 00:07:03 00:09:39 00:12:05
medium.tif 8987x9726µm 00:27:44 00:13:54 00:20:59 00:25:23
slide.svs 25000x23813µm 02:18:48
(low memory mode)
03:10:43
Computer Name Operating System CPU GPU Memory Storage Type
PC 1 Windows 10 3.8Ghz 8-core AMD Ryzen 7 1700X AMD Radeon RX 580 GTS 8 GB (not used in testing) 16 GB SSD
PC 2 Windows 10 2.7GHz 28-core Intel Xeon® Gold 6258R NVIDIA QUADRO RTX 5000 16 GB 128 GB 1934 MHz SSD
Mac 1 (2019 Macbook Pro) MacOS 10.15.7 2.6GHz 6-core Intel Core i7 AMD Radeon Pro 5300 M 4 GB (not used in testing) 16 GB 2667 MHz DDR4 SSD
Mac 2 (2013 Mac Pro) MacOS 10.14.6 3.5GHz 6-core Intel Xeon E5 2x AMD FirePro D500 3 GB (not used in testing) 16 GB 1866 MHz DDR3 SSD

License

This software is for research use only—not for use in diagnostic procedures.

This software is provided under a MIT license, reproduced below.

If you use this code for your research please cite: [Lockhart et al. 2022](add a link when paper is published)


GLASS-AI Standalone App Use License

Copyright (c) 2021 Moffitt Cancer Center

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

glass-ai's People

Contributors

jlockhar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.