Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save danielballan/bca4ea1321487600c7fa to your computer and use it in GitHub Desktop.

Select an option

Save danielballan/bca4ea1321487600c7fa to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:be788ea83490fcc85d29cb24ed399133dc2a8b258547e45d03fdf73a77cf3c7f"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"See [GitHub Issue #119](https://github.com/Nikea/scikit-xray/issues/119#issuecomment-69238267) for the technical discussion behind this implementation."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import pims\n",
"import skxray.calibration"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stderr",
"text": [
"WARNING:skxray.constants.xrf:Xraylib is not installed on your machine. xraylib is not installed. Please see https://github.com/tschoonj/xraylib or https://binstar.org/tacaswell/xraylib for help on installing xraylib\n"
]
}
],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"img = pims.ImageSequence(['../data/powder-diffraction-images/Ni_cal2_d208mm_300K-00090.tif'])[0]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"img"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"png": "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\ny4St6Juw+i74mamKEpVlvJKuodK/2T2Cf3kXun19qu8B6Mu5XjLsJbJXH9bQ3VbC+5eT/4dq030S\nKZ4x5VJVh7AEeRn/iA9ned5qVkZ3fb2JtA+gN0a9usIah93Uthk9G++yd7PINeS2SEVigHqaG50R\nw7z9TJyWu82RU40Ys9SI6yXlXH1if0MaVSm8sjdulY1ELMtTumkN5sGzdIY5l8xIE9kL0D1alMPe\ncrFc2YuvgT3YtKj9swbjolL3K+qsjLdX1U7OhUMN5h0Y9LV5vi+gr0a9rNVXw6747gV/moTRIarE\n9GHlVHizpTTfBeZ3X8im29kG9TrYK7VxZLw5/xNoNcD+r2py9xXIKxOgd8w3sBf7Anod6jb2KY9Y\nQ9gNhE3tOoXbV0tfIqyAKPdBm/N+Mb+bQV+CujXslTEu9aT28XVR5DLDrnezLsndlVleMTLs9TWK\neReOe7lTTWR/QG+A+nKyV1Gp9NXuUi79inilMlgBua/aY5h3FKArWbfdPQLdYwOhNGz24+Wwr8S9\ndGlTne9fWp2X5s+SOdcJxW51+ybafa9Ar0Fdj2SU7HHY26VU6PjFINfrayHNe8B8nfNgfdkr0AMN\nH1XxVcse0Zpt4h62VQN5QHOHub/u2hXPN3rO/QLdU48l1OtVfNRBagX3Mo/ikDtrvgvM7371jsAo\nVpbPnYqv6nSnUoOebT7WccRrbu2fbhl0uUT/9mXNpRYl+wZ6Heqhiq+HvYr7Bs5t5Wd2UkU8CLbz\n0ad5H247B4vza6C/d6CHqFeYY4K3uvGv7eAafnr5cjOcMe/BeHBLMO9St98TNl01GXfnVpHdv7qa\nuDESHyT/MSKOeaUrrj+e2fF0TS/heaS3zWQPQS+BGyd7HPYluDfpahxVRBG3kMdp3oc9j/a5iewj\n6GbkPNStG1Vy6OJ+eynEqjYf/llzkWulOeRV1d4t5FBWfc277CfoJRUfIfsy3Ms/Wd+Rq/jglfbZ\nABuDvDeab+a87yvo9SrewW49utjARn/U8LY1bZTb4qArQEDzfjD3MgHryL6Cvhx1X6/WI1oFrS41\nX43pa6N8fTNLaQ9yMHyal2ZQF/CzZwjXkL0F3YDqq3jPk3YDXM922731xmTZbwzkZk64WUT+n71h\nvpnsL+ihhizB6sNO7oOlfVw9RCsudPfgYNrBztCeVbtxb9d2WvYY9LKK98nuGXWz2LRimOtC8eAJ\n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\n",
"prompt_number": 3,
"text": [
"Frame([[ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 103., 412., 229., ..., 91., 101., 95.],\n",
" [ 42., 405., 155., ..., 124., -34., 311.],\n",
" ..., \n",
" [ 155., 53., 360., ..., -37., 184., 142.],\n",
" [ -18., 155., 59., ..., 43., 111., 152.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.]], dtype=float32)"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"skxray.calibration.find_ring_center_acorr_1D(img)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
"(1042, 1029)"
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"skxray.core.bin_1D(np.arange(img.shape[0]), img)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"ename": "ValueError",
"evalue": "weights should have the same shape as a.",
"output_type": "pyerr",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-10-32f92677a588>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mskxray\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcore\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbin_1D\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mimg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mimg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m/Users/danielallan/Documents/Repos/scikit-xray/skxray/core.pyc\u001b[0m in \u001b[0;36mbin_1D\u001b[0;34m(x, y, nx, min_x, max_x)\u001b[0m\n\u001b[1;32m 597\u001b[0m \u001b[0;31m# use a weighted histogram to get the bin sum\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 598\u001b[0m \u001b[0mbins\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinspace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstart\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmin_x\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstop\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmax_x\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnum\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mnx\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mendpoint\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 599\u001b[0;31m \u001b[0mval\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhistogram\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbins\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mbins\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mweights\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 600\u001b[0m \u001b[0;31m# use an un-weighted histogram to get the counts\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 601\u001b[0m \u001b[0mcount\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhistogram\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbins\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mbins\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m/Users/danielallan/anaconda/lib/python2.7/site-packages/numpy/lib/function_base.pyc\u001b[0m in \u001b[0;36mhistogram\u001b[0;34m(a, bins, range, normed, weights, density)\u001b[0m\n\u001b[1;32m 166\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0many\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mweights\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 167\u001b[0m raise ValueError(\n\u001b[0;32m--> 168\u001b[0;31m 'weights should have the same shape as a.')\n\u001b[0m\u001b[1;32m 169\u001b[0m \u001b[0mweights\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mweights\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mravel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 170\u001b[0m \u001b[0ma\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mravel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mValueError\u001b[0m: weights should have the same shape as a."
]
}
],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment