This repository contains the code accompanying our MICCAI 2017 paper "SD-Layer: Stain Deconvolutional Layer for CNNs in Medical Microscopic Imaging". The following figure (borrowed from our paper) illustrates the architecture of SD-Layer.
Citing this code
If you find this code useful in your research, please consider citing:
Duggal R., Gupta A., Gupta R., Mallick P. (2017) SD-Layer: Stain Deconvolutional Layer for CNNs in Medical Microscopic Imaging. In: Descoteaux M., Maier-Hein L., Franz A., Jannin P., Collins D., Duchesne S. (eds) Medical Image Computing and Computer-Assisted Intervention − MICCAI 2017. MICCAI 2017. Lecture Notes in Computer Science, vol 10435. Springer, Cham
To run this code, you will require the following softwares.
- Anaconda (for python ver 2.7 ) - A package of useful python libraries
- Keras (ver 1.2.1) - A high level neural network library written in python.
- Theano (ver 0.9.0) - A python library to efficiently evaluate mathematical expressions on GPU.
- To train AlexNet or Texture-CNN models  prefitted with SD-Layer, follow the code within
- The implementation of SD-Layer resides in
- The implementation of SVD based color deconvolution resides in
Code/Train/macenko.py. Please refer to  for the method details.
- The implementation of Energy layer resides in
Code/Train/energyPool.py. Please refer to  for details.
 Andrearczyk, Vincent, and Paul F. Whelan. "Using filter banks in convolutional neural networks for texture classification." Pattern Recognition Letters 84 (2016): 63-69.
 Macenko, Marc, et al. "A method for normalizing histology slides for quantitative analysis." Biomedical Imaging: From Nano to Macro, 2009. ISBI'09. IEEE International Symposium on. IEEE, 2009.
For any assistance with the code or for reporting errors, please get in touch at rahulduggal2608 [at] gmail [dot] com.
This code is released under the MIT License (refer to the LICENSE file for details).