Skip to main content

Histopathological image analysis using Grad-CAM representation map

Project description

HipoMap

Powered by Paper

PyPI - Python Version PyPI PyPI - Downloads PyPI - License

HipoMap_Logic HipoMap_howtomakeHM

HipoMap is slide-based histopathology analysis framework in which a disease-specific graphical representation map is generated from each slide. Further, HipoMap, which is a small and fixed size, is introduced as input for machine-learning models instead of extremely large and variable size WSI. HipoMap is obtained using gradients of patch probability scores to represent disease-specific morphological patterns. Proposed HipoMap based whole slide analysis has outperformed current state-of-art whole slide analysis methods. We assessed the proposed method on Lung Cancer WSI images and interpreted the model based on class probability scores and HipoMap scores. A pathologist clinically verified the results of interpretation.

It provides:

  • a powerful ...
  • ...

Dependencies

OpenSlide

OpenSlide is a C library that provides a simple interface to read whole-slide images (also known as virtual slides). The current version is 3.4.1, released 2015-04-20.

For Linux (Fedora), you can install latest version of OpenSlide by running following commands from terminal:

$ dnf install openslide

For Linux (Debian, Ubuntu), you can install latest version of OpenSlide by running following commands from terminal:

$ apt-get install openslide-tools

For Linux (RHEL, CentOS), you can install latest version of OpenSlide by running following commands from terminal:

$ yum install epel-release
$ yum install openslide

For MacOSX, you can install latest version of OpenSlide by running following commands from terminal:

$ brew install openslide

For Window, you can install latest version of OpenSlide:

https://openslide.org/download/#windows-binaries

Installation

Latest PyPI stable release

PyPI PyPI - Downloads

pip install HipoMap

Dependencies+

PyPI - Python Version PyPI PyPI PyPI PyPI PyPI PyPI PyPI PyPI PyPI

Documentation

Quick Start

Generating Whole-Slide Image based representation map

# Model load

# If you want to loaded keras pre-trained model
from tensorflow.keras.applications.vgg16 import VGG16

model = VGG16()

# If you want to loaded your pre-trained model(.h5 file)
from tensorflow.keras.models import load_model

model = load_model(r'./pre_model.h5')

# Make representation map
from hipomap.core import generate_hipomap

generate_hipomap(inputpath="<path>/Dataset/", outputpath="<path>/Rep/", model=model,
                layer_name="block5_conv3", patch_size=(224, 224))

Drawing heatmap with representation map

# Draw heatmap
from hipomap.core import draw_represent

draw_represent(path="<path>/Dataset/", K=50, max_value=1000, save=False)

Classify to Cancer/Normal with representation map

In this step, you must have a baseline file(.csv) for dividing each representation map generated by train / validation / test set.

# Classify data to cancer/normal with representation map
from hipomap.core import HipoClass

hipo = HipoClass(K=50)

# 1. Split data with base(.csv) 
trainset, validset, testset = hipo.split("split.csv", dir_normal="<path>/Dataset/Normal/",
                                         dir_cancer="<path>/Dataset/Cancer")

# 2. Train the classifier
hipo_model = hipo.fit(trainset, validset, lr=0.1, epoch=20, batch_size=1)

# 3. Get prediction value
prediction = hipo.predict_with_test(test_X=testset[0])

# 4. Get score (tpr, fpr, auc)
tpr, mean_fpr, auc = hipo.evaluate_score(label=testset[1], prediction=prediction)

Generate Probmap with probability score

# Creating probability score array 
from hipomap.scoring import scoring_probmap

scoring_probmap(path_model="./pre_model.h5", path_data="./Dataset/Test/", path_save="./Result/prob_test/")

# Generating Probmap
from hipomap.probmap import generating_probmap

generating_probmap(path_data='./Dataset/Test/', path_prob='./Result/prob_test/', path_save='./Result/probmap')

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hipomap-1.0.2.tar.gz (24.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hipomap-1.0.2-py3-none-any.whl (56.0 kB view details)

Uploaded Python 3

File details

Details for the file hipomap-1.0.2.tar.gz.

File metadata

  • Download URL: hipomap-1.0.2.tar.gz
  • Upload date:
  • Size: 24.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.9

File hashes

Hashes for hipomap-1.0.2.tar.gz
Algorithm Hash digest
SHA256 258811a0327265b112b19555ab0f5dc05de9ffb36bee6448552d7f0669af9d49
MD5 33f5ae86b87af7b2ccb3353c721db160
BLAKE2b-256 5c4ac72dd26da0edab9ee6d131380ffd25df54dd1886b5741a1cd2e703da4652

See more details on using hashes here.

File details

Details for the file hipomap-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: hipomap-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 56.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.9

File hashes

Hashes for hipomap-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 05bf4e1d42a76850b24b65f88c5fd983ed0c8d9a66c74f22be1b50fc741882cc
MD5 a307092774285f52b8b25928a0e8e47b
BLAKE2b-256 510e0d8799199eabf20b993ab3b80b8fe5f0e85294e3fbad68c0a7d95229a76f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page