In [30]:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn
from matplotlib import rcParams
rcParams["figure.figsize"] = (14, 8)
rcParams["xtick.labelsize"] = 12
rcParams["ytick.labelsize"] = 12
rcParams["font.size"] = 14
rcParams["axes.titlesize"] = 16
#rcParams["text.usetex"] = False
rcParams["font.family"] = "Serif"
rcParams["figure.dpi"] = 600


a = pd.read_csv("../data/villagebay_population.csv")
b = pd.read_csv("../data/exposure.csv")

fig, (ax, ax2) = plt.subplots(2, 1, sharex=True)

#ax = plt.subplot(211)
ax.plot(a.Year, a.VillageBay, c=seaborn.color_palette("deep", 8)[0], lw=3)
ax.scatter(a.Year, a.VillageBay, c=seaborn.color_palette("deep", 8)[0], s=50)
ax.set_title("Village Bay Population")
ax.set_ylim([180, 700])


#ax2 = plt.subplot(212, sharex=ax)

ax2.plot(b.BirthYear, b.AvgOfLambWS, c=seaborn.color_palette("deep", 8)[2], lw=3)
ax2.scatter(b.BirthYear, b.AvgOfLambWS, c=seaborn.color_palette("deep", 8)[2], s=50)
ax2.set_title("Lamb Winter Survival")
ax2.set_xlim([1984.5, 2013.5])
ax2.set_ylim([0, 0.8])

plt.savefig("figures/population2.jpg", dpi=300, jpeg_quality=100)

Robust Extraction of Quantitative Information from Histology Images

Quentin Caudron

The Soay Sheep

Outline

  • Methods and data collection
  • Image processing
  • Extracted measures
  • Preliminary analysis
  • Future directions

Data

In the field, winter of 2011 - 2012 :

  • Daily study area monitoring for deaths
  • 143 liver samples collected within a day of death

In the lab :

  • Sectioning after paraffin treatment
  • H&E staining of about 1000 slides

Analysis :

  • Pathology standard : semi-quantitative scoring
  • Image processing

The Field ©

Sweat-and-blood-collected in cold, cold Scotland.

Eight physical measurements :

  • Age at death
  • Weight
  • Sex
  • Limb length
  • Environmental "stress"

Clinical Pathology

Operator-driven visual analysis of 98 slides under microscopy.

Eleven discrete and continuous measures :

  • Inflammation
  • Necrosis
  • Apoptosis
  • Hyperplasia
  • Fibrosis
  • Hepatitis

Image Processing

Automated analysis of 4430 images of slides representing 143 sheep.

Seven structural and textural measures with varying levels of biological interpretation :

  • Inflammation
  • Hyperplasia / tissue density
  • Best-guess proxies for "generic degeneration"

Image Processing

The Challenge

Information extraction must be

  • automagical - no operator input
  • reasonably quick - restricted computing time
  • robust - invariant to slicing, staining, field-related variation
  • unbiased - same algorithms for everyone

image

image

image

image

Structural and Textural Measures

  • characteristic scale of sinusoid widths
  • directional amplitude of preferred sinusoid alignment
  • tissue to sinusoid ratio
  • count of inflammatory foci per image
  • mean size of inflammatory foci per image
  • information entropy of sinusoid distribution
  • lacunarity ( clustering ) of sinusoids

image

image

Exploratory Analysis

by individual

Exploratory Analysis

controlled for age / cohort

Further analysis

Age or cohort effect ?

Conclusions

  • our image measures capture relevant and useful information
  • a number of correlations can be explained biologically
  • underlying structure in the data needs thought
  • still no map from image or histological measures to condition of individual

Future directions

Further exploration of the dataset

  • 145 sheep ( 89 females )
  • 12 age classes
  • potential redundancy in various measures
  • 4460 entries across 27 variables
  • 3330 with full image and histological information
  • 1196 for which complete information is available

More data

  • nutritional information
  • immunity data

Narrow-field images

  • 12536 images
  • spatial distribution of nuclei

image

image

image

With thanks to

Romain Garnier

Andrea Graham

Tawfik Aboellail (CSU)

Bryan Grenfell