{"title":"PyVideo.org - holopy","link":[{"@attributes":{"href":"https:\/\/pyvideo.org\/","rel":"alternate"}},{"@attributes":{"href":"https:\/\/pyvideo.org\/feeds\/tag_holopy.atom.xml","rel":"self"}}],"id":"https:\/\/pyvideo.org\/","updated":"2014-07-14T00:00:00+00:00","subtitle":{},"entry":[{"title":"HoloPy: Holograpy and Light Scattering in Python","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/scipy-2014\/holopy-holograpy-and-light-scattering-in-python.html","rel":"alternate"}},"published":"2014-07-14T00:00:00+00:00","updated":"2014-07-14T00:00:00+00:00","author":{"name":"Tom Dimiduk"},"id":"tag:pyvideo.org,2014-07-14:\/scipy-2014\/holopy-holograpy-and-light-scattering-in-python.html","summary":"<h3>Summary<\/h3><p>Digital holography microscopy is a powerful tool for fast 3D imaging of\nsoft matter systems. However, making measurements from holograms\nrequires special computation. HoloPy is a set of tools for\nreconstructing and fitting to holograms. It also includes tools for\ncomputing light scattering, setting up inverse problems, and working \u2026<\/p>","content":"<h3>Summary<\/h3><p>Digital holography microscopy is a powerful tool for fast 3D imaging of\nsoft matter systems. However, making measurements from holograms\nrequires special computation. HoloPy is a set of tools for\nreconstructing and fitting to holograms. It also includes tools for\ncomputing light scattering, setting up inverse problems, and working\nwith images and metadata.<\/p>\n<h3>Description<\/h3><p>Digital holographic microscopy is fast and powerful tool for 3D imaging.\nHolography captures information about a 3D scene onto a 2D camera using\ninterference. This means that the speed of holographic imaging is\nlimited only by camera speed, making holography an ideal tool for\nstudying fast processes in soft matter systems. However, making use of\nthis encoded information requires significant computational post\nprocessing. We have developed and released\n<a class=\"reference external\" href=\"http:\/\/manoharan.seas.harvard.edu\/holopy\/\">HoloPy<\/a>, a python based\ntool for doing these calculations.<\/p>\n<p>The traditional method for extracting information from holograms is to\noptically reconstruct by shining light through a hologram to obtain an\nimage of the recorded scene. HoloPy implements the digital equivalent of\nthis, numerical reconstruction, in the form of light propagation by\nconvolution. This is a fast technique based on fast Fourier transforms,\nwhich effectively allows refocusing a holographic image after it is\ntaken.<\/p>\n<p>For systems where a detailed scattering model is available, Lee and\ncoworkers showed that it is possible to make more precise measurements\nby fitting a scattering model to a recorded hologram\n[<a class=\"reference external\" href=\"http:\/\/physics.nyu.edu\/grierlab\/index12c\/\">1<\/a>]. We have extended\nthis technique to clusters of spheres\n[<a class=\"reference external\" href=\"http:\/\/arxiv.org\/pdf\/1202.1600\">2<\/a>][<a class=\"reference external\" href=\"http:\/\/people.seas.harvard.edu\/~vnm\/pdf\/Perry-Faraday_Discussions-2012.pdf\">3<\/a>]\nand to non-spherical particles\n[<a class=\"reference external\" href=\"http:\/\/arxiv.org\/pdf\/1310.4517\">4<\/a>]. HoloPy implements all of\nthese fitting techniques such that they can be used with a few lines of\npython code. HoloPy also exposes an interface to all of its scattering\nmodels compute light scattering of microscopic particles or clusters of\nparticles for other purposes.<\/p>\n<p>HoloPy is open source (GPLv3) and is hosted on\n<a class=\"reference external\" href=\"https:\/\/launchpad.net\/holopy\">launchpad<\/a>. HoloPy uses Numpy for most\nof its manipulations, though it calls out to Fortran and\n<a class=\"reference external\" href=\"http:\/\/code.google.com\/p\/a-dda\">C<\/a> codes to compute light\nscattering. HoloPy also includes matplotlib and mayavi based tools for\nvisualizing holograms and particles.<\/p>\n<p>[1] Lee et.al., Optics Express, Vol. 15, Issue 26, pp. 18275-18282\n(2007)<\/p>\n<p>[2] Fung et. al., JQSRT, Vol 113, Issue 18, pp. 2482-2489 (2012)<\/p>\n<p>[3] Perry et. al., Faraday Discussions, Vol 159, pp. 211-234 (2012)<\/p>\n<p>[4] Wang et. al. JQSRT, (2014)<\/p>\n","category":[{"@attributes":{"term":"SciPy 2014"}},{"@attributes":{"term":"holopy"}}]},{"title":"How Interactive Visualization Led to Insights in Digital Holographic Microscopy","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/scipy-2014\/how-interactive-visualization-led-to-insights-in.html","rel":"alternate"}},"published":"2014-07-14T00:00:00+00:00","updated":"2014-07-14T00:00:00+00:00","author":{"name":"Rebecca Perry"},"id":"tag:pyvideo.org,2014-07-14:\/scipy-2014\/how-interactive-visualization-led-to-insights-in.html","summary":"<h3>Summary<\/h3><p>Digital holographic microscopy is a fast 3D imaging technique. A camera\nrecords a time series of light scattering patterns as standard 2D images\nand then post-processing routines extract 3D information. By creating a\nGPU-accelerated GUI on top of the Holopy package, we noticed unexpected\ndiscrepancies between the different models \u2026<\/p>","content":"<h3>Summary<\/h3><p>Digital holographic microscopy is a fast 3D imaging technique. A camera\nrecords a time series of light scattering patterns as standard 2D images\nand then post-processing routines extract 3D information. By creating a\nGPU-accelerated GUI on top of the Holopy package, we noticed unexpected\ndiscrepancies between the different models used during post-processing.<\/p>\n<h3>Description<\/h3><p>Digital holographic microscopy is a fast 3D imaging technique ideally\nsuited to studies of micron-sized objects that diffuse through random\nwalks via Brownian motion\n<a class=\"reference external\" href=\"http:\/\/dx.doi.org\/10.1364\/OE.15.018275\">[1]<\/a>. Microspheres fit this\ncategory and are widely used in biological assays and as ideal test\nsubjects for experiments in statistical mechanics. Microspheres\nsuspended in water move too quickly to monitor with confocal microscopy.\nWith digital holographic microscopy, 2D images encoding 3D volumes can\nbe recorded at thousands of frames per second\n<a class=\"reference external\" href=\"http:\/\/www.nature.com\/nmat\/journal\/v11\/n2\/abs\/nmat3190.html\">[2]<\/a>.\nThe computationally challenging part of digital holographic microscopy\nis extracting the 3D information during post-processing.<\/p>\n<p>The open source <a class=\"reference external\" href=\"https:\/\/launchpad.net\/holopy\">Holopy<\/a> package which\nrelies heavily on SciPy and NumPy is used to recover the 3D information\nvia one of two techniques: reconstruction by numerical back-propagation\nof electromagnetic fields or modeling forward light scattering with Mie\ntheory. The parameter space describing the imaged volume is\nmultidimensional. Even for simple micron-sized spheres, a hologram\ndepends on each sphere's radius and index of refraction in addition to\nits 3D position. By supplementing Holopy with a <a class=\"reference external\" href=\"https:\/\/github.com\/RebeccaWPerry\/holography-gpu\">GPU-accelerated\nGUI<\/a> using PyQt4, we\nenabled users to interactively adjust the system parameters and see a\nmodeled digital hologram change in response.<\/p>\n<p>Simply adding the capability of interactively manipulating holograms in\na GUI led us to notice unexpected discrepancies between the two modeling\ntechniques and failures of both, suggesting further experiments. We\nobserved that the numerical light propagation technique only accurately\ncharacterizes the light within a cone stretching from the extent of the\nimage back towards the object. Neither model accurately characterizes\nthe light upstream of the object toward the light source. The GUI was a\nnatural format to interact with the theory and gain insight because it\nshowed us the models in an analogous format to how we see the data on\nthe microscope. Other scientific projects may benefit from tools that\nallow experimentalists to interact with theory in the same way they\ninteract with their experiments.<\/p>\n<p>[1] Lee et.al., Optics Express, Vol. 15, Issue 26, pp. 18275-18282\n(2007) doi: 10.1364\/OE.15.018275.<\/p>\n<p>[2] Kaz et.al., Nature Materials, Vol. 11, pp. 138013142 (2012)\ndoi:10.1038\/nmat3190.<\/p>\n","category":[{"@attributes":{"term":"SciPy 2014"}},{"@attributes":{"term":"holopy"}}]}]}