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

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 AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page