EllipSect 3.4.4__tar.gz → 3.4.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. ellipsect-3.4.9/.github/workflows/publish-pypi.yml +50 -0
  2. ellipsect-3.4.9/CITATION.cff +67 -0
  3. {ellipsect-3.4.4 → ellipsect-3.4.9}/PKG-INFO +39 -48
  4. {ellipsect-3.4.4 → ellipsect-3.4.9}/README.rst +35 -46
  5. {ellipsect-3.4.4 → ellipsect-3.4.9}/setup.cfg +1 -2
  6. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/EllipSect.egg-info/PKG-INFO +39 -48
  7. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/EllipSect.egg-info/SOURCES.txt +4 -0
  8. ellipsect-3.4.9/src/EllipSect.egg-info/scm_file_list.json +71 -0
  9. ellipsect-3.4.9/src/EllipSect.egg-info/scm_version.json +8 -0
  10. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/inout/plots.py +16 -6
  11. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/inout/read.py +16 -5
  12. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/sectors/ellip.py +11 -1
  13. {ellipsect-3.4.4 → ellipsect-3.4.9}/AUTHORS.rst +0 -0
  14. {ellipsect-3.4.4 → ellipsect-3.4.9}/CHANGELOG.rst +0 -0
  15. {ellipsect-3.4.4 → ellipsect-3.4.9}/CONTRIBUTING.rst +0 -0
  16. {ellipsect-3.4.4 → ellipsect-3.4.9}/LICENSE.txt +0 -0
  17. {ellipsect-3.4.4 → ellipsect-3.4.9}/docs/Makefile +0 -0
  18. {ellipsect-3.4.4 → ellipsect-3.4.9}/docs/_static/.gitignore +0 -0
  19. {ellipsect-3.4.4 → ellipsect-3.4.9}/docs/api.rst +0 -0
  20. {ellipsect-3.4.4 → ellipsect-3.4.9}/docs/authors.rst +0 -0
  21. {ellipsect-3.4.4 → ellipsect-3.4.9}/docs/changelog.rst +0 -0
  22. {ellipsect-3.4.4 → ellipsect-3.4.9}/docs/conf.py +0 -0
  23. {ellipsect-3.4.4 → ellipsect-3.4.9}/docs/contributing.rst +0 -0
  24. {ellipsect-3.4.4 → ellipsect-3.4.9}/docs/howto.rst +0 -0
  25. {ellipsect-3.4.4 → ellipsect-3.4.9}/docs/index.rst +0 -0
  26. {ellipsect-3.4.4 → ellipsect-3.4.9}/docs/license.rst +0 -0
  27. {ellipsect-3.4.4 → ellipsect-3.4.9}/docs/readme.rst +0 -0
  28. {ellipsect-3.4.4 → ellipsect-3.4.9}/docs/requirements.txt +0 -0
  29. {ellipsect-3.4.4 → ellipsect-3.4.9}/example/README +0 -0
  30. {ellipsect-3.4.4 → ellipsect-3.4.9}/example/gal.fits +0 -0
  31. {ellipsect-3.4.4 → ellipsect-3.4.9}/example/galfit.feedme +0 -0
  32. {ellipsect-3.4.4 → ellipsect-3.4.9}/example/psf.fits +0 -0
  33. {ellipsect-3.4.4 → ellipsect-3.4.9}/img/A2029.ring.png +0 -0
  34. {ellipsect-3.4.4 → ellipsect-3.4.9}/img/A85.con-cub.png +0 -0
  35. {ellipsect-3.4.4 → ellipsect-3.4.9}/img/A85.cub.png +0 -0
  36. {ellipsect-3.4.4 → ellipsect-3.4.9}/img/A85.def.png +0 -0
  37. {ellipsect-3.4.4 → ellipsect-3.4.9}/img/A85.ell-cub.png +0 -0
  38. {ellipsect-3.4.4 → ellipsect-3.4.9}/img/A85.grid.png +0 -0
  39. {ellipsect-3.4.4 → ellipsect-3.4.9}/img/A85.log.png +0 -0
  40. {ellipsect-3.4.4 → ellipsect-3.4.9}/img/A85.pix.png +0 -0
  41. {ellipsect-3.4.4 → ellipsect-3.4.9}/img/A85.png +0 -0
  42. {ellipsect-3.4.4 → ellipsect-3.4.9}/img/A85.ranx1.png +0 -0
  43. {ellipsect-3.4.4 → ellipsect-3.4.9}/img/A85.ranx2.png +0 -0
  44. {ellipsect-3.4.4 → ellipsect-3.4.9}/img/A85.rany1.png +0 -0
  45. {ellipsect-3.4.4 → ellipsect-3.4.9}/pyproject.toml +0 -0
  46. {ellipsect-3.4.4 → ellipsect-3.4.9}/setup.py +0 -0
  47. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/EllipSect.egg-info/dependency_links.txt +0 -0
  48. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/EllipSect.egg-info/entry_points.txt +0 -0
  49. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/EllipSect.egg-info/not-zip-safe +0 -0
  50. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/EllipSect.egg-info/requires.txt +0 -0
  51. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/EllipSect.egg-info/top_level.txt +0 -0
  52. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/__init__.py +0 -0
  53. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/ellipsectors.py +0 -0
  54. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/inout/__init__.py +0 -0
  55. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/inout/galfit.py +0 -0
  56. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/inout/gfits.py +0 -0
  57. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/inout/prt.py +0 -0
  58. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/lib/__init__.py +0 -0
  59. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/lib/clas.py +0 -0
  60. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/lib/libs.py +0 -0
  61. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/phot/__init__.py +0 -0
  62. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/phot/ned.py +0 -0
  63. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/phot/phot.py +0 -0
  64. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/phot/tidal.py +0 -0
  65. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/sectors/__init__.py +0 -0
  66. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/sectors/comp.py +0 -0
  67. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/sectors/num.py +0 -0
  68. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/sectors/sect.py +0 -0
  69. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/sky/__init__.py +0 -0
  70. {ellipsect-3.4.4 → ellipsect-3.4.9}/src/ellipsect/sky/sky.py +0 -0
  71. {ellipsect-3.4.4 → ellipsect-3.4.9}/tests/conftest.py +0 -0
  72. {ellipsect-3.4.4 → ellipsect-3.4.9}/tests/gal.fits +0 -0
  73. {ellipsect-3.4.4 → ellipsect-3.4.9}/tests/galfit.01 +0 -0
  74. {ellipsect-3.4.4 → ellipsect-3.4.9}/tests/imgblock.fits +0 -0
  75. {ellipsect-3.4.4 → ellipsect-3.4.9}/tests/psf.fits +0 -0
  76. {ellipsect-3.4.4 → ellipsect-3.4.9}/tests/test_ellipsect.py +0 -0
  77. {ellipsect-3.4.4 → ellipsect-3.4.9}/tox.ini +0 -0
@@ -0,0 +1,50 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ build:
10
+ name: Build distributions
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - name: Check out source
15
+ uses: actions/checkout@v5
16
+
17
+ - name: Set up Python
18
+ uses: actions/setup-python@v5
19
+ with:
20
+ python-version: "3.12"
21
+
22
+ - name: Install build tool
23
+ run: python -m pip install --upgrade build
24
+
25
+ - name: Build sdist and wheel
26
+ run: python -m build
27
+
28
+ - name: Upload distributions as artifact
29
+ uses: actions/upload-artifact@v4
30
+ with:
31
+ name: python-package-distributions
32
+ path: dist/
33
+
34
+ publish:
35
+ name: Upload to PyPI
36
+ needs: build
37
+ runs-on: ubuntu-latest
38
+ environment: pypi
39
+ permissions:
40
+ id-token: write
41
+
42
+ steps:
43
+ - name: Download distributions
44
+ uses: actions/download-artifact@v4
45
+ with:
46
+ name: python-package-distributions
47
+ path: dist/
48
+
49
+ - name: Publish distributions to PyPI
50
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,67 @@
1
+ cff-version: 1.2.0
2
+ message: "If you use this software, please cite the associated paper in the preferred-citation section."
3
+ title: "EllipSect: A surface brightness analysis tool for GALFIT output"
4
+ type: software
5
+ version: "v3.4.4"
6
+ date-released: "2025-01-04"
7
+ license: "GPL-3.0-only"
8
+ doi: "10.5281/zenodo.14597845"
9
+ url: "https://doi.org/10.5281/zenodo.14597845"
10
+ repository-code: "https://github.com/canorve/EllipSect"
11
+ abstract: "A surface brightness analysis and measurement tool for GALFIT output."
12
+ keywords:
13
+ - astronomy
14
+ - astrophysics
15
+ - photometry
16
+ - galaxies
17
+ - surface brightness
18
+ - GALFIT
19
+
20
+ authors:
21
+ - given-names: "Christopher"
22
+ family-names: "Añorve"
23
+ orcid: "https://orcid.org/0000-0002-3721-8869"
24
+ affiliation: "FACITE"
25
+ - given-names: "Ulises"
26
+ family-names: "Reyes-Amador"
27
+ orcid: "https://orcid.org/0000-0001-7707-7389"
28
+ affiliation: "IRyA-UNAM"
29
+ - given-names: "Diego"
30
+ family-names: "de Ramon Toledo"
31
+ affiliation: "FCC-BUAP"
32
+ - given-names: "Emmanuel"
33
+ family-names: "Ríos-López"
34
+ orcid: "https://orcid.org/0000-0002-4436-221X"
35
+ affiliation: "National Institute of Astrophysics, Optics and Electronics"
36
+ - given-names: "Omar"
37
+ family-names: "López-Cruz"
38
+ orcid: "https://orcid.org/0000-0002-1381-7437"
39
+ affiliation: "National Institute of Astrophysics, Optics and Electronics"
40
+
41
+ preferred-citation:
42
+ type: article
43
+ title: "EllipSect: A Surface Brightness Analysis Tool for GALFIT 3"
44
+ doi: "10.22201/ia.30618649e.2026.62.01.7524"
45
+ url: "https://astronomia.unam.mx/journals/rmxaa/article/view/10.22201.ia.30618649e.2026.62.01.7524"
46
+ journal: "Revista Mexicana de Astronomía y Astrofísica"
47
+ year: 2026
48
+ volume: 62
49
+ issue: 1
50
+ pages: "76-86"
51
+ month: 3
52
+ authors:
53
+ - given-names: "Christopher"
54
+ family-names: "Añorve"
55
+ orcid: "https://orcid.org/0000-0002-3721-8869"
56
+ - given-names: "Ulises"
57
+ family-names: "Reyes-Amador"
58
+ orcid: "https://orcid.org/0000-0001-7707-7389"
59
+ - given-names: "Diego"
60
+ family-names: "de Ramon Toledo"
61
+ - given-names: "Emmanuel"
62
+ family-names: "Ríos-López"
63
+ orcid: "https://orcid.org/0000-0002-4436-221X"
64
+ - given-names: "Omar"
65
+ family-names: "López-Cruz"
66
+ orcid: "https://orcid.org/0000-0002-1381-7437"
67
+
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: EllipSect
3
- Version: 3.4.4
3
+ Version: 3.4.9
4
4
  Summary: A surface brightness analysis tool for GALFIT output.
5
5
  Home-page: https://github.com/canorve/EllipSect
6
6
  Author: Christopher Añorve
@@ -18,6 +18,7 @@ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
18
18
  Classifier: Natural Language :: Spanish
19
19
  Classifier: Natural Language :: English
20
20
  Classifier: Topic :: Scientific/Engineering :: Astronomy
21
+ Requires-Python: >=3.8
21
22
  Description-Content-Type: text/x-rst; charset=UTF-8
22
23
  License-File: LICENSE.txt
23
24
  Requires-Dist: importlib-metadata; python_version < "3.8"
@@ -32,13 +33,15 @@ Provides-Extra: testing
32
33
  Requires-Dist: setuptools; extra == "testing"
33
34
  Requires-Dist: pytest; extra == "testing"
34
35
  Requires-Dist: pytest-cov; extra == "testing"
36
+ Dynamic: license-file
35
37
 
36
38
  .. contents::
37
39
  :depth: 3
38
- ..
39
40
 
40
41
 
41
- =============
42
+ EllipSect
43
+ =========
44
+
42
45
 
43
46
  .. image:: https://img.shields.io/pypi/v/EllipSect.svg
44
47
  :alt: PyPI-Server
@@ -52,15 +55,11 @@ Requires-Dist: pytest-cov; extra == "testing"
52
55
  :target: https://zenodo.org/badge/latestdoi/282223217
53
56
 
54
57
 
55
- **EllipSect**
56
- =============
57
-
58
-
59
58
 
60
59
  EllipSect creates surface brightness profiles and extracts other
61
- photometric data from the GALFIT output peng et al. (2002).
60
+ photometric data from the GALFIT output Peng et al. (2002).
62
61
 
63
- This code is “similar” (but not substitute) to IRAF’s ellipse routine. It
62
+ This code is “similar” to IRAF’s ellipse routine, but is is not a substitute for it. It
64
63
  creates a Surface brightness profile for the galaxy, model and
65
64
  , optionally, individual model components.
66
65
 
@@ -72,12 +71,11 @@ brightness at effective radius, percentage of total light per component,
72
71
  radius at 90% of light (for Sersic components only), effective radius in
73
72
  kpc, etc.
74
73
 
75
- --------------
76
74
 
77
- **Installation**
78
- ----------------
75
+ Installation
76
+ --------------
79
77
 
80
- The code is written for python 3.
78
+ The code is written for Python 3.
81
79
 
82
80
  The python libraries required are:
83
81
 
@@ -89,7 +87,7 @@ The python libraries required are:
89
87
 
90
88
  Install GALFIT if you haven't done so.
91
89
 
92
- Download the latest release, and installed it via
90
+ Download the latest release, and install it via
93
91
 
94
92
  ::
95
93
 
@@ -120,11 +118,10 @@ Run the automated tests:
120
118
 
121
119
 
122
120
  **Note**: *EllipSect* needs the GALFIT output files (GALFIT.XX) to work.
123
- Although *GALFIT* is not stricly required, it will required it to create
121
+ Although *GALFIT* is not strictly required, it will require it to create
124
122
  the model components and sigma image. Make sure you can call GALFIT from
125
123
  the command line. Otherwise the automated tests will fail.
126
124
 
127
- --------------
128
125
 
129
126
  For Linux or Mac, just run ellipsect in the command line:
130
127
 
@@ -134,13 +131,11 @@ For Linux or Mac, just run ellipsect in the command line:
134
131
 
135
132
  and that’s it!!
136
133
 
137
- --------------
138
134
 
139
- **HOW TO USE**
140
- ~~~~~~~~~~~~~~
135
+ HOW TO USE
136
+ ------------
141
137
 
142
138
  **easy run:**
143
- ^^^^^^^^^^^^^
144
139
 
145
140
  Once installed, run *ellipsect* in the same directory that you run
146
141
  GALFIT. It only requires the latest GALFIT’s output file. *The easiest
@@ -160,15 +155,14 @@ for more options:
160
155
 
161
156
  ellipsect --help
162
157
 
163
- **Full manual:**
164
- ^^^^^^^^^^^^^^^^
158
+ **Full manual**:
165
159
 
166
160
  To see other options for EllipSect:
167
161
 
168
- `How to use <docs/howto.rst>`__
162
+ `How to use <https://github.com/canorve/EllipSect/blob/master/docs/howto.rst>`__
163
+
169
164
 
170
- **Script run:**
171
- ^^^^^^^^^^^^^^^
165
+ **Script run**:
172
166
 
173
167
  If you want to use EllipSect inside your own python script, you can call
174
168
  it in the following way:
@@ -192,12 +186,11 @@ it in the following way:
192
186
  To check all the output variables besides AICrit and BulgeToTotal,
193
187
  check:
194
188
 
195
- `Output variables <docs/api.rst>`__
189
+ `Output variables <https://github.com/canorve/EllipSect/blob/master/docs/api.rst>`__
196
190
 
197
- --------------
198
191
 
199
- **Questions?**
200
- --------------
192
+ Questions?
193
+ -----------
201
194
 
202
195
  Do you have any questions or suggestions? Please send an email to
203
196
  canorve [at] gmail [dot] com or open an
@@ -206,30 +199,26 @@ canorve [at] gmail [dot] com or open an
206
199
  I’m open to new ideas that can benefit the software *EllipSect* and the
207
200
  *GALFIT* community
208
201
 
209
- --------------
210
202
 
211
- **License**
212
- -----------
203
+ License
204
+ ---------
213
205
 
214
206
  The code is under the license of **GNU**
215
207
 
216
208
 
217
- -----------
218
209
 
219
- **Cite as**
220
- -----------
210
+ Cite as
211
+ --------
221
212
 
222
213
  If you find this code useful, please cite as:
223
214
 
224
- Añorve, C., Reyes-Amador, U., Ríos-López, E., & López-Cruz, O. (2024).
225
- canorve/EllipSect: v3.4.3 (v3.4.3). Zenodo. https://doi.org/10.5281/zenodo.13994369
215
+ Añorve, C., Reyes-Amador, U., de Ramon Toledo, D., Ríos-López, E., & López-Cruz, O. (2026). EllipSect: A Surface Brightness Analysis Tool for GALFIT 3. Revista Mexicana de Astronomía y Astrofísica, 62(1). https://doi.org/10.22201/ia.30618649e.2026.62.01.7524
226
216
 
217
+ Zenodo repository: https://doi.org/10.5281/zenodo.14597845
227
218
 
228
219
 
229
- --------------
230
-
231
- **References**
232
- --------------
220
+ References
221
+ -----------
233
222
 
234
223
  Akaike, H. (1974). A New Look at the Statistical Model Identification.
235
224
  IEEE Transactions on Automatic Control, 19, 716–723.
@@ -276,15 +265,17 @@ doi:10.1088/0004-6256/138/5/1417
276
265
 
277
266
  Vikram, V., Wadadekar, Y., Kembhavi, A. K., & Vijayagovindan, G. V.
278
267
  (2010). PYMORPH: automated galaxy structural parameter estimation using
279
- PYTHON, 409(4), 1379–1392. doi:10.1111/j.1365-2966.2010.17426.x \__\_
268
+ PYTHON, 409(4), 1379–1392. doi:10.1111/j.1365-2966.2010.17426.x
269
+
280
270
 
281
- **Other Stuff**
282
- ---------------
271
+ Other Stuff
272
+ -----------
283
273
 
284
274
  Check my other project GALFITtools
285
275
  `here <https://github.com/canorve/GALFITools>`__
286
276
 
287
- --------------
277
+ .. |A85a| image:: https://raw.githubusercontent.com/canorve/EllipSect/master/img/A85.cub.png
278
+ .. |A85b| image:: https://raw.githubusercontent.com/canorve/EllipSect/master/img/A85.def.png
279
+
280
+
288
281
 
289
- .. |A85a| image:: img/A85.cub.png
290
- .. |A85b| image:: img/A85.def.png
@@ -1,9 +1,10 @@
1
1
  .. contents::
2
2
  :depth: 3
3
- ..
4
3
 
5
4
 
6
- =============
5
+ EllipSect
6
+ =========
7
+
7
8
 
8
9
  .. image:: https://img.shields.io/pypi/v/EllipSect.svg
9
10
  :alt: PyPI-Server
@@ -17,15 +18,11 @@
17
18
  :target: https://zenodo.org/badge/latestdoi/282223217
18
19
 
19
20
 
20
- **EllipSect**
21
- =============
22
-
23
-
24
21
 
25
22
  EllipSect creates surface brightness profiles and extracts other
26
- photometric data from the GALFIT output peng et al. (2002).
23
+ photometric data from the GALFIT output Peng et al. (2002).
27
24
 
28
- This code is “similar” (but not substitute) to IRAF’s ellipse routine. It
25
+ This code is “similar” to IRAF’s ellipse routine, but is is not a substitute for it. It
29
26
  creates a Surface brightness profile for the galaxy, model and
30
27
  , optionally, individual model components.
31
28
 
@@ -37,12 +34,11 @@ brightness at effective radius, percentage of total light per component,
37
34
  radius at 90% of light (for Sersic components only), effective radius in
38
35
  kpc, etc.
39
36
 
40
- --------------
41
37
 
42
- **Installation**
43
- ----------------
38
+ Installation
39
+ --------------
44
40
 
45
- The code is written for python 3.
41
+ The code is written for Python 3.
46
42
 
47
43
  The python libraries required are:
48
44
 
@@ -54,7 +50,7 @@ The python libraries required are:
54
50
 
55
51
  Install GALFIT if you haven't done so.
56
52
 
57
- Download the latest release, and installed it via
53
+ Download the latest release, and install it via
58
54
 
59
55
  ::
60
56
 
@@ -85,11 +81,10 @@ Run the automated tests:
85
81
 
86
82
 
87
83
  **Note**: *EllipSect* needs the GALFIT output files (GALFIT.XX) to work.
88
- Although *GALFIT* is not stricly required, it will required it to create
84
+ Although *GALFIT* is not strictly required, it will require it to create
89
85
  the model components and sigma image. Make sure you can call GALFIT from
90
86
  the command line. Otherwise the automated tests will fail.
91
87
 
92
- --------------
93
88
 
94
89
  For Linux or Mac, just run ellipsect in the command line:
95
90
 
@@ -99,13 +94,11 @@ For Linux or Mac, just run ellipsect in the command line:
99
94
 
100
95
  and that’s it!!
101
96
 
102
- --------------
103
97
 
104
- **HOW TO USE**
105
- ~~~~~~~~~~~~~~
98
+ HOW TO USE
99
+ ------------
106
100
 
107
101
  **easy run:**
108
- ^^^^^^^^^^^^^
109
102
 
110
103
  Once installed, run *ellipsect* in the same directory that you run
111
104
  GALFIT. It only requires the latest GALFIT’s output file. *The easiest
@@ -125,15 +118,14 @@ for more options:
125
118
 
126
119
  ellipsect --help
127
120
 
128
- **Full manual:**
129
- ^^^^^^^^^^^^^^^^
121
+ **Full manual**:
130
122
 
131
123
  To see other options for EllipSect:
132
124
 
133
- `How to use <docs/howto.rst>`__
125
+ `How to use <https://github.com/canorve/EllipSect/blob/master/docs/howto.rst>`__
126
+
134
127
 
135
- **Script run:**
136
- ^^^^^^^^^^^^^^^
128
+ **Script run**:
137
129
 
138
130
  If you want to use EllipSect inside your own python script, you can call
139
131
  it in the following way:
@@ -157,12 +149,11 @@ it in the following way:
157
149
  To check all the output variables besides AICrit and BulgeToTotal,
158
150
  check:
159
151
 
160
- `Output variables <docs/api.rst>`__
152
+ `Output variables <https://github.com/canorve/EllipSect/blob/master/docs/api.rst>`__
161
153
 
162
- --------------
163
154
 
164
- **Questions?**
165
- --------------
155
+ Questions?
156
+ -----------
166
157
 
167
158
  Do you have any questions or suggestions? Please send an email to
168
159
  canorve [at] gmail [dot] com or open an
@@ -171,30 +162,26 @@ canorve [at] gmail [dot] com or open an
171
162
  I’m open to new ideas that can benefit the software *EllipSect* and the
172
163
  *GALFIT* community
173
164
 
174
- --------------
175
165
 
176
- **License**
177
- -----------
166
+ License
167
+ ---------
178
168
 
179
169
  The code is under the license of **GNU**
180
170
 
181
171
 
182
- -----------
183
172
 
184
- **Cite as**
185
- -----------
173
+ Cite as
174
+ --------
186
175
 
187
176
  If you find this code useful, please cite as:
188
177
 
189
- Añorve, C., Reyes-Amador, U., Ríos-López, E., & López-Cruz, O. (2024).
190
- canorve/EllipSect: v3.4.3 (v3.4.3). Zenodo. https://doi.org/10.5281/zenodo.13994369
178
+ Añorve, C., Reyes-Amador, U., de Ramon Toledo, D., Ríos-López, E., & López-Cruz, O. (2026). EllipSect: A Surface Brightness Analysis Tool for GALFIT 3. Revista Mexicana de Astronomía y Astrofísica, 62(1). https://doi.org/10.22201/ia.30618649e.2026.62.01.7524
191
179
 
180
+ Zenodo repository: https://doi.org/10.5281/zenodo.14597845
192
181
 
193
182
 
194
- --------------
195
-
196
- **References**
197
- --------------
183
+ References
184
+ -----------
198
185
 
199
186
  Akaike, H. (1974). A New Look at the Statistical Model Identification.
200
187
  IEEE Transactions on Automatic Control, 19, 716–723.
@@ -241,15 +228,17 @@ doi:10.1088/0004-6256/138/5/1417
241
228
 
242
229
  Vikram, V., Wadadekar, Y., Kembhavi, A. K., & Vijayagovindan, G. V.
243
230
  (2010). PYMORPH: automated galaxy structural parameter estimation using
244
- PYTHON, 409(4), 1379–1392. doi:10.1111/j.1365-2966.2010.17426.x \__\_
231
+ PYTHON, 409(4), 1379–1392. doi:10.1111/j.1365-2966.2010.17426.x
232
+
245
233
 
246
- **Other Stuff**
247
- ---------------
234
+ Other Stuff
235
+ -----------
248
236
 
249
237
  Check my other project GALFITtools
250
238
  `here <https://github.com/canorve/GALFITools>`__
251
239
 
252
- --------------
240
+ .. |A85a| image:: https://raw.githubusercontent.com/canorve/EllipSect/master/img/A85.cub.png
241
+ .. |A85b| image:: https://raw.githubusercontent.com/canorve/EllipSect/master/img/A85.def.png
242
+
243
+
253
244
 
254
- .. |A85a| image:: img/A85.cub.png
255
- .. |A85b| image:: img/A85.def.png
@@ -28,8 +28,7 @@ packages = find_namespace:
28
28
  include_package_data = True
29
29
  package_dir =
30
30
  =src
31
-
32
- python_requires = >=3.8
31
+ python_requires = >=3.8
33
32
  install_requires =
34
33
  importlib-metadata; python_version<"3.8"
35
34
  importlib-metadata #; python_version<"3.8"
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: EllipSect
3
- Version: 3.4.4
3
+ Version: 3.4.9
4
4
  Summary: A surface brightness analysis tool for GALFIT output.
5
5
  Home-page: https://github.com/canorve/EllipSect
6
6
  Author: Christopher Añorve
@@ -18,6 +18,7 @@ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
18
18
  Classifier: Natural Language :: Spanish
19
19
  Classifier: Natural Language :: English
20
20
  Classifier: Topic :: Scientific/Engineering :: Astronomy
21
+ Requires-Python: >=3.8
21
22
  Description-Content-Type: text/x-rst; charset=UTF-8
22
23
  License-File: LICENSE.txt
23
24
  Requires-Dist: importlib-metadata; python_version < "3.8"
@@ -32,13 +33,15 @@ Provides-Extra: testing
32
33
  Requires-Dist: setuptools; extra == "testing"
33
34
  Requires-Dist: pytest; extra == "testing"
34
35
  Requires-Dist: pytest-cov; extra == "testing"
36
+ Dynamic: license-file
35
37
 
36
38
  .. contents::
37
39
  :depth: 3
38
- ..
39
40
 
40
41
 
41
- =============
42
+ EllipSect
43
+ =========
44
+
42
45
 
43
46
  .. image:: https://img.shields.io/pypi/v/EllipSect.svg
44
47
  :alt: PyPI-Server
@@ -52,15 +55,11 @@ Requires-Dist: pytest-cov; extra == "testing"
52
55
  :target: https://zenodo.org/badge/latestdoi/282223217
53
56
 
54
57
 
55
- **EllipSect**
56
- =============
57
-
58
-
59
58
 
60
59
  EllipSect creates surface brightness profiles and extracts other
61
- photometric data from the GALFIT output peng et al. (2002).
60
+ photometric data from the GALFIT output Peng et al. (2002).
62
61
 
63
- This code is “similar” (but not substitute) to IRAF’s ellipse routine. It
62
+ This code is “similar” to IRAF’s ellipse routine, but is is not a substitute for it. It
64
63
  creates a Surface brightness profile for the galaxy, model and
65
64
  , optionally, individual model components.
66
65
 
@@ -72,12 +71,11 @@ brightness at effective radius, percentage of total light per component,
72
71
  radius at 90% of light (for Sersic components only), effective radius in
73
72
  kpc, etc.
74
73
 
75
- --------------
76
74
 
77
- **Installation**
78
- ----------------
75
+ Installation
76
+ --------------
79
77
 
80
- The code is written for python 3.
78
+ The code is written for Python 3.
81
79
 
82
80
  The python libraries required are:
83
81
 
@@ -89,7 +87,7 @@ The python libraries required are:
89
87
 
90
88
  Install GALFIT if you haven't done so.
91
89
 
92
- Download the latest release, and installed it via
90
+ Download the latest release, and install it via
93
91
 
94
92
  ::
95
93
 
@@ -120,11 +118,10 @@ Run the automated tests:
120
118
 
121
119
 
122
120
  **Note**: *EllipSect* needs the GALFIT output files (GALFIT.XX) to work.
123
- Although *GALFIT* is not stricly required, it will required it to create
121
+ Although *GALFIT* is not strictly required, it will require it to create
124
122
  the model components and sigma image. Make sure you can call GALFIT from
125
123
  the command line. Otherwise the automated tests will fail.
126
124
 
127
- --------------
128
125
 
129
126
  For Linux or Mac, just run ellipsect in the command line:
130
127
 
@@ -134,13 +131,11 @@ For Linux or Mac, just run ellipsect in the command line:
134
131
 
135
132
  and that’s it!!
136
133
 
137
- --------------
138
134
 
139
- **HOW TO USE**
140
- ~~~~~~~~~~~~~~
135
+ HOW TO USE
136
+ ------------
141
137
 
142
138
  **easy run:**
143
- ^^^^^^^^^^^^^
144
139
 
145
140
  Once installed, run *ellipsect* in the same directory that you run
146
141
  GALFIT. It only requires the latest GALFIT’s output file. *The easiest
@@ -160,15 +155,14 @@ for more options:
160
155
 
161
156
  ellipsect --help
162
157
 
163
- **Full manual:**
164
- ^^^^^^^^^^^^^^^^
158
+ **Full manual**:
165
159
 
166
160
  To see other options for EllipSect:
167
161
 
168
- `How to use <docs/howto.rst>`__
162
+ `How to use <https://github.com/canorve/EllipSect/blob/master/docs/howto.rst>`__
163
+
169
164
 
170
- **Script run:**
171
- ^^^^^^^^^^^^^^^
165
+ **Script run**:
172
166
 
173
167
  If you want to use EllipSect inside your own python script, you can call
174
168
  it in the following way:
@@ -192,12 +186,11 @@ it in the following way:
192
186
  To check all the output variables besides AICrit and BulgeToTotal,
193
187
  check:
194
188
 
195
- `Output variables <docs/api.rst>`__
189
+ `Output variables <https://github.com/canorve/EllipSect/blob/master/docs/api.rst>`__
196
190
 
197
- --------------
198
191
 
199
- **Questions?**
200
- --------------
192
+ Questions?
193
+ -----------
201
194
 
202
195
  Do you have any questions or suggestions? Please send an email to
203
196
  canorve [at] gmail [dot] com or open an
@@ -206,30 +199,26 @@ canorve [at] gmail [dot] com or open an
206
199
  I’m open to new ideas that can benefit the software *EllipSect* and the
207
200
  *GALFIT* community
208
201
 
209
- --------------
210
202
 
211
- **License**
212
- -----------
203
+ License
204
+ ---------
213
205
 
214
206
  The code is under the license of **GNU**
215
207
 
216
208
 
217
- -----------
218
209
 
219
- **Cite as**
220
- -----------
210
+ Cite as
211
+ --------
221
212
 
222
213
  If you find this code useful, please cite as:
223
214
 
224
- Añorve, C., Reyes-Amador, U., Ríos-López, E., & López-Cruz, O. (2024).
225
- canorve/EllipSect: v3.4.3 (v3.4.3). Zenodo. https://doi.org/10.5281/zenodo.13994369
215
+ Añorve, C., Reyes-Amador, U., de Ramon Toledo, D., Ríos-López, E., & López-Cruz, O. (2026). EllipSect: A Surface Brightness Analysis Tool for GALFIT 3. Revista Mexicana de Astronomía y Astrofísica, 62(1). https://doi.org/10.22201/ia.30618649e.2026.62.01.7524
226
216
 
217
+ Zenodo repository: https://doi.org/10.5281/zenodo.14597845
227
218
 
228
219
 
229
- --------------
230
-
231
- **References**
232
- --------------
220
+ References
221
+ -----------
233
222
 
234
223
  Akaike, H. (1974). A New Look at the Statistical Model Identification.
235
224
  IEEE Transactions on Automatic Control, 19, 716–723.
@@ -276,15 +265,17 @@ doi:10.1088/0004-6256/138/5/1417
276
265
 
277
266
  Vikram, V., Wadadekar, Y., Kembhavi, A. K., & Vijayagovindan, G. V.
278
267
  (2010). PYMORPH: automated galaxy structural parameter estimation using
279
- PYTHON, 409(4), 1379–1392. doi:10.1111/j.1365-2966.2010.17426.x \__\_
268
+ PYTHON, 409(4), 1379–1392. doi:10.1111/j.1365-2966.2010.17426.x
269
+
280
270
 
281
- **Other Stuff**
282
- ---------------
271
+ Other Stuff
272
+ -----------
283
273
 
284
274
  Check my other project GALFITtools
285
275
  `here <https://github.com/canorve/GALFITools>`__
286
276
 
287
- --------------
277
+ .. |A85a| image:: https://raw.githubusercontent.com/canorve/EllipSect/master/img/A85.cub.png
278
+ .. |A85b| image:: https://raw.githubusercontent.com/canorve/EllipSect/master/img/A85.def.png
279
+
280
+
288
281
 
289
- .. |A85a| image:: img/A85.cub.png
290
- .. |A85b| image:: img/A85.def.png
@@ -1,5 +1,6 @@
1
1
  AUTHORS.rst
2
2
  CHANGELOG.rst
3
+ CITATION.cff
3
4
  CONTRIBUTING.rst
4
5
  LICENSE.txt
5
6
  README.rst
@@ -7,6 +8,7 @@ pyproject.toml
7
8
  setup.cfg
8
9
  setup.py
9
10
  tox.ini
11
+ .github/workflows/publish-pypi.yml
10
12
  docs/Makefile
11
13
  docs/api.rst
12
14
  docs/authors.rst
@@ -41,6 +43,8 @@ src/EllipSect.egg-info/dependency_links.txt
41
43
  src/EllipSect.egg-info/entry_points.txt
42
44
  src/EllipSect.egg-info/not-zip-safe
43
45
  src/EllipSect.egg-info/requires.txt
46
+ src/EllipSect.egg-info/scm_file_list.json
47
+ src/EllipSect.egg-info/scm_version.json
44
48
  src/EllipSect.egg-info/top_level.txt
45
49
  src/ellipsect/__init__.py
46
50
  src/ellipsect/ellipsectors.py
@@ -0,0 +1,71 @@
1
+ {
2
+ "files": [
3
+ "README.rst",
4
+ "CHANGELOG.rst",
5
+ "CONTRIBUTING.rst",
6
+ "pyproject.toml",
7
+ "setup.cfg",
8
+ "setup.py",
9
+ "tox.ini",
10
+ "CITATION.cff",
11
+ "LICENSE.txt",
12
+ "AUTHORS.rst",
13
+ "img/A85.log.png",
14
+ "img/A2029.ring.png",
15
+ "img/A85.con-cub.png",
16
+ "img/A85.def.png",
17
+ "img/A85.grid.png",
18
+ "img/A85.ranx1.png",
19
+ "img/A85.cub.png",
20
+ "img/A85.ell-cub.png",
21
+ "img/A85.rany1.png",
22
+ "img/A85.pix.png",
23
+ "img/A85.ranx2.png",
24
+ "img/A85.png",
25
+ "example/galfit.feedme",
26
+ "example/gal.fits",
27
+ "example/psf.fits",
28
+ "example/README",
29
+ "tests/test_ellipsect.py",
30
+ "tests/gal.fits",
31
+ "tests/imgblock.fits",
32
+ "tests/psf.fits",
33
+ "tests/conftest.py",
34
+ "tests/galfit.01",
35
+ ".github/workflows/publish-pypi.yml",
36
+ "docs/api.rst",
37
+ "docs/contributing.rst",
38
+ "docs/requirements.txt",
39
+ "docs/license.rst",
40
+ "docs/howto.rst",
41
+ "docs/authors.rst",
42
+ "docs/index.rst",
43
+ "docs/conf.py",
44
+ "docs/readme.rst",
45
+ "docs/changelog.rst",
46
+ "docs/Makefile",
47
+ "docs/_static/.gitignore",
48
+ "src/ellipsect/__init__.py",
49
+ "src/ellipsect/ellipsectors.py",
50
+ "src/ellipsect/sky/__init__.py",
51
+ "src/ellipsect/sky/sky.py",
52
+ "src/ellipsect/sectors/num.py",
53
+ "src/ellipsect/sectors/sect.py",
54
+ "src/ellipsect/sectors/__init__.py",
55
+ "src/ellipsect/sectors/comp.py",
56
+ "src/ellipsect/sectors/ellip.py",
57
+ "src/ellipsect/inout/read.py",
58
+ "src/ellipsect/inout/prt.py",
59
+ "src/ellipsect/inout/__init__.py",
60
+ "src/ellipsect/inout/gfits.py",
61
+ "src/ellipsect/inout/galfit.py",
62
+ "src/ellipsect/inout/plots.py",
63
+ "src/ellipsect/phot/tidal.py",
64
+ "src/ellipsect/phot/__init__.py",
65
+ "src/ellipsect/phot/phot.py",
66
+ "src/ellipsect/phot/ned.py",
67
+ "src/ellipsect/lib/__init__.py",
68
+ "src/ellipsect/lib/clas.py",
69
+ "src/ellipsect/lib/libs.py"
70
+ ]
71
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "3.4.9",
3
+ "distance": 0,
4
+ "node": "g71d5f119ff7936b21a3df0c24b078c906cad5584",
5
+ "dirty": false,
6
+ "branch": "v349",
7
+ "node_date": "2026-07-09"
8
+ }
@@ -26,6 +26,8 @@ from ellipsect.inout.prt import PrintFilesComps
26
26
  from ellipsect.inout.galfit import conver2Sersic
27
27
  from ellipsect.inout.galfit import GetReff
28
28
 
29
+ from matplotlib.ticker import AutoLocator, AutoMinorLocator, ScalarFormatter
30
+
29
31
  def PlotSB(xradq, ysbq, ysberrq, xradm, ysbm, ysberrm, ellconf, scale):
30
32
  """ Produces final best-fitting plot """
31
33
 
@@ -33,13 +35,14 @@ def PlotSB(xradq, ysbq, ysberrq, xradm, ysbm, ysberrm, ellconf, scale):
33
35
  plt.close('all')
34
36
 
35
37
 
36
-
38
+ fig = plt.figure() # optionally: figsize=(6.4, 4.8)
37
39
  #ULISES begin
38
40
  #fig, (axsec, axred) = plt.subplots(2, sharex=True, sharey=False)
39
- gs = gridspec.GridSpec(2, 1,height_ratios=[3,1])
41
+ gs = gridspec.GridSpec(2, 1,height_ratios=[3,1],hspace=0.07)
40
42
  gs.update(hspace=0.07)
41
43
  #ULISES end
42
44
 
45
+ fig.subplots_adjust(bottom=0.16, left=0.20, top=0.85) # try 0.14–0.22
43
46
 
44
47
  if ellconf.flagranx == True:
45
48
  (xmin,xmax)=ellconf.ranx[0], ellconf.ranx[1]
@@ -58,9 +61,9 @@ def PlotSB(xradq, ysbq, ysberrq, xradm, ysbm, ysberrm, ellconf, scale):
58
61
 
59
62
 
60
63
  # ULISES begin
61
- axsec = plt.subplot(gs[0])
62
-
63
- axsec.set_ylabel(r"Surface Brightness $(mag\; arcsec^{-2})$")
64
+ #axsec = plt.subplot(gs[0])
65
+ axsec = fig.add_subplot(gs[0])
66
+ axsec.set_ylabel("Surface Brightness\n(mag arcsec$^{-2})$",labelpad=12)
64
67
  # ULISES end
65
68
 
66
69
  axsec.errorbar(xradq, ysbq, yerr=ysberrq,fmt='o-',capsize=2,color='red',markersize=0.7,label="galaxy",linewidth=2)
@@ -148,7 +151,9 @@ def PlotSB(xradq, ysbq, ysberrq, xradm, ysbm, ysberrm, ellconf, scale):
148
151
  err = ((ysbm/ysbq**2)**2) * ysberrq**2 + ((1/ysbq)**2) * ysberrm**2
149
152
  err = np.sqrt(err)*100
150
153
 
151
- axred = plt.subplot(gs[1])
154
+ #axred = plt.subplot(gs[1])
155
+ axred = fig.add_subplot(gs[1], sharex=axsec)
156
+
152
157
 
153
158
  if len(xradq) != len(residual):
154
159
  axred.errorbar(xradm, residual, yerr=err,fmt='.',capsize=2,color='k')
@@ -174,6 +179,9 @@ def PlotSB(xradq, ysbq, ysberrq, xradm, ysbm, ysberrm, ellconf, scale):
174
179
  else:
175
180
  axred.xaxis.set_minor_locator(AutoMinorLocator())
176
181
  axred.xaxis.set_major_locator(AutoLocator())
182
+ axred.xaxis.set_major_formatter(ScalarFormatter())
183
+ axred.tick_params(axis="x", labelbottom=True)
184
+
177
185
 
178
186
 
179
187
 
@@ -492,6 +500,8 @@ def PlotMul(ellconf, galhead, galcomps, mgegal, mgemod, mgecom):
492
500
 
493
501
  fig, axsec = plt.subplots(nrows, 2, sharex=True, sharey='col', num=fignum)
494
502
  fig.subplots_adjust(hspace=0.01)
503
+ fig.subplots_adjust(left=0.16)
504
+ fig.subplots_adjust(bottom=0.15)
495
505
 
496
506
 
497
507
 
@@ -135,8 +135,9 @@ def InitParsing():
135
135
 
136
136
 
137
137
  parser.add_argument("-nc","--numcomp", type=int, help="component number to"
138
- + "select for galaxy center. Default = first component. The "
139
- + "component order follows as it is shown in galfit file ",default=1)
138
+ + "select for galaxy center. Default = first component."
139
+ + "If it is not 1, q and pa are taken from this component "
140
+ + "The component order follows as it is shown in galfit file ",default=1)
140
141
 
141
142
 
142
143
  parser.add_argument("-ae","--aext", type=float,
@@ -252,17 +253,27 @@ def ReadGALFITout(ellconf,galhead,galcomps):
252
253
  hdu.writeto(galhead.tempmask, overwrite=True)
253
254
 
254
255
 
255
- def GetEllInfo(ellconf,galcomps):
256
+ def GetEllInfo(ellconf, galcomps):
256
257
  '''Gets geometry information from the last component'''
257
258
 
258
259
 
259
260
  maskactive = (galcomps.Active == True)
260
261
 
262
+
261
263
  if ellconf.flagq == False:
262
- ellconf.qarg = galcomps.AxRat[maskactive][-1]
264
+
265
+ if ellconf.numcomp != 1:
266
+ ellconf.qarg = galcomps.AxRat[maskactive][ellconf.numcomp - 1]
267
+ else:
268
+ ellconf.qarg = galcomps.AxRat[maskactive][-1]
263
269
 
264
270
  if ellconf.flagpa == False:
265
- ellconf.parg = galcomps.PosAng[maskactive][-1]
271
+ if ellconf.numcomp != 1:
272
+ ellconf.parg = galcomps.PosAng[maskactive][ellconf.numcomp - 1]
273
+ else:
274
+ ellconf.parg = galcomps.PosAng[maskactive][-1]
275
+
276
+
266
277
 
267
278
  #for the center, it obtains it from the first component
268
279
  #if ellconf.flagcent == False:
@@ -63,7 +63,17 @@ def EllipSectors(ellconf, galhead, galcomps, sectgalax, sectmodel, sectcomps, n_
63
63
  xradq, ysbq, n = SubComp(ellconf, galhead, galcomps, sectcomps, axsec, n_sectors = n_sectors)
64
64
 
65
65
 
66
- axsec.legend(loc=1)
66
+ #axsec.legend(loc=1)
67
+
68
+ axsec.legend(
69
+ loc="upper right",
70
+ fontsize=8.5,
71
+ framealpha=0.8, # semi-transparent
72
+ borderpad=0.3,
73
+ labelspacing=0.28,
74
+ handlelength=1.8,
75
+ )
76
+
67
77
 
68
78
  return limx,limy
69
79
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes