Skip to content

Commit 34acecf

Browse files
authored
Merge pull request #76 from mptino/cli
Entry point improvements & support for configs as relative/absolute paths
2 parents 227ffd6 + 15210f9 commit 34acecf

17 files changed

Lines changed: 193 additions & 244 deletions

CONTRIBUTE.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Contribution Policy
2+
3+
* Open an issue in the shapelets [issue tracker](https://github.com/uw-comphys/shapelets/issues) and clearly describe your intentions on source code modifications
4+
* Ensure your modifications adhere to the existing standard of the shapelets library (i.e., do your docstrings follow the same format?)
5+
* Test your modifications by running the shapelets unit tests from the command-line via ``shapelets-test``
6+
* Once the issue has been discussed with a library author, you may open a pull request

README.md

Lines changed: 33 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,58 +4,62 @@
44

55
[![DOI](https://joss.theoj.org/papers/10.21105/joss.06058/status.svg)](https://doi.org/10.21105/joss.06058)
66

7-
[**Getting Started**](#getting-started)
8-
| [**Issues**](#issues)
7+
[**Main Features**](#main-features)
8+
| [**Getting Started**](#getting-started)
99
| [**Contribute**](#contribute)
1010
| [**Citation**](#citation)
11-
| [**Authors**](#authors)
1211

1312
## What is shapelets?
1413

15-
Shapelets is a Python-based library that implements several shapelet functions and some of their applications in science and engineering. Shapelet functions are a complete and orthogonal set of localized basis functions with mathematical properties convenient for image analysis and manipulation. Applications include:
14+
Shapelets is a Python library that implements several shapelet functions and some of their applications in science and engineering. Shapelet functions are a complete and orthogonal set of localized basis functions with mathematical properties convenient for various image analyses. Existing applications from the literature include:
1615

1716
* Astronomy/astrophysics ([A. Refregier (2003)](https://doi.org/10.1046/j.1365-8711.2003.05901.x), [R. Massey (2005)](https://doi.org/10.48550/arXiv.astro-ph/0408445), [J. Berge (2019)](https://doi.org/10.48550/arXiv.1903.05837))
1817
* Nanostructure characterization ([R. Suderman (2015)](http://dx.doi.org/10.1103/PhysRevE.91.033307), [T. Akdeniz (2018)](https://doi.org/10.1088/1361-6528/aaf353), [M. P. Tino (2024)](http://dx.doi.org/10.1088/1361-6528/ad1df4))
1918
* Computational neuroscience ([J. D. Victor (2006)](https://doi.org/10.1152/jn.00498.2005), [T. O. Sharpee (2009)](https://doi.org/10.1007%2Fs10827-008-0107-5))
2019
* Medical imaging ([J. Weissman (2004)](https://doi.org/10.1364/OPEX.12.005760))
2120

22-
The shapelets library provides reference code and documentation for the following shapelet functions:
21+
## Main features
2322

24-
* Cartesian shapelets ([A. Refregier (2003)](https://doi.org/10.1046/j.1365-8711.2003.05901.x))
23+
Shapelets provides implementations of the following shapelet functions from ``shapelets.core.functions``
24+
25+
* Cartesian shapelets ([A. Refregier (2003)](https://doi.org/10.1046/j.1365-8711.2003.05901.x))
2526
* Polar shapelets ([R. Massey (2005)](https://doi.org/10.48550/arXiv.astro-ph/0408445))
2627
* Exponential shapelets ([J. Berge (2019)](https://doi.org/10.48550/arXiv.1903.05837))
27-
* Orthonormal polar shapelets ([T. Akdeniz (2018)](https://doi.org/10.1088/1361-6528/aaf353), [M. P. Tino (2024)](https://hdl.handle.net/10012/20779))
28+
* Orthonormal polar shapelets with no radial extrema ([T. Akdeniz (2018)](https://doi.org/10.1088/1361-6528/aaf353))
29+
* Orthonormal polar shapelets with one degree of radial extrema ([M. P. Tino (2024)](https://hdl.handle.net/10012/20779))
30+
31+
It also implements several shapelets applications, such as
32+
* The response distance method ([R. Suderman (2015)](http://dx.doi.org/10.1103/PhysRevE.91.033307)) - see [example 1](https://uw-comphys.github.io/shapelets/shapelets/docs/example_1.html)
33+
* The defect identification method ([M. P. Tino (2024)](http://dx.doi.org/10.1088/1361-6528/ad1df4)) - see [example 2](https://uw-comphys.github.io/shapelets/shapelets/docs/example_2.html)
34+
* The local pattern orientation method ([M. P. Tino (2024)](http://dx.doi.org/10.1088/1361-6528/ad1df4)) - see [example 3](https://uw-comphys.github.io/shapelets/shapelets/docs/example_3.html)
35+
* Galaxy decomposition and reconstruction ([A. Refregier (2003)](https://doi.org/10.1046/j.1365-8711.2003.05901.x)) - see [example 4](https://uw-comphys.github.io/shapelets/shapelets/docs/example_4.html)
2836

2937
## Getting Started
3038

3139
If you have Python 3.10+ installed on your machine, you can install the shapelets library via pip:
3240

3341
pip install shapelets
3442

35-
Otherwise, consult the [official website](https://uw-comphys.github.io/shapelets/shapelets.html) for installation instructions.
36-
37-
## Issues
38-
39-
If you encounter any **problems** with shapelets, please create a post using the [issue tracker](https://github.com/uw-comphys/shapelets/issues). Provide a clear and concise description of the problem with images/code-snippets where appropriate. We will address these problems as fast as possible.
43+
Otherwise, consult the [installation guide](https://uw-comphys.github.io/shapelets/shapelets/docs/installation_guide.html).
44+
If you plan to use the shapelets library for your own work, please cite appropriately using this [citation](#citation).
45+
For any problems, create a post using the [issue tracker](https://github.com/uw-comphys/shapelets/issues).
4046

4147
## Contribute
4248

43-
The authors of the shapelets library welcome contributions to the source code. Please follow the contribution policy:
44-
45-
* Open an issue on the library [issue tracker](https://github.com/uw-comphys/shapelets/issues) clearly describing your intentions on code modifications
46-
* Ensure your modifications or additions adhere to the existing standard of the shapelets library (i.e. how are your docstrings?)
47-
* Test your modifications to ensure the integrity of the library is intact via the entry point: `shapelets-test`
48-
49-
* Once the issue has been discussed with a library author, you may open a pull request containing your modifications
49+
The authors of the shapelets library welcome contributions to the source code.
50+
Please follow the contribution policy [here](https://github.com/uw-comphys/shapelets/blob/main/CONTRIBUTE.md).
5051

5152
## Citation
52-
53-
If you plan to use shapelets in your own work, please cite using the **Cite this repository** dropdown button on the top right of this page (under *About*).
54-
55-
## Authors
56-
57-
* Matthew Peres Tino (mptino@uwaterloo.ca)
58-
* Abbas Yusuf Abdulaziz
59-
* Nasser Mohieddin Abukhdeir
60-
* Robert Suderman
61-
* Thomas Akdeniz
53+
```
54+
@article{TinoShapelets2024,
55+
author = {Tino, Matthew Peres and Abdulaziz, Abbas Yusuf and Suderman, Robert and Akdeniz, Thomas and Abukhdeir, Nasser Mohieddin},
56+
title = {Shapelets: A Python package implementing shapelet functions and their applications},
57+
doi = {10.21105/joss.06058},
58+
journal = {Journal of Open Source Software},
59+
number = {95},
60+
pages = {6058},
61+
volume = {9},
62+
year = {2024},
63+
url = {https://joss.theoj.org/papers/10.21105/joss.06058}
64+
}
65+
```

WEBHOME.md

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,54 +2,46 @@
22

33
## What is shapelets?
44

5-
Shapelets is a Python-based library that implements several shapelet functions and some of their applications in science and engineering. Shapelet functions are a complete and orthogonal set of localized basis functions with mathematical properties convenient for image analysis and manipulation. Applications include:
5+
Shapelets is a Python library that implements several shapelet functions and some of their applications in science and engineering. Shapelet functions are a complete and orthogonal set of localized basis functions with mathematical properties convenient for various image analyses. Existing applications from the literature include:
66

77
* Astronomy/astrophysics ([A. Refregier (2003)](https://doi.org/10.1046/j.1365-8711.2003.05901.x), [R. Massey (2005)](https://doi.org/10.48550/arXiv.astro-ph/0408445), [J. Berge (2019)](https://doi.org/10.48550/arXiv.1903.05837))
88
* Nanostructure characterization ([R. Suderman (2015)](http://dx.doi.org/10.1103/PhysRevE.91.033307), [T. Akdeniz (2018)](https://doi.org/10.1088/1361-6528/aaf353), [M. P. Tino (2024)](http://dx.doi.org/10.1088/1361-6528/ad1df4))
99
* Computational neuroscience ([J. D. Victor (2006)](https://doi.org/10.1152/jn.00498.2005), [T. O. Sharpee (2009)](https://doi.org/10.1007%2Fs10827-008-0107-5))
1010
* Medical imaging ([J. Weissman (2004)](https://doi.org/10.1364/OPEX.12.005760))
1111

12-
The shapelets library provides reference code and documentation for the following shapelet functions:
12+
## Main features
1313

14-
* Cartesian shapelets ([A. Refregier (2003)](https://doi.org/10.1046/j.1365-8711.2003.05901.x))
14+
Shapelets provides implementations of the following shapelet functions from ``shapelets.core.functions``
15+
16+
* Cartesian shapelets ([A. Refregier (2003)](https://doi.org/10.1046/j.1365-8711.2003.05901.x))
1517
* Polar shapelets ([R. Massey (2005)](https://doi.org/10.48550/arXiv.astro-ph/0408445))
1618
* Exponential shapelets ([J. Berge (2019)](https://doi.org/10.48550/arXiv.1903.05837))
17-
* Orthonormal polar shapelets ([T. Akdeniz (2018)](https://doi.org/10.1088/1361-6528/aaf353), [M. P. Tino (2024)](https://hdl.handle.net/10012/20779))
19+
* Orthonormal polar shapelets with no radial extrema ([T. Akdeniz (2018)](https://doi.org/10.1088/1361-6528/aaf353))
20+
* Orthonormal polar shapelets with one degree of radial extrema ([M. P. Tino (2024)](https://hdl.handle.net/10012/20779))
21+
22+
It also implements several shapelets applications, such as
23+
* The response distance method ([R. Suderman (2015)](http://dx.doi.org/10.1103/PhysRevE.91.033307)) - see [example 1](https://uw-comphys.github.io/shapelets/shapelets/docs/example_1.html)
24+
* The defect identification method ([M. P. Tino (2024)](http://dx.doi.org/10.1088/1361-6528/ad1df4)) - see [example 2](https://uw-comphys.github.io/shapelets/shapelets/docs/example_2.html)
25+
* The local pattern orientation method ([M. P. Tino (2024)](http://dx.doi.org/10.1088/1361-6528/ad1df4)) - see [example 3](https://uw-comphys.github.io/shapelets/shapelets/docs/example_3.html)
26+
* Galaxy decomposition and reconstruction ([A. Refregier (2003)](https://doi.org/10.1046/j.1365-8711.2003.05901.x)) - see [example 4](https://uw-comphys.github.io/shapelets/shapelets/docs/example_4.html)
1827

1928
## Getting Started
2029

21-
1. If you have Python 3.10+ installed, you can install the shapelets library via pip:
30+
If you have Python 3.10+ installed, you can install the shapelets library via pip:
2231
```
2332
pip install shapelets
2433
```
25-
2. If you do not have Python 3.10+ installed, consult the [installation guide](https://uw-comphys.github.io/shapelets/shapelets/docs/installation_guide.html).
26-
3. Consult the [examples](https://uw-comphys.github.io/shapelets/shapelets/docs.html) to see how the library can be used.
27-
4. Checkout other documentation:
28-
* [Custom Commands](https://uw-comphys.github.io/shapelets/shapelets/docs/custom_commands.html)
29-
* [Library Interface](https://uw-comphys.github.io/shapelets/shapelets/docs/library_interface.html)
30-
31-
If you plan to use the shapelets library for your own work, please cite appropriately using the [citation](#citation) below.
34+
If you do not have Python 3.10+ installed, consult the [installation guide](https://uw-comphys.github.io/shapelets/shapelets/docs/installation_guide.html). Be sure to also checkout the [custom commands](https://uw-comphys.github.io/shapelets/shapelets/docs/custom_commands.html) and [examples](https://uw-comphys.github.io/shapelets/shapelets/docs.html) to see which shapelets applications are implemented and how to interact with the shapelets library.
3235

33-
## Issues
34-
35-
If you encounter any **problems** with shapelets, please create a post using the [issue tracker](https://github.com/uw-comphys/shapelets/issues). Provide a clear and concise description of the problem with images/code-snippets where appropriate. We will address these problems as fast as possible.
36+
If you plan to use the shapelets library for your own work, please cite appropriately using this [citation](#citation).
37+
For any problems, create a post using the [issue tracker](https://github.com/uw-comphys/shapelets/issues).
3638

3739
## Contribute
3840

39-
The authors of the shapelets library welcome contributions to the source code. Please follow the contribution policy:
40-
41-
* Open an issue on the library [issue tracker](https://github.com/uw-comphys/shapelets/issues) clearly describing your intentions on code modifications
42-
* Ensure your modifications or additions adhere to the existing standard of the shapelets library (i.e. how are your docstrings?)
43-
* Test your modifications to ensure the integrity of the library is intact via the entry point:
44-
```
45-
shapelets-test
46-
```
47-
* Once the issue has been discussed with a library author, you may open a pull request containing your modifications
41+
The authors of the shapelets library welcome contributions to the source code.
42+
Please follow the contribution policy [here](https://github.com/uw-comphys/shapelets/blob/main/CONTRIBUTE.md).
4843

4944
## Citation
50-
51-
If you plan to use shapelets in your own work, please cite using the following bibtex citation:
52-
5345
```
5446
@article{TinoShapelets2024,
5547
author = {Tino, Matthew Peres and Abdulaziz, Abbas Yusuf and Suderman, Robert and Akdeniz, Thomas and Abukhdeir, Nasser Mohieddin},

0 commit comments

Comments
 (0)