Skip to main content

Create images from photon lists generated by a multiscaler.

Project description

========
Overview
========



Create images from photon lists generated by a multiscaler.

* Free software: BSD license

* Created by `Pablo Blinder's Lab`_.

.. _Pablo Blinder's Lab: http://pblab.tau.ac.il/en/

Installation
============

.. include:: docs/installation.rst

Please refer to ``docs\installation.rst``.

Documentation
=============



https://python-pysight.readthedocs.io/

Development
===========

To run the all tests run::

tox

Note, to combine the coverage data from all the tox environments run:

.. list-table::
:widths: 10 90
:stub-columns: 1

- - Windows
- ::

set PYTEST_ADDOPTS=--cov-append
tox

- - Other
- ::

PYTEST_ADDOPTS=--cov-append tox


Changelog
=========

0.1.0 (2017-02-27)
------------------

* First release on PyPI.

0.1.1 (2017-02-27)
------------------

* Bug fixes during installation of Numba.

* Added the ``run()`` method for ``main_multiscaler_readout``.

0.1.2 (2017-02-27)
------------------

* Includes ``tifffile`` and minor improvements.

0.1.3 (2017-02-28)
------------------

* Changed IO from ``.read()`` to ``.readlines()`` for better Linux compatibility.

* ``.tif`` is now saved frame-by-frame to save memory, and the method was renamed to ``create_tif()``.

0.1.4 (2017-02-28)
------------------

* Frames are now generated with a generator.
* Fix to installation problems of previous version.

0.1.5 (2017-02-28)
------------------

* Single-lined frames are now supported.

0.1.6 (2017-02-28)
------------------

* More tests coverage.

* Enforced a few types checks.

0.1.7 (2017-03-01)
------------------

* Potential fix to ``pip install`` issues.

* Start of TAG lens interpolation support.

0.2.0 (2017-03-05)
------------------

* Support for TAG lens added - phase interpolation and image display. Note: The algorithm currently assumes that the pulse is triggered at the zero-phase of the TAG lens.

* ``pip`` installation fixed by requiring Numba as a prerequisite.

* Number of pixels in the "Frame" direction (x) supersedes the number of frames as listed by the user.

* Due to massive changes, one test is currently broken.

0.3.0 (2017-03-07)
------------------

* Added method ``create_array`` to Movie() that returns a deque containing the raw data generated by the ``np.histogram`` function, for visualization and analysis purposes.

* Added method ``create_single_volume`` to Movie() that sums all stacks into a single array.

* Fixed bugs in ``tag_tools``, mainly in ``verify_periodicity()``.

* Allows for more elaborate user inputs, requiring to choose which type of output you wish for.

* Basic FLIM support.

0.3.1 (2017-03-07)
------------------

* Tiffs are now saved untiled. Depth axis is x-axis.

* Installation should run smoothly if following the instructions.

0.3.2 (2017-03-07)
------------------

* Added verifications on the FLIM input.

* Bug fixes in FLIM implementation.

0.3.3 (2017-03-08)
------------------

* Code can take care of the the infamous [-1, ..., -1] index list.

* Added ``debug`` mode in which the algorithm reads only a limited amount of lines from a file.

* Fixed minor bug in ``__create_hist``.

* Decreased size of package by removing excess lines of data for tests.

0.3.4 (2017-03-09)
------------------

* More fixes to the [-1] vector problem.

* Added a ``sort`` function before handling the data, because of irregularities.


0.3.5 (2017-03-11)
------------------

* Added sinusoidal interpolation to TAG phase.

* Sorting is now only done for TAG lens input.

* Added ``fileIO_tools.py`` module for increased simplicity.

* Added more verifications to user inputs from GUI that pop up sooner, before heavy computation is made.

* Increased file IO speed with a new ``np.fromfile`` method.


0.3.6 (2017-03-14)
------------------

* Basic support for TAG bits - no actual interpolation yet.

* GUI additions and changes.

* Minor performance upgrades.


0.4.0 (2017-03-16)
------------------

* Changes file IO completely. Performance should be higher.

* TAG lens bug fixes.

* Updated docs.

* Updated tests.

0.4.1 (2017-03-30)
------------------

* Updates to setup.py to allow docs to build successfully.

* Small updates to docs.

* GUI improvements.

0.4.2 (2017-03-30)
------------------

* Added Dask ``delayed`` interface.

0.4.3 (2017-04-02)
------------------

* Removed Dask.

* Refactored class structure, remove the ``Frame`` class.

* Refactored GUI code.

0.4.4 (2017-04-08)
------------------

* Changes to file I\O.

* Number of requested frames should actually matter now.

* GUI improvements.

0.4.5 (2017-04-17)
------------------

* Bug fixes and improvements to TAG lens interpolation.

0.4.6 (2017-05-16)
------------------

* Use ``Debug?`` to read a small portion of an ``.lst`` file.

* Changed defaults in GUI.

* Allows acquisition in bi-directional scanning mode. This is enabled with the ``Mirror phase`` and ``Flyback`` parameters in the GUI.

* Backend changes for possible future support of binary files.

* The code allows to dismiss unwanted input channels by specifying them as "Empty".
* If you mark a channel as containing data while it's inactive, an error will terminate execution.

* Massive refactoring of pipeline.

0.4.7 (2017-05-25)
------------------

* Fixed some of the tests.

* Added option to save or discard photons arriving during the returning phase of a unidirectional scan. This is the default option now.

* Introduced ``Fill Fraction`` parameter that determines the amount of `time` the mirrors spend "inside" the image.

* Some tests are working again.

* Many other bugfixes.

0.4.8 (2017-05-31)
------------------

* Added type hinting. As a result, disabled support for Python version 3.5. Code is now entirely 3.6-dependent.

* Added ``.json`` configuration files to the GUI. It also automatically loads the last modified configuration file.

* Updated docs.

0.5.0 (2017-06-04)
------------------

* Added the ``CensorCorrection`` class for processing generated data using the censor correction method. Current available methods are:
* ``censored.gen_bincount_deque()``: Bin the photons into their relative laser pulses, and count how many photons arrived due to each pulse.
* ``censored.find_temp_structure_deque()``: Generate a summed histogram of the temporal structure of detected photons.

* Fixed linux bug with ``Deque`` import.

* Added tests.

0.5.1 (2017-06-04)
------------------

* Another go at Linux namespace conflicts.

0.5.2 (2017-06-06)
------------------

* Added basic support for "Censor Correction".

0.5.3 (2017-06-06)
------------------

* Bug fixes, including support for single-pixel images.

* Script should require less memory while running.

0.5.4 (2017-06-06)
------------------

* Fixed untested typo.

0.5.5 (2017-06-07)
------------------

* Bug fixes for single-pixel frames

* Bug fixes for defining amount of frames manually in script.

* Censor correction shouldn't require as much memory as it did. It's still not as fast as it can be.

* Loading a configuration file will make it the "last used" file, reloading it when re-running PySight.

0.5.6 (2017-06-08)
------------------

* ML classification is functional.

0.5.7 (2017-06-08)
------------------

* More robust data generation.

* Added ``scikit-learn`` to ``requirements.txt`` and ``setup.py``.

* ``CensorCorrection().learn_histograms()`` now receives the power label as its input - must be an integer.

* Return of ``CensorCorrection().learn_histograms()`` is now ``data, labels``.

* Made ``__get_bincount_deque()`` private. To be accessed using ``learn_histograms()`` only.

0.5.8 (2017-06-08)
------------------

* Robustness upgrades.

* QOL changes to GUI.

* A "power" number is needed for ``learn_histograms()`` - the percent of power given to the Qubig. It's just for saving, labeling is done with the ``label`` keyword.

* A ``foldername`` to which the data will be saved to has also been added.

0.5.9 (2017-06-11)
------------------

* Much (MUCH) faster concatenation of the data.

* Fixed a bug with the number of empty histograms that were added to the learning dataset.

0.5.10 (2017-06-12)
-------------------

* Changes and optimizations for the file IO process.

* Fixed a bug with laser pulses verification.

* Added offset parameter for laser input.

0.5.11 (2017-06-22)
-------------------

* Added FLIM functionality with laser clock in the Multiscaler's clock.

0.5.12 (2017-06-22)
-------------------

* Fixed small bug with GUI.

* Possible fix to TAG lens interpolation.

0.5.13 (2017-06-26)
-------------------

* Added SciPy dependency.

* Added nanoFLIM histogramming.

0.5.14 (2017-06-26)
-------------------

* Bug fixes and performance improvements.

0.5.15 (2017-06-27)
-------------------

* Refactoring of output:

* Start of censor correction is integrated into the generation of the outputs.

* More efficient when required to output several types of data.


Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysight-0.5.15.tar.gz (6.6 MB view details)

Uploaded Source

Built Distribution

pysight-0.5.15-cp36-cp36m-win_amd64.whl (281.7 kB view details)

Uploaded CPython 3.6mWindows x86-64

File details

Details for the file pysight-0.5.15.tar.gz.

File metadata

  • Download URL: pysight-0.5.15.tar.gz
  • Upload date:
  • Size: 6.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pysight-0.5.15.tar.gz
Algorithm Hash digest
SHA256 114580909b2b1c8363d48f891daf3b80b790e540ffeb8b44fe92e88832d61df8
MD5 5d5061c58221c3f3a14ed5ba0b333799
BLAKE2b-256 ad11509d9d1c6d0c8fbed48bc26e1c08c9236cde131c2aeae21bb78e53e1f8f6

See more details on using hashes here.

File details

Details for the file pysight-0.5.15-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for pysight-0.5.15-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 47ece4bc267263952e2623289dff4084537b1a42dc6d4acbc5258c5bd41ac130
MD5 0867d7caa569c25e9320f49dfbe1ee18
BLAKE2b-256 8a960d72e9cc07bd371c462251d9b386e89b2caaa5aaa43010e4dc237872b242

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page