In [1]:
%pylab inline
font = {'family' : 'normal',
        'weight' : 'normal',
        'size'   : 24}

pylab.rc('font', **font)
pylab.rcParams['figure.figsize'] = (10.0, 8.0)


Populating the interactive namespace from numpy and matplotlib

In [2]:
import cv2
import cv
import numpy as np
import pylab as pl
import scipy.ndimage
import scipy.optimize
import itertools
from sleepysnail.preprocessing import ROISplitter
from sleepysnail.utils.figure_maker import FigureMaker
import matplotlib.gridspec as gridspec

In [2]:


In [3]:
def my_hist(data, col):
    fig = pl.figure()
    pl.hist(data, bins=50, color=col, normed=True)
    m, q1, q3 =  np.percentile(data, [50, 25, 75])
    pl.xlim(0, 255)
    pl.ylim(0, 0.08)
    pl.xlabel("Intensity")
    pl.ylabel("frequency")
    bbox_props = dict(boxstyle="round", fc="w", ec="0.5", alpha=0.9)   
    pl.text(150, 0.07,  "Median = %i\nQ1 = %i\nQ3=%i" % (m, q1, q3), ha="left", va="center", size=18, bbox=bbox_props)
    return fig

In [4]:
grid_img = cv2.imread("night_shot.png")
grid_grey = cv2.cvtColor(grid_img, cv.CV_BGR2GRAY)
med = np.median(grid_grey)
array  = (grid_grey  * 128.0) / med
array  = np.where(array > 255, 255, array)
my_hist(grid_grey.flatten(), "k")
pl.savefig("0_.svg")
my_hist(array.flatten(), "k")
pl.savefig("1_.svg")

cv2.imwrite("night_norm.png", array.astype(np.uint8))


/usr/lib/python2.7/site-packages/matplotlib/font_manager.py:1236: UserWarning: findfont: Font family ['normal'] not found. Falling back to Bitstream Vera Sans
  (prop.get_family(), self.defaultFamily[fontext]))

In [7]:
grid_img = cv2.imread("day_shot.png")
grid_grey = cv2.cvtColor(grid_img, cv.CV_BGR2GRAY)
med = np.median(grid_grey)
array  = (grid_grey  * 128.0) / med
array  = np.where(array > 255, 255, array)
my_hist(grid_grey.flatten(), "r")
pl.savefig("2_.svg")
my_hist(array.flatten(), "r")
pl.savefig("3_.svg")
cv2.imwrite("day_norm.png", array.astype(np.uint8))


Out[7]:
True

In [5]:


In [5]:


In [ ]: