Skip to main content

Miscellaneous image processing functions

Project description

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 to install development tools, create local environments for python 2.7 and 3.6, and install python dependencies. pysto depends on SimpleITK, and there are two options:

    1. Install the official SimpleITK package

      cd pysto
      ./install_dependencies.sh
    2. Build and install SimpleElastix, which is an extension of SimpleITK

      cd pysto
      ./install_dependencies.sh SimpleElastix

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/

Project details


Download files

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

Source Distribution

pysto-1.4.1.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

pysto-1.4.1-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file pysto-1.4.1.tar.gz.

File metadata

  • Download URL: pysto-1.4.1.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pysto-1.4.1.tar.gz
Algorithm Hash digest
SHA256 804e98d2af630aa520bccd91af919f0c622116c198229cbac2b12edbd90baa43
MD5 e77c5ad1312c75fa863afca06bfb16d9
BLAKE2b-256 19e5d5e76bb4ecf308e9575d5ecd35173078e2ca20410335258e6ad9ae4e6ca9

See more details on using hashes here.

File details

Details for the file pysto-1.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pysto-1.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c59580b6aeca6ada515081d2b5beb789a25ea2852d976aefaee98104ebf0438b
MD5 9f2440bf3e69e64d53bbcb702c4b51e7
BLAKE2b-256 75a7552c5e1aafffa83f6089ba1a9fffa8f8a69295877551fcc89ff9adc88107

See more details on using hashes here.

Supported by

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