You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
2.0 KiB

  1. # Contributing to nd2reader
  2. We welcome feature proposals and improvements to the library from anyone. If you just have an idea, you can open an [issue](https://github.com/rbnvrw/nd2reader/issues) for
  3. discussion, or get in touch with Ruben Verweij. If you already wrote some code or made changes, simply open a pull
  4. request.
  5. ## Running and Writing Tests
  6. Unit tests can be run with the commands `python3.4 test.py` and `python2.7 test.py`. The test finder will automatically locate any tests in the `tests` directory. Test classes
  7. must inherit from `unittest.TestCase` and tests will only be run if the function name starts with `test`. If you've built the Docker image, you can also run unit tests with
  8. `make test` - this will conveniently run tests for all supported versions of Python.
  9. There are also functional tests that work with real ND2s to make sure the code actually works with a wide variety of files. We hope to someday put these into a continuous integration
  10. system so everyone can benefit, but for now, they will just be manually run by the maintainer of this library before merging in any contributions.
  11. ## Contributing Your ND2 files
  12. We always appreciate more ND2s, as they help us find corner cases. Please get in touch using any of the means listed at the top of this page if you'd like to send one in.
  13. ## Docker and Makefile Commands
  14. A Dockerfile is included to allow testing in a consistent environment. `make build` will build the image for you. Due to the large number of packages that it installs, it often
  15. fails due to a problem with the Debian servers - just try again if this happens. Once that's complete, you can run `make py2` or `make py3` to enter into a Python interpreter in
  16. the container to test things out manually. This assumes you have the directory `~/nd2s` - any ND2 files placed there will be available in the container at `/var/nds2`. You can
  17. view images with scikit-image with something like the code below:
  18. ```
  19. from nd2reader import Nd2
  20. from skimage import io
  21. n = Nd2("/var/nd2s/my.nd2")
  22. io.imshow(n[37])
  23. io.show()
  24. ```