{
“cells”: [
{

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“# Tutorial using array input”

]

}, {

“cell_type”: “markdown”, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “source”: [

“Package to normalize data using Open Beam (OB) and, optionally Dark Field (DF).n”, “n”, “The program allows you to select a background region to allow data to be normalized by OB that do not have the same acquisition time. n”, “Cropping the image is also possible using the crop methodn”

]

}, {

“cell_type”: “markdown”, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “source”: [

“This notebook will illustrate the use of the NeuNorm library by going through a typical normalization. n”, “n”, “In this notebook, we supposed that the data have already been loaded in memory

]

}, {

“cell_type”: “markdown”, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “source”: [

“## Set up system”

]

}, {

“cell_type”: “code”, “execution_count”: null, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “outputs”: [], “source”: [

“import osn”, “import sysn”, “import numpy as npn”, “import matplotlib.pyplot as pltn”, “import matplotlib.patches as patchesn”, “from matplotlib import gridspecn”, “import globn”, “from PIL import Imagen”, “%matplotlib notebook”

]

}, {

“cell_type”: “markdown”, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “source”: [

“Add NeuNorm to python path”

]

}, {

“cell_type”: “code”, “execution_count”: 2, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “outputs”: [], “source”: [

“root_folder = os.path.dirname(os.getcwd())n”, “sys.path.append(root_folder)n”, “import NeuNorm as neunormn”, “from NeuNorm.normalization import Normalizationn”, “from NeuNorm.roi import ROI”

]

}, {

“cell_type”: “markdown”, “metadata”: {

“collapsed”: true, “run_control”: {

“frozen”: false, “read_only”: false

}

}, “source”: [

“## Loading Data Manually”

]

}, {

“cell_type”: “markdown”, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “source”: [

“Open Beam”

]

}, {

“cell_type”: “code”, “execution_count”: 10, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “outputs”: [], “source”: [

“path_ob = os.path.abspath(‘../data/ob/’)n”, “list_open_beam = glob.glob(os.path.join(path_ob, ‘*.tif’))n”, “ob_data = []n”, “for _file in list_open_beam:n”, “ _ob_data = np.asarray(Image.open(_file))n”, “ ob_data.append(_ob_data)”

]

}, {

“cell_type”: “markdown”, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “source”: [

“Sample data path”

]

}, {

“cell_type”: “code”, “execution_count”: 11, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “outputs”: [], “source”: [

“path_im = ‘../data/sample’n”, “list_sample = glob.glob(os.path.join(path_im, ‘*.tif’))n”, “sample_data = []n”, “for _file in list_sample:n”, “ _sample_data = np.asarray(Image.open(_file))n”, “ sample_data.append(_sample_data)”

]

}, {

“cell_type”: “markdown”, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “source”: [

“Dark Current data path”

]

}, {

“cell_type”: “code”, “execution_count”: 12, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “outputs”: [], “source”: [

“path_df = ‘../data/df’n”, “list_df = glob.glob(os.path.join(path_df, ‘*.tif’))n”, “df_data = []n”, “for _file in list_df:n”, “ _df_data = np.asarray(Image.open(_file))n”, “ df_data.append(_df_data)”

]

}, {

“cell_type”: “markdown”, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “source”: [

“## Adding the data to the Object “

]

}, {

“cell_type”: “code”, “execution_count”: 16, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “outputs”: [], “source”: [

“o_norm = Normalization()n”, “o_norm.load(data=sample_data)n”, “o_norm.load(data=ob_data, data_type=’ob’)n”, “o_norm.load(data=df_data, data_type=’df’)”

]

}, {

“cell_type”: “markdown”, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “source”: [

“## Dark Field (DF) correction “

]

}, {

“cell_type”: “code”, “execution_count”: 17, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “outputs”: [], “source”: [

“o_norm.df_correction()”

]

}, {

“cell_type”: “markdown”, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “source”: [

“## Normalization of the data “

]

}, {

“cell_type”: “markdown”, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “source”: [

“We will use a normalization ROI.n”, “`\n", " x0 = 3\n", " y0 = 5\n", " width = 20\n", " height = 40\n", "`

]

}, {

“cell_type”: “code”, “execution_count”: 18, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “outputs”: [

{
“data”: {
“text/plain”: [

“True”

]

}, “execution_count”: 18, “metadata”: {}, “output_type”: “execute_result”

}

], “source”: [

“norm_roi = ROI(x0=3, y0=5, width=20, height=40)n”, “o_norm.normalization(roi=norm_roi)”

]

}, {

“cell_type”: “markdown”, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “source”: [

“## Recovering the normalized data”

]

}, {

“cell_type”: “code”, “execution_count”: 19, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “outputs”: [], “source”: [

“normalized_data = o_norm.data[‘normalized’]”

]

}, {

“cell_type”: “code”, “execution_count”: 20, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “outputs”: [

{
“data”: {
“text/plain”: [

“(15, 100, 100)”

]

}, “execution_count”: 20, “metadata”: {}, “output_type”: “execute_result”

}

], “source”: [

“np.shape(normalized_data)”

]

}, {

“cell_type”: “markdown”, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “source”: [

“## Crop “

]

}, {

“cell_type”: “code”, “execution_count”: 21, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “outputs”: [

{
“data”: {
“text/plain”: [

“(15, 3, 3)”

]

}, “execution_count”: 21, “metadata”: {}, “output_type”: “execute_result”

}

], “source”: [

“roi_to_keep = ROI(x0=0, y0=0, width=2, height=2)n”, “o_norm.crop(roi=roi_to_keep)n”, “n”, “norm_crop = o_norm.data[‘normalized’]n”, “np.shape(norm_crop)”

]

}, {

“cell_type”: “code”, “execution_count”: null, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “outputs”: [], “source”: []

}, {

“cell_type”: “code”, “execution_count”: null, “metadata”: {

“run_control”: {

“frozen”: false, “read_only”: false

}

}, “outputs”: [], “source”: []

}

], “metadata”: {

“anaconda-cloud”: {}, “kernelspec”: {

“display_name”: “Python 3”, “language”: “python”, “name”: “python3”

}, “language_info”: {

“codemirror_mode”: {

“name”: “ipython”, “version”: 3

}, “file_extension”: “.py”, “mimetype”: “text/x-python”, “name”: “python”, “nbconvert_exporter”: “python”, “pygments_lexer”: “ipython3”, “version”: “3.6.1”

}, “toc”: {

“colors”: {

“hover_highlight”: “#DAA520”, “running_highlight”: “#FF0000”, “selected_highlight”: “#FFD700”

}, “moveMenuLeft”: true, “nav_menu”: {

“height”: “156px”, “width”: “252px”

}, “navigate_menu”: true, “number_sections”: true, “sideBar”: true, “threshold”: 4.0, “toc_cell”: false, “toc_section_display”: “block”, “toc_window_display”: false

}

}, “nbformat”: 4, “nbformat_minor”: 1

}