Metadata-Version: 2.0
Name: pysto
Version: 1.3.2
Summary: Miscellaneous image processing functions
Home-page: https://github.com/rcasero/pysto
Author: Ramón Casero
Author-email: rcasero@gmail.com
License: GPL v3
Download-URL: https://github.com/rcasero/pysto/archive/1.3.2.tar.gz
Description-Content-Type: UNKNOWN
Keywords: image processing,bioinformatics
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.6
Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*
Requires-Dist: matplotlib (>=2.0)
Requires-Dist: numpy (>=1.13)
Requires-Dist: opencv-python (>=3.3.0)
Requires-Dist: simpleitk (>=1.0.1)
Provides-Extra: dev
Requires-Dist: spyder; extra == 'dev'
Requires-Dist: twine; extra == 'dev'
Requires-Dist: wheel; extra == 'dev'
Requires-Dist: setuptools; extra == 'dev'
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'

Summary
=======

``pysto`` are a few miscellaneous processing python functions.

The name is a play of words on "pisto", a Manchego dish made of
tomatoes, onions, courgettes, green and red peppers and olive oil.

User instructions
=================

Installing pysto with pip
-------------------------

1. Simply run from your local environment or whole system

   ::

       pip install pysto

Installing pysto from the cloned github repository
--------------------------------------------------

1. Clone the pysto repository

   ::

       git clone https://github.com/rcasero/pysto.git

2. Activate the local environment of the other project, or you can also
   work without a local environment. For example, to activate a local
   conda environment called "myproject"

   ::

       source activate myproject

3. Install pysto from the pysto root directory (note that if you are
   installing it system-wide, you may need to run the command as root)

   ::

       cd pysto
       pip install .

Uninstalling pysto
------------------

1. Uninstall the package

   ::

       pip uninstall pysto

Developer instructions
======================

Install pysto project for development
-------------------------------------

1. Clone the pysto repository

   ::

       git clone https://github.com/rcasero/pysto.git

2. Run ``install_dependencies.sh`` so it creates local environments for
   python 2.7 and 3.6, and installs python dependencies and development
   tools

   ::

       cd pysto
       ./install_dependencies.sh

Developing source code for pysto
--------------------------------

1. Activate one of the pysto local environments

   ::

       source activate pysto_3.6

2. If you are making changes to the code, you want your python
   environment to import the code you are working with in
   ``~/Software/pysto``, not the package installed in your local conda
   environment. Thus, add the project's source directory to
   ``PYTHONPATH``

   ::

       export PYTHONPATH=~/Software/pysto:$PYTHONPATH

3. Launch the development IDE, e.g.

   ::

       spyder&

4. In your code, import the pysto modules/functions in the usual way,
   e.g.

   ::

       import pysto.imgproc as pymg        
       [...]
       imf = pymg.imfuse(im1, im2)

5. While developing, you can run all tests (both for python 2.7 and 3.6)
   from the command line with

   ::

       make test

6. You need to have a local file ``~/.pypirc`` (replace
   ``<the password>`` by the password). This will be used by ``twine``
   to release packages to PyPI

   ::

       [distutils]
       index-servers =
         pypi
         pypitest

       [pypi]
       username=rcasero
       password=<the password>

       [pypitest]
       repository = https://test.pypi.org/legacy/
       username=rcasero
       password=<the password>

7. Protect the file so that it can be read only by you

   ::

       chmod 600 ~/.pypirc

Uninstalling pysto
------------------

1. Uninstall the package

   ::

       pip uninstall pysto

Releasing a new version of pysto to PyPI
----------------------------------------

We provide a ``Makefile`` to simplify testing and releasing.

1. Run tests to make sure nothing obvious got broken

   ::

       make test

2. Commit and push all the code that should go in the release to github.

3. Update ``setup.py`` with release version, any new dependencies, the
   new download URL, changes to the description...

   ::

       from setuptools import setup, find_packages

       setup(
           name='pysto',
           version='1.0.0',
           download_url = 'https://github.com/rcasero/pysto/archive/1.0.0.tar.gz',
           packages=find_packages(),
           python_requires='>=3.6',
           install_requires=['matplotlib>=2.0','numpy>=1.13','opencv-python>=3.3.0'],
           description='Miscellanea image processing functions',
           url='https://github.com/rcasero/pysto',
           author='Ramón Casero',
           author_email='rcasero@gmail.com',
           license='GPL v3',
       )

4. Update ``ChangeLog.md`` with the main changes to this release. For
   example,

   ::

       ## v1.0.0
       ### Added

       - imgproc.matchHist(): "Modify image intensities to match the
         histogram of a reference image" by
         [rcasero](https://github.com/rcasero)
       - imgproc.imfuse(): "Composite of two images" by
         [rcasero](https://github.com/rcasero)
       - testdata/*.png: Stereo cloud images with ROI masks (left_mask.png,
         left.png, right_mask.png, right.png) by
         [rcasero](https://github.com/rcasero)

5. Tag the release in github, create the package/wheel and upload to the
   test PyPI server

   ::

       make test-package

6. You should be able to see your package in

   ::

       https://test.pypi.org/project/pysto/

7. If everything goes well, upload to PyPI Live

   ::

       make package

8. You should be able to see your package in

   ::

       https://pypi.org/project/pysto/


