66[ ![ Build Status] ( https://github.com/LabForComputationalVision/pyrtools/workflows/build/badge.svg )] ( https://github.com/LabForComputationalVision/pyrtools/actions?query=workflow%3Abuild )
77[ ![ Documentation Status] ( https://readthedocs.org/projects/pyrtools/badge/?version=latest )] ( https://pyrtools.readthedocs.io/en/latest/?badge=latest )
88[ ![ DOI] ( https://zenodo.org/badge/137527035.svg )] ( https://zenodo.org/doi/10.5281/zenodo.10161031 )
9- [ ![ Binder] ( https://mybinder.org/badge_logo.svg )] ( https://mybinder.org/v2/gh/LabForComputationalVision/pyrtools/v1.0.3 ?filepath=TUTORIALS%2F )
9+ [ ![ Binder] ( https://mybinder.org/badge_logo.svg )] ( https://mybinder.org/v2/gh/LabForComputationalVision/pyrtools/v1.0.4 ?filepath=TUTORIALS%2F )
1010[ ![ codecov] ( https://codecov.io/gh/LabForComputationalVision/pyrtools/branch/main/graph/badge.svg?token=Ei9TYftdYi )] ( https://codecov.io/gh/LabForComputationalVision/pyrtools )
1111
1212Briefly, the tools include:
@@ -20,10 +20,11 @@ Briefly, the tools include:
2020 auto-scaling options, rounding to integer zoom factors to avoid
2121 resampling artifacts, and useful labeling (dimensions and gray-range).
2222
23- This is a python 3 port of Eero Simoncelli's matlabPyrTools, but it
24- does not attempt to recreate all of the matlab code from
25- matlabPyrTools. The goal is to create a Python interface for the C
26- code at the heart of matlabPyrTools.
23+ This is a python 3 port of Eero Simoncelli's
24+ [ matlabPyrTools] ( https://github.com/LabForComputationalVision/matlabPyrTools ) ,
25+ but it does not attempt to recreate all of the matlab code from matlabPyrTools.
26+ The goal is to create a Python interface for the C code at the heart of
27+ matlabPyrTools.
2728
2829** NOTE** : If you are only interested in the complex steerable pyramid, we have a
2930pytorch implementation in the
@@ -49,19 +50,6 @@ want the changes you make in the directory to be reflected in your
4950install) from the root directory of this project. The core of this
5051code is the C code, and the pip install will compile it nicely.
5152
52- ## Dependencies
53-
54- Dependencies are documented in ` setup.py ` .
55-
56- IPython is optional. If it's not installed,
57- ` pyrtools.display_tools.animshow ` must be called with ` as_html5=False `
58- (but since this is for displaying the animated image in a Jupyter /
59- IPython notebook, you probably won't need that functionality).
60-
61- For the C code to compile, we require ` gcc ` version >= 6, because of
62- [ this
63- issue] ( https://stackoverflow.com/questions/46504700/gcc-compiler-not-recognizing-fno-plt-option )
64-
6553# Pyramid resources
6654
6755If you would like to learn more about pyramids and why they're helpful
@@ -78,23 +66,9 @@ for image processing, here are some resources to get you started:
7866 - Notes from Eero Simoncelli on [ the Steerable
7967 Pyramid] ( http://www.cns.nyu.edu/~eero/STEERPYR/ )
8068
81- # Authors
82-
83- Rob Young and Eero Simoncelli, 7/13
84-
85- William Broderick, 6/17
86-
87- William Broderick, Pierre-Étienne Fiquet, Zhuo Wang, Zahra Kadkhodaie,
88- Nikhil Parthasarathy, and the Lab for Computational Vision, 4/19
89-
9069# Usage:
9170
92- method parameters mimic the matlab function parameters except that there's no
93- need to pass pyr or pind, since the pyPyrTools version pyr and pyrSize are
94- properties of the class.
95-
96- - load modules (note that if you installed via pip, you can skip the
97- first two lines):
71+ - load modules:
9872```
9973import pyrtools as pt
10074```
@@ -109,41 +83,29 @@ pyr = pt.pyramids.LaplacianPyramid(img)
10983recon_img = pyr.recon_pyr()
11084```
11185
112- Please see ` TUTORIALS/02_pyramids.ipynb ` for more examples. You can
113- start this with: ` jupyter notebook 02_pyramids.ipynb ` if you have iPython
114- and Jupyter installed.
86+ Please see ` TUTORIALS/02_pyramids.ipynb ` for more examples.
11587
116- # Testing
88+ # For developres
11789
118- All code should be considered a beta release. By that we mean that it is being
119- actively developed and tested. You can find unit tests in
120- ` TESTS/unitTests.py ` and run them with ` python TESTS/unitTests.py ` .
90+ ## Testing
12191
122- If you're using functions or parameters that do not have associated unit
123- tests you should test this yourself to make sure the results are correct.
124- You could then submit your test code, so that we can build more complete
125- unit tests.
92+ You can find unit tests in ` TESTS/unitTests.py ` and run them with `python
93+ TESTS/unitTests.py`.
12694
127- # Build the documentation
95+ ## Build the documentation
12896
12997NOTE: If you just want to read the documentation, you do not need to
13098do this; documentation is built automatically on
13199[ readthedocs] ( https://pyrtools.readthedocs.io/en/latest/ ) .
132100
133101However, it can be built locally as well. You would do this if you've
134102made changes locally to the documentation (or the docstrings) that you
135- would like to examine before pushing. The virtual environment required
136- to do so is defined in ` docs/environment.yml ` , so to create that
137- environment and build the docs, do the following from the project's
138- root directory:
103+ would like to examine before pushing.
139104
140105```
141- # install sphinx and required packages to build documentation
142- conda env create -f docs/environment.yml
143- # activate the environment
144- conda activate pyrtools_docs
145- # install pyrtools
146- pip install -e .
106+ # create a new virtual environment and then...
107+ # install pyrtools with sphinx and documentation-related dependencies
108+ pip install -e .[docs]
147109# build documentation
148110cd docs/
149111make html
@@ -152,10 +114,3 @@ make html
152114The index page of the documentation will then be located at
153115` docs/_build/html/index.html ` , open it in your browser to navigate
154116around.
155-
156- The ` pyrtools_docs ` environment you're creating contains the package
157- ` sphinx ` and several extensions for it that are required to build the
158- documentation. You also need to install ` pyrtools ` from your local
159- version so that ` sphinx ` can import the library and grab all of the
160- docstrings (you're installing the local version so you can see all the
161- changes you've made).
0 commit comments