takefits 0.2.0__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.
- takefits-0.2.0/LICENSE +21 -0
- takefits-0.2.0/PKG-INFO +154 -0
- takefits-0.2.0/README.md +119 -0
- takefits-0.2.0/pyproject.toml +55 -0
- takefits-0.2.0/setup.cfg +4 -0
- takefits-0.2.0/takefits/__init__.py +3 -0
- takefits-0.2.0/takefits/__main__.py +4 -0
- takefits-0.2.0/takefits/app_paths.py +21 -0
- takefits-0.2.0/takefits/core/__init__.py +0 -0
- takefits-0.2.0/takefits/core/action_session.py +319 -0
- takefits-0.2.0/takefits/core/actions.py +927 -0
- takefits-0.2.0/takefits/core/ai_handler.py +607 -0
- takefits-0.2.0/takefits/core/annotation_serialization.py +250 -0
- takefits-0.2.0/takefits/core/app_state.py +336 -0
- takefits-0.2.0/takefits/core/click_label_layout.py +63 -0
- takefits-0.2.0/takefits/core/color.py +21 -0
- takefits-0.2.0/takefits/core/colorbar_layout.py +176 -0
- takefits-0.2.0/takefits/core/common.py +290 -0
- takefits-0.2.0/takefits/core/config.py +175 -0
- takefits-0.2.0/takefits/core/contour_manager.py +1860 -0
- takefits-0.2.0/takefits/core/coordinate.py +800 -0
- takefits-0.2.0/takefits/core/coordinate_state.py +263 -0
- takefits-0.2.0/takefits/core/custom_colormap.py +71 -0
- takefits-0.2.0/takefits/core/history_provenance.py +154 -0
- takefits-0.2.0/takefits/core/io/__init__.py +1 -0
- takefits-0.2.0/takefits/core/io/fits.py +547 -0
- takefits-0.2.0/takefits/core/io/save_fits.py +37 -0
- takefits-0.2.0/takefits/core/marker.py +948 -0
- takefits-0.2.0/takefits/core/marker_manager.py +1633 -0
- takefits-0.2.0/takefits/core/marker_utils.py +40 -0
- takefits-0.2.0/takefits/core/plotting/__init__.py +0 -0
- takefits-0.2.0/takefits/core/plotting/display_map.py +441 -0
- takefits-0.2.0/takefits/core/region.py +680 -0
- takefits-0.2.0/takefits/core/region_manager.py +1384 -0
- takefits-0.2.0/takefits/core/save_fits.py +41 -0
- takefits-0.2.0/takefits/core/usecases/__init__.py +293 -0
- takefits-0.2.0/takefits/core/usecases/annotations.py +140 -0
- takefits-0.2.0/takefits/core/usecases/arithmetic.py +186 -0
- takefits-0.2.0/takefits/core/usecases/baseline.py +315 -0
- takefits-0.2.0/takefits/core/usecases/channel_map.py +307 -0
- takefits-0.2.0/takefits/core/usecases/clump.py +378 -0
- takefits-0.2.0/takefits/core/usecases/cutout.py +245 -0
- takefits-0.2.0/takefits/core/usecases/export.py +85 -0
- takefits-0.2.0/takefits/core/usecases/mask.py +660 -0
- takefits-0.2.0/takefits/core/usecases/moment.py +748 -0
- takefits-0.2.0/takefits/core/usecases/pv.py +398 -0
- takefits-0.2.0/takefits/core/usecases/regrid.py +58 -0
- takefits-0.2.0/takefits/core/usecases/scaling.py +19 -0
- takefits-0.2.0/takefits/core/usecases/smoothing.py +353 -0
- takefits-0.2.0/takefits/core/usecases/spectrum.py +808 -0
- takefits-0.2.0/takefits/core/usecases/unit_conversion.py +208 -0
- takefits-0.2.0/takefits/core/usecases/utils.py +300 -0
- takefits-0.2.0/takefits/core/usecases/visualization.py +571 -0
- takefits-0.2.0/takefits/core/usecases_contour.py +45 -0
- takefits-0.2.0/takefits/core/version.py +2 -0
- takefits-0.2.0/takefits/core/viewer_coordinator.py +369 -0
- takefits-0.2.0/takefits/core/viewer_state.py +235 -0
- takefits-0.2.0/takefits/core/wcs_frames.py +479 -0
- takefits-0.2.0/takefits/core/workspace_restore.py +241 -0
- takefits-0.2.0/takefits/logic/__init__.py +0 -0
- takefits-0.2.0/takefits/logic/add_hpbw.py +105 -0
- takefits-0.2.0/takefits/logic/cloud_catalog_utils.py +280 -0
- takefits-0.2.0/takefits/logic/clumpfind.py +231 -0
- takefits-0.2.0/takefits/logic/data_tools.py +221 -0
- takefits-0.2.0/takefits/logic/dendro_handler.py +496 -0
- takefits-0.2.0/takefits/logic/fellwalker.py +126 -0
- takefits-0.2.0/takefits/logic/fits_loader.py +49 -0
- takefits-0.2.0/takefits/logic/freq_to_velocity.py +103 -0
- takefits-0.2.0/takefits/logic/regrid_core.py +3331 -0
- takefits-0.2.0/takefits/logic/regridder.py +49 -0
- takefits-0.2.0/takefits/logic/show_header.py +59 -0
- takefits-0.2.0/takefits/main.py +202 -0
- takefits-0.2.0/takefits/tools/__init__.py +0 -0
- takefits-0.2.0/takefits/tools/arithmetic.py +661 -0
- takefits-0.2.0/takefits/tools/base_panel.py +377 -0
- takefits-0.2.0/takefits/tools/baseline.py +1747 -0
- takefits-0.2.0/takefits/tools/channel_map.py +3968 -0
- takefits-0.2.0/takefits/tools/clump_finding_panel.py +1755 -0
- takefits-0.2.0/takefits/tools/color_scale.py +1142 -0
- takefits-0.2.0/takefits/tools/contour_panel.py +745 -0
- takefits-0.2.0/takefits/tools/cutout.py +1725 -0
- takefits-0.2.0/takefits/tools/integration.py +4143 -0
- takefits-0.2.0/takefits/tools/marker_panel.py +2418 -0
- takefits-0.2.0/takefits/tools/masking.py +772 -0
- takefits-0.2.0/takefits/tools/pv_diagram.py +2597 -0
- takefits-0.2.0/takefits/tools/regrid_panel.py +685 -0
- takefits-0.2.0/takefits/tools/scaling_panel.py +289 -0
- takefits-0.2.0/takefits/tools/smoothing.py +800 -0
- takefits-0.2.0/takefits/tools/spectrum.py +1686 -0
- takefits-0.2.0/takefits/tools/unit_conversion_panel.py +1533 -0
- takefits-0.2.0/takefits/ui/__init__.py +0 -0
- takefits-0.2.0/takefits/ui/config_panel.py +1711 -0
- takefits-0.2.0/takefits/ui/control_panel.py +629 -0
- takefits-0.2.0/takefits/ui/display_map.py +393 -0
- takefits-0.2.0/takefits/ui/main_window.py +6549 -0
- takefits-0.2.0/takefits/ui/menu_bar.py +572 -0
- takefits-0.2.0/takefits/ui/moment_results_dialog.py +33 -0
- takefits-0.2.0/takefits/ui/navigation_toolbar.py +788 -0
- takefits-0.2.0/takefits/ui/range_control.py +675 -0
- takefits-0.2.0/takefits/ui/region_editor.py +1398 -0
- takefits-0.2.0/takefits/ui/save_fits_dialog.py +45 -0
- takefits-0.2.0/takefits/ui/subwindow.py +90 -0
- takefits-0.2.0/takefits/ui/viewer.py +4965 -0
- takefits-0.2.0/takefits/ui/viewer_blit_mixin.py +469 -0
- takefits-0.2.0/takefits/ui/viewer_coord_mixin.py +322 -0
- takefits-0.2.0/takefits.egg-info/PKG-INFO +154 -0
- takefits-0.2.0/takefits.egg-info/SOURCES.txt +109 -0
- takefits-0.2.0/takefits.egg-info/dependency_links.txt +1 -0
- takefits-0.2.0/takefits.egg-info/entry_points.txt +2 -0
- takefits-0.2.0/takefits.egg-info/requires.txt +13 -0
- takefits-0.2.0/takefits.egg-info/top_level.txt +1 -0
takefits-0.2.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Shunya Takekawa
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
takefits-0.2.0/PKG-INFO
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: takefits
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: GUI-based astronomical FITS viewer and analysis tool
|
|
5
|
+
Author: Shunya Takekawa
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/s-takekawa/takefits
|
|
8
|
+
Project-URL: Repository, https://github.com/s-takekawa/takefits
|
|
9
|
+
Project-URL: Issues, https://github.com/s-takekawa/takefits/issues
|
|
10
|
+
Project-URL: Documentation, https://github.com/s-takekawa/takefits#readme
|
|
11
|
+
Keywords: astronomy,fits,radio astronomy,visualization,gui
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Intended Audience :: Science/Research
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Topic :: Scientific/Engineering :: Astronomy
|
|
18
|
+
Classifier: Topic :: Scientific/Engineering :: Visualization
|
|
19
|
+
Requires-Python: >=3.12
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
License-File: LICENSE
|
|
22
|
+
Requires-Dist: PySide6==6.10.2
|
|
23
|
+
Requires-Dist: numpy==2.1.3
|
|
24
|
+
Requires-Dist: scipy==1.14.1
|
|
25
|
+
Requires-Dist: matplotlib==3.8.4
|
|
26
|
+
Requires-Dist: astropy==6.1.0
|
|
27
|
+
Requires-Dist: reproject==0.17.0
|
|
28
|
+
Requires-Dist: PyYAML==6.0.2
|
|
29
|
+
Requires-Dist: astrodendro==0.3.1
|
|
30
|
+
Requires-Dist: scikit-image==0.26.0
|
|
31
|
+
Provides-Extra: publish
|
|
32
|
+
Requires-Dist: build>=1.2.2; extra == "publish"
|
|
33
|
+
Requires-Dist: twine>=6.1.0; extra == "publish"
|
|
34
|
+
Dynamic: license-file
|
|
35
|
+
|
|
36
|
+
# Takefits
|
|
37
|
+
|
|
38
|
+
Takefits is a GUI-based astronomical FITS viewer and analysis tool developed by Shunya Takekawa. [ORCID: 0000-0001-8147-6817](https://orcid.org/0000-0001-8147-6817)
|
|
39
|
+
|
|
40
|
+
## Requirements
|
|
41
|
+
|
|
42
|
+
- Python 3.12 or later
|
|
43
|
+
|
|
44
|
+
## Setup
|
|
45
|
+
|
|
46
|
+
From PyPI:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
pip install takefits
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
For a local checkout:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
python -m venv venv
|
|
56
|
+
source venv/bin/activate # On Windows: venv\Scripts\activate
|
|
57
|
+
pip install .
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Usage
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
takefits [path/to/fitsfile]
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
You can also launch it with:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
python -m takefits [path/to/fitsfile]
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Takefits can also save your current work using workspace files, so you can resume it anytime.
|
|
73
|
+
To restore a saved workspace, launch Takefits with the workspace file path.
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
takefits /path/to/yourfile.workspace.json
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Features
|
|
80
|
+
|
|
81
|
+
Takefits provides a comprehensive set of tools for radio astronomy data analysis.
|
|
82
|
+
|
|
83
|
+
### 1. Multi-View Cube Visualization
|
|
84
|
+
|
|
85
|
+
Visualize 3D FITS data cubes with synchronized XY, XZ, and ZY planes.
|
|
86
|
+
|
|
87
|
+

|
|
88
|
+
|
|
89
|
+
### 2. Moment Maps & Channel Maps
|
|
90
|
+
|
|
91
|
+
Calculate moment maps (Integrated Intensity, Velocity Field, Velocity Dispersion) and create tiled channel maps.
|
|
92
|
+
|
|
93
|
+

|
|
94
|
+
|
|
95
|
+
### 3. Interactive P-V Diagram
|
|
96
|
+
|
|
97
|
+
Interactively draw slice lines on the map to generate Position-Velocity (P-V) diagrams instantly.
|
|
98
|
+
|
|
99
|
+

|
|
100
|
+
|
|
101
|
+
### 4. Spectrum Analysis
|
|
102
|
+
|
|
103
|
+
Extract spectra from a single pixel or calculate the average spectrum within selected regions (Circle, Rectangle, Ellipse, Cube).
|
|
104
|
+
|
|
105
|
+

|
|
106
|
+
|
|
107
|
+
### 5. Publication-Quality Figures
|
|
108
|
+
|
|
109
|
+
Generate publication-quality figures directly from the GUI.
|
|
110
|
+
|
|
111
|
+
- **Contours**: Overlay customizable contours with adjustable levels.
|
|
112
|
+
- **Markers**: Annotate images with symbols, lines, and text.
|
|
113
|
+
- **Beam Size**: Visualize the HPBW ellipse.
|
|
114
|
+
- **Vector Export**: Save plots in PDF, EPS, or SVG formats.
|
|
115
|
+
|
|
116
|
+

|
|
117
|
+
|
|
118
|
+
### Other Tools
|
|
119
|
+
|
|
120
|
+
- **Regridding**: Resample data to a new grid, different coordinate system, or a FITS template.
|
|
121
|
+
- **Smoothing**: Apply Gaussian/Boxcar spatial smoothing and Hanning smoothing along the velocity axis.
|
|
122
|
+
- **Masking**: Apply threshold-based or external masks to data.
|
|
123
|
+
- **Cutout**: Crop data cubes based on regions or coordinate ranges.
|
|
124
|
+
- **Image Arithmetic**: Perform mathematical operations between FITS cubes or with constants using numpy-like expressions.
|
|
125
|
+
- **Unit Conversion**: Convert spectral or intensity units for analysis.
|
|
126
|
+
- **Baseline Subtraction**: Fit and subtract spectral baselines from data cubes.
|
|
127
|
+
- **Clump Finding**: Identify structures using ClumpFind, FellWalker, and Dendrogram algorithms.
|
|
128
|
+
|
|
129
|
+
## Research use
|
|
130
|
+
|
|
131
|
+
If you use this software in scientific publications, please cite the Zenodo DOI:
|
|
132
|
+
|
|
133
|
+
https://doi.org/10.5281/zenodo.18328843
|
|
134
|
+
|
|
135
|
+
For a specific release, cite the version DOI listed on Zenodo.
|
|
136
|
+
|
|
137
|
+
## Algorithm Citations
|
|
138
|
+
|
|
139
|
+
The tools below implement established analysis algorithms. If you use them for your analysis, please cite the original papers:
|
|
140
|
+
|
|
141
|
+
### Clump Finding
|
|
142
|
+
|
|
143
|
+
- Williams, J. P., de Geus, E. J., & Blitz, L. (1994). Determining structure in molecular clouds. *The Astrophysical Journal*, 428, 693-712. [doi:10.1086/174279](https://doi.org/10.1086/174279)
|
|
144
|
+
- Berry, D. S. (2015). FellWalker-A clump identification algorithm. *Astronomy and Computing*, 10, 22-31. [doi:10.1016/j.ascom.2014.11.004](https://doi.org/10.1016/j.ascom.2014.11.004)
|
|
145
|
+
- Rosolowsky, E. W., Pineda, J. E., Kauffmann, J., & Goodman, A. A. (2008). Structural Analysis of Molecular Clouds: Dendrograms. *The Astrophysical Journal*, 679(2), 1338-1351. [doi:10.1086/587685](https://doi.org/10.1086/587685)
|
|
146
|
+
|
|
147
|
+
### Masking / Moment Analysis
|
|
148
|
+
|
|
149
|
+
- Rosolowsky, E., & Leroy, A. (2006). Bias-free Measurement of Giant Molecular Cloud Properties. *Publications of the Astronomical Society of the Pacific*, 118(842), 590-610. [doi:10.1086/502982](https://doi.org/10.1086/502982)
|
|
150
|
+
- Dame, T. M. (2011). The Technique of Velocity-Resolved Moment Masking. *arXiv e-prints*, arXiv:1101.1499. [arXiv:1101.1499](https://arxiv.org/abs/1101.1499)
|
|
151
|
+
|
|
152
|
+
## Contact
|
|
153
|
+
|
|
154
|
+
shunya_at_kanagawa-u.ac.jp
|
takefits-0.2.0/README.md
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Takefits
|
|
2
|
+
|
|
3
|
+
Takefits is a GUI-based astronomical FITS viewer and analysis tool developed by Shunya Takekawa. [ORCID: 0000-0001-8147-6817](https://orcid.org/0000-0001-8147-6817)
|
|
4
|
+
|
|
5
|
+
## Requirements
|
|
6
|
+
|
|
7
|
+
- Python 3.12 or later
|
|
8
|
+
|
|
9
|
+
## Setup
|
|
10
|
+
|
|
11
|
+
From PyPI:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
pip install takefits
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
For a local checkout:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
python -m venv venv
|
|
21
|
+
source venv/bin/activate # On Windows: venv\Scripts\activate
|
|
22
|
+
pip install .
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Usage
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
takefits [path/to/fitsfile]
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
You can also launch it with:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
python -m takefits [path/to/fitsfile]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Takefits can also save your current work using workspace files, so you can resume it anytime.
|
|
38
|
+
To restore a saved workspace, launch Takefits with the workspace file path.
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
takefits /path/to/yourfile.workspace.json
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Features
|
|
45
|
+
|
|
46
|
+
Takefits provides a comprehensive set of tools for radio astronomy data analysis.
|
|
47
|
+
|
|
48
|
+
### 1. Multi-View Cube Visualization
|
|
49
|
+
|
|
50
|
+
Visualize 3D FITS data cubes with synchronized XY, XZ, and ZY planes.
|
|
51
|
+
|
|
52
|
+

|
|
53
|
+
|
|
54
|
+
### 2. Moment Maps & Channel Maps
|
|
55
|
+
|
|
56
|
+
Calculate moment maps (Integrated Intensity, Velocity Field, Velocity Dispersion) and create tiled channel maps.
|
|
57
|
+
|
|
58
|
+

|
|
59
|
+
|
|
60
|
+
### 3. Interactive P-V Diagram
|
|
61
|
+
|
|
62
|
+
Interactively draw slice lines on the map to generate Position-Velocity (P-V) diagrams instantly.
|
|
63
|
+
|
|
64
|
+

|
|
65
|
+
|
|
66
|
+
### 4. Spectrum Analysis
|
|
67
|
+
|
|
68
|
+
Extract spectra from a single pixel or calculate the average spectrum within selected regions (Circle, Rectangle, Ellipse, Cube).
|
|
69
|
+
|
|
70
|
+

|
|
71
|
+
|
|
72
|
+
### 5. Publication-Quality Figures
|
|
73
|
+
|
|
74
|
+
Generate publication-quality figures directly from the GUI.
|
|
75
|
+
|
|
76
|
+
- **Contours**: Overlay customizable contours with adjustable levels.
|
|
77
|
+
- **Markers**: Annotate images with symbols, lines, and text.
|
|
78
|
+
- **Beam Size**: Visualize the HPBW ellipse.
|
|
79
|
+
- **Vector Export**: Save plots in PDF, EPS, or SVG formats.
|
|
80
|
+
|
|
81
|
+

|
|
82
|
+
|
|
83
|
+
### Other Tools
|
|
84
|
+
|
|
85
|
+
- **Regridding**: Resample data to a new grid, different coordinate system, or a FITS template.
|
|
86
|
+
- **Smoothing**: Apply Gaussian/Boxcar spatial smoothing and Hanning smoothing along the velocity axis.
|
|
87
|
+
- **Masking**: Apply threshold-based or external masks to data.
|
|
88
|
+
- **Cutout**: Crop data cubes based on regions or coordinate ranges.
|
|
89
|
+
- **Image Arithmetic**: Perform mathematical operations between FITS cubes or with constants using numpy-like expressions.
|
|
90
|
+
- **Unit Conversion**: Convert spectral or intensity units for analysis.
|
|
91
|
+
- **Baseline Subtraction**: Fit and subtract spectral baselines from data cubes.
|
|
92
|
+
- **Clump Finding**: Identify structures using ClumpFind, FellWalker, and Dendrogram algorithms.
|
|
93
|
+
|
|
94
|
+
## Research use
|
|
95
|
+
|
|
96
|
+
If you use this software in scientific publications, please cite the Zenodo DOI:
|
|
97
|
+
|
|
98
|
+
https://doi.org/10.5281/zenodo.18328843
|
|
99
|
+
|
|
100
|
+
For a specific release, cite the version DOI listed on Zenodo.
|
|
101
|
+
|
|
102
|
+
## Algorithm Citations
|
|
103
|
+
|
|
104
|
+
The tools below implement established analysis algorithms. If you use them for your analysis, please cite the original papers:
|
|
105
|
+
|
|
106
|
+
### Clump Finding
|
|
107
|
+
|
|
108
|
+
- Williams, J. P., de Geus, E. J., & Blitz, L. (1994). Determining structure in molecular clouds. *The Astrophysical Journal*, 428, 693-712. [doi:10.1086/174279](https://doi.org/10.1086/174279)
|
|
109
|
+
- Berry, D. S. (2015). FellWalker-A clump identification algorithm. *Astronomy and Computing*, 10, 22-31. [doi:10.1016/j.ascom.2014.11.004](https://doi.org/10.1016/j.ascom.2014.11.004)
|
|
110
|
+
- Rosolowsky, E. W., Pineda, J. E., Kauffmann, J., & Goodman, A. A. (2008). Structural Analysis of Molecular Clouds: Dendrograms. *The Astrophysical Journal*, 679(2), 1338-1351. [doi:10.1086/587685](https://doi.org/10.1086/587685)
|
|
111
|
+
|
|
112
|
+
### Masking / Moment Analysis
|
|
113
|
+
|
|
114
|
+
- Rosolowsky, E., & Leroy, A. (2006). Bias-free Measurement of Giant Molecular Cloud Properties. *Publications of the Astronomical Society of the Pacific*, 118(842), 590-610. [doi:10.1086/502982](https://doi.org/10.1086/502982)
|
|
115
|
+
- Dame, T. M. (2011). The Technique of Velocity-Resolved Moment Masking. *arXiv e-prints*, arXiv:1101.1499. [arXiv:1101.1499](https://arxiv.org/abs/1101.1499)
|
|
116
|
+
|
|
117
|
+
## Contact
|
|
118
|
+
|
|
119
|
+
shunya_at_kanagawa-u.ac.jp
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=77.0.3", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "takefits"
|
|
7
|
+
dynamic = ["version"]
|
|
8
|
+
description = "GUI-based astronomical FITS viewer and analysis tool"
|
|
9
|
+
readme = { file = "README.md", content-type = "text/markdown" }
|
|
10
|
+
requires-python = ">=3.12"
|
|
11
|
+
license = "MIT"
|
|
12
|
+
license-files = ["LICENSE"]
|
|
13
|
+
authors = [{ name = "Shunya Takekawa" }]
|
|
14
|
+
keywords = ["astronomy", "fits", "radio astronomy", "visualization", "gui"]
|
|
15
|
+
classifiers = [
|
|
16
|
+
"Development Status :: 4 - Beta",
|
|
17
|
+
"Intended Audience :: Science/Research",
|
|
18
|
+
"Operating System :: OS Independent",
|
|
19
|
+
"Programming Language :: Python :: 3",
|
|
20
|
+
"Programming Language :: Python :: 3.12",
|
|
21
|
+
"Topic :: Scientific/Engineering :: Astronomy",
|
|
22
|
+
"Topic :: Scientific/Engineering :: Visualization",
|
|
23
|
+
]
|
|
24
|
+
dependencies = [
|
|
25
|
+
"PySide6==6.10.2",
|
|
26
|
+
"numpy==2.1.3",
|
|
27
|
+
"scipy==1.14.1",
|
|
28
|
+
"matplotlib==3.8.4",
|
|
29
|
+
"astropy==6.1.0",
|
|
30
|
+
"reproject==0.17.0",
|
|
31
|
+
"PyYAML==6.0.2",
|
|
32
|
+
"astrodendro==0.3.1",
|
|
33
|
+
"scikit-image==0.26.0",
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
[project.urls]
|
|
37
|
+
Homepage = "https://github.com/s-takekawa/takefits"
|
|
38
|
+
Repository = "https://github.com/s-takekawa/takefits"
|
|
39
|
+
Issues = "https://github.com/s-takekawa/takefits/issues"
|
|
40
|
+
Documentation = "https://github.com/s-takekawa/takefits#readme"
|
|
41
|
+
|
|
42
|
+
[project.optional-dependencies]
|
|
43
|
+
publish = [
|
|
44
|
+
"build>=1.2.2",
|
|
45
|
+
"twine>=6.1.0",
|
|
46
|
+
]
|
|
47
|
+
|
|
48
|
+
[project.scripts]
|
|
49
|
+
takefits = "takefits.main:main"
|
|
50
|
+
|
|
51
|
+
[tool.setuptools.dynamic]
|
|
52
|
+
version = { attr = "takefits.core.version.APP_VERSION" }
|
|
53
|
+
|
|
54
|
+
[tool.setuptools.packages.find]
|
|
55
|
+
include = ["takefits*"]
|
takefits-0.2.0/setup.cfg
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
|
|
5
|
+
from PySide6.QtCore import QStandardPaths
|
|
6
|
+
|
|
7
|
+
FALLBACK_APP_DIR_NAME = 'takefits'
|
|
8
|
+
|
|
9
|
+
def get_app_config_dir() -> Path:
|
|
10
|
+
path = QStandardPaths.writableLocation(QStandardPaths.StandardLocation.AppConfigLocation)
|
|
11
|
+
if path:
|
|
12
|
+
return Path(path)
|
|
13
|
+
return Path.home() / '.config' / FALLBACK_APP_DIR_NAME
|
|
14
|
+
|
|
15
|
+
def ensure_app_config_dir() -> Path:
|
|
16
|
+
path = get_app_config_dir()
|
|
17
|
+
path.mkdir(parents=True, exist_ok=True)
|
|
18
|
+
return path
|
|
19
|
+
|
|
20
|
+
def app_config_path(filename: str) -> str:
|
|
21
|
+
return str(ensure_app_config_dir() / filename)
|
|
File without changes
|