mirror of
https://github.com/wassname/scikit-image.git
synced 2026-06-28 23:26:08 +08:00
b4b090271d
I've updated references in the code and documentation to the new name.
103 lines
3.9 KiB
Plaintext
103 lines
3.9 KiB
Plaintext
Development process
|
|
-------------------
|
|
|
|
:doc:`Read this overview <gitwash/index>` of how to use Git with
|
|
``skimage``. Here's the long and short of it:
|
|
|
|
* Go to `https://github.com/scikit-image/scikit-image
|
|
<http://github.com/scikit-image/scikit-image>`_ and follow the
|
|
instructions on making your own fork.
|
|
* Create a new branch for the feature you want to work on. Since the
|
|
branch name will appear in the merge message, use a sensible name
|
|
such as 'transform-speedups'.
|
|
* Commit locally as you progress.
|
|
* Push your changes back to github and create a pull request by
|
|
clicking "request pull" in GitHub.
|
|
* Optionally, mail the mailing list, explaining your changes.
|
|
|
|
.. note::
|
|
|
|
Do *not* merge the main branch into yours. If GitHub indicates that the
|
|
Pull Request can no longer be merged automatically, rebase onto master.
|
|
|
|
(If you are curious, here's a further discussion on
|
|
the `dangers of rebasing <http://tinyurl.com/lll385>`__. Also
|
|
see this `LWN article <http://tinyurl.com/nqcbkj>`__.)
|
|
|
|
* To reviewers: add a short explanation of what a branch did to the merge
|
|
message or, if closing a bug, add "Closes gh-XXXX".
|
|
|
|
You may also read this summary by Fernando Perez of the IPython
|
|
project on how they manage to keep review overhead to a minimum:
|
|
|
|
http://mail.scipy.org/pipermail/ipython-dev/2010-October/006746.html
|
|
|
|
Guidelines
|
|
``````````
|
|
* All code should have tests (see "Test coverage" below for more details).
|
|
* All code should be documented, to the same
|
|
`standard <http://projects.scipy.org/numpy/wiki/CodingStyleGuidelines>`_
|
|
as NumPy and SciPy. For new functionality, always add an example to the
|
|
gallery.
|
|
* Follow the `Python PEPs <http://www.python.org/dev/peps/pep-0008/>`_
|
|
where possible.
|
|
* No major changes should be committed without review. Ask on the
|
|
`mailing list <http://groups.google.com/group/scikit-image>`_ if
|
|
you get no response to your pull request.
|
|
* Examples in the gallery should have a maximum figure width of 8 inches.
|
|
|
|
Stylistic Guidelines
|
|
````````````````````
|
|
* Use numpy data types instead of strings (``np.uint8`` instead of
|
|
``"uint8"``).
|
|
|
|
* Use the following import conventions::
|
|
|
|
import numpy as np
|
|
import matplotlib.pyplot as plt
|
|
|
|
cimport numpy as cnp # in Cython code
|
|
|
|
* When documenting array parameters, use ``image : (M, N) ndarray``,
|
|
``image : (M, N, 3) ndarray`` and then refer to ``M`` and ``N`` in the
|
|
docstring.
|
|
|
|
* Set up your editor to remove trailing whitespace. Follow `PEP08
|
|
<www.python.org/dev/peps/pep-0008/>`__. Check code with pyflakes / flake8.
|
|
|
|
* If a function name, say ``segment(...)``, has the same name as the file in
|
|
which it is implemented, name that file ``_segment.py`` so that it can still
|
|
be imported. All Cython files start with an underscore, e.g.
|
|
``_some_module.pyx``.
|
|
|
|
* Functions should support all input image dtypes. Use utility functions such
|
|
as ``img_as_float`` to help convert to an appropriate type. The output
|
|
format can be whatever is most efficient. This allows us to string together
|
|
several functions into a pipeline, e.g.::
|
|
|
|
hough(canny(my_image))
|
|
|
|
Test coverage
|
|
`````````````
|
|
Tests for a module should ideally cover all code in that module,
|
|
i.e. statement coverage should be at 100%.
|
|
|
|
To measure the test coverage, install
|
|
`coverage.py <http://nedbatchelder.com/code/coverage/>`__
|
|
(using ``easy_install coverage``) and then run::
|
|
|
|
$ make coverage
|
|
|
|
This will print a report with one line for each file in `skimage`,
|
|
detailing the test coverage::
|
|
|
|
Name Stmts Exec Cover Missing
|
|
------------------------------------------------------------------------------
|
|
skimage/color/colorconv 77 77 100%
|
|
skimage/filter/__init__ 1 1 100%
|
|
...
|
|
|
|
Bugs
|
|
````
|
|
Please `report bugs on Github <https://github.com/scikit-image/scikit-image/issues>`_.
|