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.

39 lines
2.4 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/jimrybarski/nd2reader/issues) for
  3. discussion, or get in touch with Jim Rybarski via email at jim@rybarski.com, or on Twitter at [@jimrybarski](https://twitter.com/jimrybarski). If you already wrote some code or made changes, simply open a pull
  4. request.
  5. ## Easy Tasks for Beginners
  6. There are issues labeled `easy` which are small but useful tasks that are designed for people who are new to open source projects. If you'd like to work on one, feel free to just
  7. take one on, or get in touch if you need help.
  8. ## Running and Writing Tests
  9. 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
  10. 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
  11. `make test` - this will conveniently run tests for all supported versions of Python.
  12. 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
  13. 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.
  14. ## Contributing Your ND2 files
  15. 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.
  16. ## Docker and Makefile Commands
  17. 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
  18. 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
  19. 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
  20. view images with scikit-image with something like the code below:
  21. ```
  22. from nd2reader import Nd2
  23. from skimage import io
  24. n = Nd2("/var/nd2s/my.nd2")
  25. io.imshow(n[37])
  26. io.show()
  27. ```