shinestacker 1.8.0__py3-none-any.whl → 1.9.0__py3-none-any.whl
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.
Potentially problematic release.
This version of shinestacker might be problematic. Click here for more details.
- shinestacker/_version.py +1 -1
- shinestacker/algorithms/align.py +184 -80
- shinestacker/algorithms/align_auto.py +13 -11
- shinestacker/algorithms/align_parallel.py +41 -16
- shinestacker/algorithms/base_stack_algo.py +1 -1
- shinestacker/algorithms/exif.py +252 -6
- shinestacker/algorithms/multilayer.py +6 -4
- shinestacker/algorithms/noise_detection.py +10 -8
- shinestacker/algorithms/pyramid_tiles.py +1 -1
- shinestacker/algorithms/stack.py +25 -13
- shinestacker/algorithms/stack_framework.py +16 -11
- shinestacker/algorithms/utils.py +18 -2
- shinestacker/algorithms/vignetting.py +16 -3
- shinestacker/app/settings_dialog.py +297 -173
- shinestacker/config/constants.py +10 -6
- shinestacker/config/settings.py +25 -7
- shinestacker/core/exceptions.py +1 -1
- shinestacker/core/framework.py +2 -2
- shinestacker/gui/action_config.py +23 -20
- shinestacker/gui/action_config_dialog.py +38 -21
- shinestacker/gui/folder_file_selection.py +3 -2
- shinestacker/gui/gui_images.py +27 -3
- shinestacker/gui/gui_run.py +2 -2
- shinestacker/gui/new_project.py +23 -12
- shinestacker/gui/project_controller.py +13 -6
- shinestacker/gui/project_editor.py +12 -2
- shinestacker/gui/project_model.py +4 -4
- shinestacker/retouch/exif_data.py +3 -0
- shinestacker/retouch/file_loader.py +3 -3
- shinestacker/retouch/io_gui_handler.py +4 -4
- {shinestacker-1.8.0.dist-info → shinestacker-1.9.0.dist-info}/METADATA +37 -39
- {shinestacker-1.8.0.dist-info → shinestacker-1.9.0.dist-info}/RECORD +36 -36
- {shinestacker-1.8.0.dist-info → shinestacker-1.9.0.dist-info}/WHEEL +0 -0
- {shinestacker-1.8.0.dist-info → shinestacker-1.9.0.dist-info}/entry_points.txt +0 -0
- {shinestacker-1.8.0.dist-info → shinestacker-1.9.0.dist-info}/licenses/LICENSE +0 -0
- {shinestacker-1.8.0.dist-info → shinestacker-1.9.0.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: shinestacker
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.9.0
|
|
4
4
|
Summary: ShineStacker
|
|
5
5
|
Author-email: Luca Lista <luka.lista@gmail.com>
|
|
6
6
|
License-Expression: LGPL-3.0
|
|
@@ -30,11 +30,9 @@ Provides-Extra: dev
|
|
|
30
30
|
Requires-Dist: pytest; extra == "dev"
|
|
31
31
|
Dynamic: license-file
|
|
32
32
|
|
|
33
|
-
<img src='https://raw.githubusercontent.com/lucalista/shinestacker/main/src/shinestacker/gui/ico/shinestacker.png' width="150" referrerpolicy="no-referrer" alt="Shine Stacker Logo">
|
|
34
|
-
|
|
35
33
|
# Shine Stacker
|
|
36
34
|
|
|
37
|
-
|
|
35
|
+
Focus Stacking Processing Framework and GUI designed for macro photographers, microscopists, and researchers who need precise control and reproducible stacking results.
|
|
38
36
|
|
|
39
37
|
[](https://github.com/lucalista/shinestacker/actions/workflows/ci-multiplatform.yml)
|
|
40
38
|
[](https://pypi.org/project/shinestacker/)
|
|
@@ -45,60 +43,55 @@ Dynamic: license-file
|
|
|
45
43
|
[](https://shinestacker.readthedocs.io/en/latest/?badge=latest)
|
|
46
44
|
[](https://www.gnu.org/licenses/lgpl-3.0)
|
|
47
45
|
[](https://pepy.tech/projects/shinestacker)
|
|
48
|
-
|
|
49
|
-
<img src='https://raw.githubusercontent.com/lucalista/shinestacker/main/img/flies.gif' width="400" referrerpolicy="no-referrer"> <img src='https://raw.githubusercontent.com/lucalista/shinestacker/main/img/flies_stack.jpg' width="400" referrerpolicy="no-referrer">
|
|
50
|
-
|
|
51
|
-
<img src='https://raw.githubusercontent.com/lucalista/shinestacker/main/img/coffee.gif' width="400" referrerpolicy="no-referrer"> <img src='https://raw.githubusercontent.com/lucalista/shinestacker/main/img/coffee_stack.jpg' width="400" referrerpolicy="no-referrer">
|
|
52
|
-
|
|
53
|
-
> **Focus stacking** for microscopy, macro photography, and computational imaging
|
|
46
|
+
<center><img src='https://raw.githubusercontent.com/lucalista/shinestacker/main/src/shinestacker/gui/ico/shinestacker.png' width="150" referrerpolicy="no-referrer" alt="Shine Stacker Logo"></center>
|
|
54
47
|
|
|
55
48
|
## Key Features
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
-
|
|
49
|
+
- 🪟 **Cross-Platform GUI**: Native app built with Qt6, available for Windows, macOS, and Linux.
|
|
50
|
+
- 🚀 **Batch Processing**: Automatically align, balance, and stack hundreds of images — perfect for macro or microscopy datasets.
|
|
51
|
+
- 🧩 **Modular Architecture**: Combine configurable modules for alignment, normalization, and blending to build custom workflows.
|
|
52
|
+
- 🖌️ **Retouch Editor**: Interactively refine your stacked image by painting in details from individual frames.
|
|
53
|
+
- 📊 **Jupyter & Python Integration**: Use Shine Stacker as a library inside your Python or Jupyter workflows.
|
|
54
|
+
|
|
55
|
+
<img src='https://raw.githubusercontent.com/lucalista/shinestacker/main/img/flies.gif' width="400" referrerpolicy="no-referrer"> <img src='https://raw.githubusercontent.com/lucalista/shinestacker/main/img/flies_stack.jpg' width="400" referrerpolicy="no-referrer">
|
|
60
56
|
|
|
61
57
|
## Interactive GUI
|
|
62
58
|
|
|
63
|
-
The
|
|
59
|
+
The graphical interface makes complex stacking tasks simple:
|
|
60
|
+
- **Project View** – Configure, preview, and run stacking workflows with optional intermediate results.
|
|
61
|
+
- **Retouch View** – Manually refine the final image by blending details from selected frames and applying filters.
|
|
64
62
|
|
|
65
|
-
|
|
63
|
+
Ideal for users who want the power of scripting and the comfort of a modern UI.
|
|
66
64
|
|
|
67
|
-
<img src='https://raw.githubusercontent.com/lucalista/shinestacker/main/img/
|
|
65
|
+
<img src='https://raw.githubusercontent.com/lucalista/shinestacker/main/img/coffee.gif' width="400" referrerpolicy="no-referrer"> <img src='https://raw.githubusercontent.com/lucalista/shinestacker/main/img/coffee_stack.jpg' width="400" referrerpolicy="no-referrer">
|
|
68
66
|
|
|
69
|
-
|
|
67
|
+
## Get Started
|
|
70
68
|
|
|
71
|
-
|
|
69
|
+
- 📦 [Install via PyPI](https://pypi.org/project/shinestacker/)
|
|
70
|
+
- 💻 [Run the GUI app](https://shinestacker.readthedocs.io/en/latest/gui.html)
|
|
71
|
+
- 🧠 [Reference](https://shinestacker.readthedocs.io/en/)
|
|
72
|
+
- 🐛 [Report an issue](https://github.com/lucalista/shinestacker/issues)
|
|
72
73
|
|
|
73
74
|
## Resources
|
|
74
75
|
|
|
75
76
|
🌍 [Website on WordPress](https://shinestacker.wordpress.com) • 📖 [Main documentation](https://shinestacker.readthedocs.io) • 📝 [Changelog](https://github.com/lucalista/shinestacker/blob/main/CHANGELOG.md)
|
|
76
77
|
|
|
77
|
-
##
|
|
78
|
-
|
|
79
|
-
**The following note is only relevant if you download the application as compressed archive from the [release page](https://github.com/lucalista/shinestacker/releases).**
|
|
78
|
+
## Installation
|
|
80
79
|
|
|
81
|
-
|
|
80
|
+
See the [main documentation](https://github.com/lucalista/shinestacker/blob/main/docs/main.md) for detailed installation instructions.
|
|
82
81
|
|
|
83
|
-
|
|
82
|
+
**Platform notes:**
|
|
83
|
+
- **Windows:** If you download the installer or ZIP archive, you may need to whitelist the app in your antivirus software.
|
|
84
|
+
- **macOS:** See the [installation note for macOS users](https://github.com/lucalista/shinestacker/blob/main/docs/macos-install.md).
|
|
84
85
|
|
|
85
|
-
1. Download the compressed archive ```shinestacker-macos.tar.gz``` in your ```Download``` folder.
|
|
86
|
-
2. Double-click the archive to uncompress it. You will find a new folder ```shinestacker```.
|
|
87
|
-
3. Open a terminal (*Applications > Utilities > Terminal*)
|
|
88
|
-
4. Type the folliwng command on the terminal (assuming you installed the app from the ```dmg``` image under ```Applications```):
|
|
89
|
-
```bash
|
|
90
|
-
xattr -cr /Applications/shinestacker/shinestacker.app
|
|
91
|
-
```
|
|
92
|
-
5. Now you can double-click the Sine Stacker icon app and it should run.
|
|
93
86
|
|
|
94
|
-
|
|
87
|
+
## Acknowledgements & References
|
|
95
88
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
## Resources
|
|
89
|
+
The first version of the core focus stack algorithm was inspired by the
|
|
90
|
+
[Laplacian pyramids method](https://github.com/sjawhar/focus-stacking) implementation
|
|
91
|
+
by Sami Jawhar, used under permission. The implementation in the latest releases
|
|
92
|
+
was rewritten from the original code.
|
|
101
93
|
|
|
94
|
+
Key references:
|
|
102
95
|
* [Pyramid Methods in Image Processing](https://www.researchgate.net/publication/246727904_Pyramid_Methods_in_Image_Processing), E. H. Adelson, C. H. Anderson, J. R. Bergen, P. J. Burt, J. M. Ogden, RCA Engineer, 29-6, Nov/Dec 1984
|
|
103
96
|
Pyramid methods in image processing
|
|
104
97
|
* [A Multi-focus Image Fusion Method Based on Laplacian Pyramid](http://www.jcomputers.us/vol6/jcp0612-07.pdf), Wencheng Wang, Faliang Chang, Journal of Computers 6 (12), 2559, December 2011
|
|
@@ -108,13 +101,18 @@ Pyramid methods in image processing
|
|
|
108
101
|
<img src="https://www.gnu.org/graphics/lgplv3-147x51.png" alt="LGPL 3 logo">
|
|
109
102
|
|
|
110
103
|
- **Code**: The software is provided as is under the [GNU Lesser General Public License v3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html). See [LICENSE](https://github.com/lucalista/shinestacker/blob/main/LICENSE) for details.
|
|
111
|
-
<img src='https://raw.githubusercontent.com/lucalista/shinestacker/main/src/shinestacker/gui/ico/shinestacker.png' width="150" referrerpolicy="no-referrer" alt="Shine Stacker Logo">
|
|
112
104
|
|
|
113
105
|
- **Logo**: The Shine Stacker logo was designed by [Alessandro Lista](https://linktr.ee/alelista). Copyright © Alessandro Lista. All rights reserved. The logo is not covered by the LGPL-3.0 license of this project.
|
|
114
106
|
|
|
115
107
|
## Attribution request
|
|
108
|
+
|
|
116
109
|
📸 If you publish images created with Shine Stacker, please consider adding a note such as:
|
|
117
110
|
|
|
118
111
|
*Created with Shine Stacker – https://github.com/lucalista/shinestacker*
|
|
119
112
|
|
|
120
113
|
This is not mandatory, but highly appreciated.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
> Developed and maintained by [Luca Lista](https://github.com/lucalista).
|
|
117
|
+
> 💡 Contributions, feedback, and feature suggestions are warmly welcome.
|
|
118
|
+
> If you enjoy Shine Stacker, consider giving it a ⭐️ on GitHub — it really helps visibility!
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
shinestacker/__init__.py,sha256=uq2fjAw2z_6TpH3mOcWFZ98GoEPRsNhTAK8N0MMm_e8,448
|
|
2
|
-
shinestacker/_version.py,sha256=
|
|
2
|
+
shinestacker/_version.py,sha256=WddBug1JDIVoyG0cVXLv1jzZiNT54lgulb9KP0Q3AnU,21
|
|
3
3
|
shinestacker/algorithms/__init__.py,sha256=1FwVJ3w9GGbFFkjYJRUedTvcdE4j0ieSgaH9RC9iCY4,877
|
|
4
|
-
shinestacker/algorithms/align.py,sha256=
|
|
5
|
-
shinestacker/algorithms/align_auto.py,sha256=
|
|
6
|
-
shinestacker/algorithms/align_parallel.py,sha256=
|
|
4
|
+
shinestacker/algorithms/align.py,sha256=840SLh38JePGQv9vgG2H6jHkgHSAYzSpbNDDTxV5ghg,37915
|
|
5
|
+
shinestacker/algorithms/align_auto.py,sha256=DsHuAkFXSHbtFwp6XRaV3Sy1LGcUZWYAFijJXWrd1Bo,3833
|
|
6
|
+
shinestacker/algorithms/align_parallel.py,sha256=TcoIRBqrEbxDwOPOo1SinSGwW3M3cq3Agx6o8Sf9ILg,19215
|
|
7
7
|
shinestacker/algorithms/balance.py,sha256=aoqnc1u5A2C3R7fKaOoKnzudRiOT8GRIu4LEP-uzyZQ,24053
|
|
8
|
-
shinestacker/algorithms/base_stack_algo.py,sha256=
|
|
8
|
+
shinestacker/algorithms/base_stack_algo.py,sha256=mqCCRufLc9k5fZV5Su41AsN1ecHrZJzp1xtpmbJ7wb0,2669
|
|
9
9
|
shinestacker/algorithms/corrections.py,sha256=DrfLM33D20l4svuuBtoOiH-KGUH_BL1mAV7mHCA_nGA,1094
|
|
10
10
|
shinestacker/algorithms/denoise.py,sha256=GL3Z4_6MHxSa7Wo4ZzQECZS87tHBFqO0sIVF_jPuYQU,426
|
|
11
11
|
shinestacker/algorithms/depth_map.py,sha256=nRBrZQWbdUqFOtYMEQx9UNdnybrBTeAOr1eV91FlN8U,5611
|
|
12
|
-
shinestacker/algorithms/exif.py,sha256=
|
|
13
|
-
shinestacker/algorithms/multilayer.py,sha256=
|
|
14
|
-
shinestacker/algorithms/noise_detection.py,sha256=
|
|
12
|
+
shinestacker/algorithms/exif.py,sha256=0kYxk_cZeBgmiB2vEkmKNBVbCNeq_4KF-8lub9ehSPQ,19934
|
|
13
|
+
shinestacker/algorithms/multilayer.py,sha256=SX4digCMvPxvm9KRrwroUwoAc83ScbmjIjN8s5au3wg,10053
|
|
14
|
+
shinestacker/algorithms/noise_detection.py,sha256=SbWcxSPZIxnThXITAe7koPLKhQZ_gciQby50u3QfkGs,9464
|
|
15
15
|
shinestacker/algorithms/pyramid.py,sha256=Z7tlp8Hh3ploAXJCr0VNe33d8H9GNrlqHXq_LapgRwo,8205
|
|
16
16
|
shinestacker/algorithms/pyramid_auto.py,sha256=fl_jXNYLWsBiX0M0UghzCLqai0SGXlmKYHU7Z9SUYSo,6173
|
|
17
|
-
shinestacker/algorithms/pyramid_tiles.py,sha256=
|
|
17
|
+
shinestacker/algorithms/pyramid_tiles.py,sha256=t04_06oYF6QkSSyFQEivHh-GDTska2dQEmfCYoscy-c,12216
|
|
18
18
|
shinestacker/algorithms/sharpen.py,sha256=h7PMJBYxucg194Usp_6pvItPUMFYbT-ebAc_-7XBFUw,949
|
|
19
|
-
shinestacker/algorithms/stack.py,sha256=
|
|
20
|
-
shinestacker/algorithms/stack_framework.py,sha256=
|
|
21
|
-
shinestacker/algorithms/utils.py,sha256=
|
|
22
|
-
shinestacker/algorithms/vignetting.py,sha256=
|
|
19
|
+
shinestacker/algorithms/stack.py,sha256=OkKC9LWTTPSIFy4teiqC4TFjgRUGp4eiSGlxLKdmdL0,6488
|
|
20
|
+
shinestacker/algorithms/stack_framework.py,sha256=HwB0gDncjJEKHdaR9fFcc2XoRrgxFNrrFDfVyeO4NRM,14616
|
|
21
|
+
shinestacker/algorithms/utils.py,sha256=1RCsOSQ5TSM8y10Wg5JBDWCAEf-vEQReN_5VMtrLW7o,13127
|
|
22
|
+
shinestacker/algorithms/vignetting.py,sha256=Y-K_CTjtNpl0YX86PaM0te-HFxuEcWozhWoB7-g_S7Y,10849
|
|
23
23
|
shinestacker/algorithms/white_balance.py,sha256=PMKsBtxOSn5aRr_Gkx1StHS4eN6kBN2EhNnhg4UG24g,501
|
|
24
24
|
shinestacker/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
25
|
shinestacker/app/about_dialog.py,sha256=pkH7nnxUP8yc0D3vRGd1jRb5cwi1nDVbQRk_OC9yLk8,4144
|
|
@@ -30,37 +30,37 @@ shinestacker/app/main.py,sha256=c9_rax1eemOfkJqWV7tT7-ZkEBkqz6n4kBST8iXsjD4,1066
|
|
|
30
30
|
shinestacker/app/open_frames.py,sha256=bsu32iJSYJQLe_tQQbvAU5DuMDVX6MRuNdE7B5lojZc,1488
|
|
31
31
|
shinestacker/app/project.py,sha256=nwvXllD2FBLQ4ChePQdIGVug46Wh2ubjrJ0sC7klops,2596
|
|
32
32
|
shinestacker/app/retouch.py,sha256=8XcYMv7-feG6yxNCpvlijZQRPlhmRK0OfZO5MuBju-0,2552
|
|
33
|
-
shinestacker/app/settings_dialog.py,sha256=
|
|
33
|
+
shinestacker/app/settings_dialog.py,sha256=x4-mYEUcB1I9SoQmzDpxFzfLI5JU0hbeqmIydbUWylQ,13670
|
|
34
34
|
shinestacker/config/__init__.py,sha256=aXxi-LmAvXd0daIFrVnTHE5OCaYeK1uf1BKMr7oaXQs,197
|
|
35
35
|
shinestacker/config/app_config.py,sha256=rM1Rndk1GDa5c0AhcVNEN9zSAzxPZixzQYfjODbJUwE,771
|
|
36
36
|
shinestacker/config/config.py,sha256=eBko2D3ADhLTIm9X6hB_a_WsIjwgfE-qmBVkhP1XSvc,1636
|
|
37
|
-
shinestacker/config/constants.py,sha256=
|
|
37
|
+
shinestacker/config/constants.py,sha256=qpQ7uuf7qnFesiq4zvt6A7ASjLbyADbbeMzkW-GCbe4,8470
|
|
38
38
|
shinestacker/config/gui_constants.py,sha256=PNxzwmVEppJ2mV_vwp68NhWzJOEitVy1Pk9SwSmRsho,2882
|
|
39
|
-
shinestacker/config/settings.py,sha256=
|
|
39
|
+
shinestacker/config/settings.py,sha256=jdRMJRT6AzO-dnvmOCwEGURsGBt36ILH-xszNIvE0ew,4845
|
|
40
40
|
shinestacker/core/__init__.py,sha256=IUEIx6SQ3DygDEHN3_E6uKpHjHtUa4a_U_1dLd_8yEU,484
|
|
41
41
|
shinestacker/core/colors.py,sha256=kr_tJA1iRsdck2JaYDb2lS-codZ4Ty9gdu3kHfiWvuM,1340
|
|
42
42
|
shinestacker/core/core_utils.py,sha256=PYrV5asW-_L_AavPlk6p63UqzuQGrm55hwkRzmaaCd0,1424
|
|
43
|
-
shinestacker/core/exceptions.py,sha256=
|
|
44
|
-
shinestacker/core/framework.py,sha256=
|
|
43
|
+
shinestacker/core/exceptions.py,sha256=67XFH0zqaqHihVdvrmcBLTRudzVbxSkqYe7lbXdHWB8,1618
|
|
44
|
+
shinestacker/core/framework.py,sha256=i-_4v--ZtimmlPUs2DmkEVvbsvEDZmbCmOtMVfCxwwU,11109
|
|
45
45
|
shinestacker/core/logging.py,sha256=pN4FGcHwI5ouJKwCVoDWQx_Tg3t84mmPh0xhqszDDkw,3111
|
|
46
46
|
shinestacker/gui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
|
-
shinestacker/gui/action_config.py,sha256=
|
|
48
|
-
shinestacker/gui/action_config_dialog.py,sha256=
|
|
47
|
+
shinestacker/gui/action_config.py,sha256=OWW32h55OTvM6lbfJc3ZhPoa0vVEvsH63iCbTWo6r6E,25843
|
|
48
|
+
shinestacker/gui/action_config_dialog.py,sha256=8vZ1IxC953JXadhb27z3-GiNUZ8G_lg6MVnreuDOw_A,40777
|
|
49
49
|
shinestacker/gui/base_form_dialog.py,sha256=KAUQNtmJazttmOIe4E4pFifbtvcByTAhtCmcIYeA4UE,766
|
|
50
50
|
shinestacker/gui/colors.py,sha256=-HaFprDuzRSKjXoZfX1rdOuvawQAkazqdgLBEiZcFII,1476
|
|
51
51
|
shinestacker/gui/config_dialog.py,sha256=yt3nvh0HPHQuCn3AFlzlIHUJnnxcz-Rrw3W3jS9ZYiE,3447
|
|
52
52
|
shinestacker/gui/flow_layout.py,sha256=3yBU_z7VtvHKpx1H97CHVd81eq9pe1Dcja2EZBGGKcI,3791
|
|
53
|
-
shinestacker/gui/folder_file_selection.py,sha256=
|
|
54
|
-
shinestacker/gui/gui_images.py,sha256=
|
|
53
|
+
shinestacker/gui/folder_file_selection.py,sha256=CwussPYMguMk8WuyuUKk28VneafwGR-5yiqPo0bp_XE,4158
|
|
54
|
+
shinestacker/gui/gui_images.py,sha256=KxGBFLL2ztfNmvL4pconi3z5HJCoD2HXxpYZP70aUfM,6803
|
|
55
55
|
shinestacker/gui/gui_logging.py,sha256=kiZcrC2AFYCWgPZo0O5SKw-E5cFrezwf4anS3HjPuNw,8168
|
|
56
|
-
shinestacker/gui/gui_run.py,sha256=
|
|
56
|
+
shinestacker/gui/gui_run.py,sha256=Tp3BQTbASdfyELQonJPM10dX9mWb7TdecsIjzCnVQsA,15680
|
|
57
57
|
shinestacker/gui/main_window.py,sha256=VYGX-w-A8sy1zsQAJEfLpImax8oB-inx_nZ2XofDEBQ,25777
|
|
58
58
|
shinestacker/gui/menu_manager.py,sha256=mS-pRMymd1yYimbr6Z5YXjMA5AsNuaNcezs8MYWF2DU,12364
|
|
59
|
-
shinestacker/gui/new_project.py,sha256=
|
|
60
|
-
shinestacker/gui/project_controller.py,sha256=
|
|
59
|
+
shinestacker/gui/new_project.py,sha256=fnTWxT0YS390T4CTu6Cdl7pWrjsCiphnKZJvDLzXGlE,16728
|
|
60
|
+
shinestacker/gui/project_controller.py,sha256=h2x7Z1MFKXQGB4dGmdLcXQgcDTtId9RMi3m-4pSli2Y,16963
|
|
61
61
|
shinestacker/gui/project_converter.py,sha256=Gmna0HwbvACcXiX74TaQYumif8ZV8sZ2APLTMM-L1mU,7436
|
|
62
|
-
shinestacker/gui/project_editor.py,sha256=
|
|
63
|
-
shinestacker/gui/project_model.py,sha256=
|
|
62
|
+
shinestacker/gui/project_editor.py,sha256=9KEH-CkIbK_yLKRo184C08uYXQ9_aqepEGQrKRqhfUg,25991
|
|
63
|
+
shinestacker/gui/project_model.py,sha256=9Mr3Y87Pj8J-mSkgn9NexaxzZkB39zkIGG5zzeUojB0,4869
|
|
64
64
|
shinestacker/gui/recent_file_manager.py,sha256=010bciuirKLiVCfOAKs0uFlB3iUjHNBlPX_9K2vH5j0,2916
|
|
65
65
|
shinestacker/gui/select_path_widget.py,sha256=HSwgSr702w5Et4c-6nkRXnIpm1KFqKJetAF5xQNa5zI,1017
|
|
66
66
|
shinestacker/gui/sys_mon.py,sha256=zU41YYVeqQ1-v6oGIh2_BFzQWq87keN-398Wdm59-Nk,3526
|
|
@@ -89,14 +89,14 @@ shinestacker/retouch/brush_preview.py,sha256=cOFVMCbEsgR_alzmr_-LLghtGU_unrE-hAj
|
|
|
89
89
|
shinestacker/retouch/brush_tool.py,sha256=8uVncTA375uC3Nhp2YM0eZjpOR-nN47i2eGjN8tJzOU,8714
|
|
90
90
|
shinestacker/retouch/denoise_filter.py,sha256=QVXFU54MDcylNWtiIcdQSZ3eClW_xNWZhCMIeoEQ8zk,576
|
|
91
91
|
shinestacker/retouch/display_manager.py,sha256=fTZTGbvmX5DXagexuvbNgOF5GiH2Vv-stLUQQwoglp8,10181
|
|
92
|
-
shinestacker/retouch/exif_data.py,sha256=
|
|
93
|
-
shinestacker/retouch/file_loader.py,sha256=
|
|
92
|
+
shinestacker/retouch/exif_data.py,sha256=17_f2MK1PPfwD1PKAiH5t2l7xp6MWrvfeK5buJECMA0,2012
|
|
93
|
+
shinestacker/retouch/file_loader.py,sha256=FTOGOuQRHekofESFDsCvnUU5XnZH_GbLfxXwKnoxZ4s,4832
|
|
94
94
|
shinestacker/retouch/filter_manager.py,sha256=tOGIWj5HjViL1-iXHkd91X-sZ1c1G531pDmLO0x6zx0,866
|
|
95
95
|
shinestacker/retouch/icon_container.py,sha256=6gw1HO1bC2FrdB4dc_iH81DQuLjzuvRGksZ2hKLT9yA,585
|
|
96
96
|
shinestacker/retouch/image_editor_ui.py,sha256=w6tyeYm1Arjyr-MxbLNKYvURV0qEZqigK0iUoqGy92o,34244
|
|
97
97
|
shinestacker/retouch/image_view_status.py,sha256=2rWi2ugdyjMhWCtRJkwOnb7-tCtVfnGfCY_54qpZhwM,1970
|
|
98
98
|
shinestacker/retouch/image_viewer.py,sha256=xf1vYZRPb9ClCQbqrqAFhPubdqIIpku7DgcY8O5bvYU,4694
|
|
99
|
-
shinestacker/retouch/io_gui_handler.py,sha256=
|
|
99
|
+
shinestacker/retouch/io_gui_handler.py,sha256=ADswLdpkrSyQW6GfHgfUosaKDd9_li5xilTNMRA7bsE,14626
|
|
100
100
|
shinestacker/retouch/io_threads.py,sha256=r0X4it2PfwnmiAU7eStniIfcHhPvuaqdqf5VlnvjZ-4,2832
|
|
101
101
|
shinestacker/retouch/layer_collection.py,sha256=xx8INSLCXIeTQn_nxfCo4QljAmQK1qukSYO1Zk4rqqo,6183
|
|
102
102
|
shinestacker/retouch/overlaid_view.py,sha256=QTTdegUWs99YBZZPlIRdPI5O80U3t_c3HnyegbRqNbA,7029
|
|
@@ -109,9 +109,9 @@ shinestacker/retouch/unsharp_mask_filter.py,sha256=SO-6ZgPPDAO9em_MMefVvvSvt01-2
|
|
|
109
109
|
shinestacker/retouch/view_strategy.py,sha256=jZxB_vX3_0notH0ClxKkLzbdtx4is3vQiYoIP-sDv3M,30216
|
|
110
110
|
shinestacker/retouch/vignetting_filter.py,sha256=M7PZGPdVSq4bqo6wkEznrILMIG3-mTT7iwpgK4Hieyg,3794
|
|
111
111
|
shinestacker/retouch/white_balance_filter.py,sha256=UaH4yxG3fU4vPutBAkV5oTXIQyUTN09x0uTywAzv3sY,8286
|
|
112
|
-
shinestacker-1.
|
|
113
|
-
shinestacker-1.
|
|
114
|
-
shinestacker-1.
|
|
115
|
-
shinestacker-1.
|
|
116
|
-
shinestacker-1.
|
|
117
|
-
shinestacker-1.
|
|
112
|
+
shinestacker-1.9.0.dist-info/licenses/LICENSE,sha256=pWgb-bBdsU2Gd2kwAXxketnm5W_2u8_fIeWEgojfrxs,7651
|
|
113
|
+
shinestacker-1.9.0.dist-info/METADATA,sha256=ekT-bHQmMgyxKc8igb3YntWBacm_Zr_Uyi3lve-QuQU,6883
|
|
114
|
+
shinestacker-1.9.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
115
|
+
shinestacker-1.9.0.dist-info/entry_points.txt,sha256=SY6g1LqtMmp23q1DGwLUDT_dhLX9iss8DvWkiWLyo_4,166
|
|
116
|
+
shinestacker-1.9.0.dist-info/top_level.txt,sha256=MhijwnBVX5psfsyX8JZjqp3SYiWPsKe69f3Gnyze4Fw,13
|
|
117
|
+
shinestacker-1.9.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|