rodhypix 0.1.1__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.
rodhypix-0.1.1/LICENSE ADDED
@@ -0,0 +1,32 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2025, Robert Buecker
4
+
5
+ Portions of this software (rod_image_reader.py) are adapted from dxtbx:
6
+ Copyright (c) 2018-2023, United Kingdom Research and Innovation
7
+ Copyright (c) 2022-2023, Takanori Nakane
8
+
9
+ Redistribution and use in source and binary forms, with or without
10
+ modification, are permitted provided that the following conditions are met:
11
+
12
+ 1. Redistributions of source code must retain the above copyright notice, this
13
+ list of conditions and the following disclaimer.
14
+
15
+ 2. Redistributions in binary form must reproduce the above copyright notice,
16
+ this list of conditions and the following disclaimer in the documentation
17
+ and/or other materials provided with the distribution.
18
+
19
+ 3. Neither the name of the copyright holder nor the names of its
20
+ contributors may be used to endorse or promote products derived from
21
+ this software without specific prior written permission.
22
+
23
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
27
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
31
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,6 @@
1
+ include README.md
2
+ include LICENSE
3
+ include scripts/*.py
4
+ include rodhypix/*.cpp
5
+ global-exclude __pycache__
6
+ global-exclude *.py[co]
@@ -0,0 +1,88 @@
1
+ Metadata-Version: 2.4
2
+ Name: rodhypix
3
+ Version: 0.1.1
4
+ Summary: Standalone reader for Rigaku .rodhypix detector images
5
+ Author-email: Robert Buecker <robert.buecker@rigaku.com>
6
+ License: BSD-3-Clause
7
+ Project-URL: Homepage, https://github.com/robertbuecker/rodhypix
8
+ Project-URL: Repository, https://github.com/robertbuecker/rodhypix
9
+ Project-URL: Issues, https://github.com/robertbuecker/rodhypix/issues
10
+ Keywords: rodhypix,hypix,rigaku,crystallography,microed,3ded,crysalispro
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Science/Research
13
+ Classifier: License :: OSI Approved :: BSD License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Programming Language :: Python :: 3.14
21
+ Classifier: Topic :: Scientific/Engineering :: Chemistry
22
+ Requires-Python: >=3.9
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: numpy>=1.20.0
26
+ Provides-Extra: viz
27
+ Requires-Dist: matplotlib>=3.3.0; extra == "viz"
28
+ Provides-Extra: dev
29
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
30
+ Requires-Dist: black>=22.0.0; extra == "dev"
31
+ Requires-Dist: flake8>=4.0.0; extra == "dev"
32
+ Dynamic: license-file
33
+
34
+ # rodhypix
35
+
36
+ Standalone reader for Rigaku `.rodhypix` detector images.
37
+
38
+ ## Features
39
+
40
+ - Read native `.rodhypix` images without CrysAlisPro
41
+ - Access detector and experiment metadata
42
+ - Native C++ TY6 backend
43
+ - Pure Python fallback
44
+
45
+ ## Installation
46
+
47
+ ```bash
48
+ pip install rodhypix
49
+ ```
50
+
51
+ On Windows, this will install native decompression from wheels without compilation.
52
+
53
+ Plotting support (only required for example notebooks):
54
+
55
+ ```bash
56
+ pip install "rodhypix[viz]"
57
+ ```
58
+
59
+ ## Quick Start
60
+
61
+ ```python
62
+ from rodhypix import RODImageReader, get_rod_info, read_rod_image
63
+
64
+ image = read_rod_image("snapshot.rodhypix")
65
+ info = get_rod_info("snapshot.rodhypix")
66
+
67
+ reader = RODImageReader("snapshot.rodhypix")
68
+ print(reader.get_decompression_method())
69
+ print(info["exposure_time_sec"])
70
+ ```
71
+
72
+ ## Public API
73
+
74
+ - `RODImageReader`
75
+ - `read_rod_image`
76
+ - `get_rod_info`
77
+ - `HAS_NATIVE_CPP`
78
+
79
+ ## Included Material
80
+
81
+ - `rodhypix/rod_image_reader.py`: main reader implementation
82
+ - `rodhypix/ty6_backend_tools.py`: backend comparison and benchmark helpers
83
+ - `scripts/benchmark_ty6_backends.py`: CLI benchmark
84
+ - `examples/01_image_visualization.ipynb`: image visualization notebook
85
+
86
+ ## Example Data
87
+
88
+ The extracted example dataset is stored in `example_data/exp_11317.zip`.
@@ -0,0 +1,55 @@
1
+ # rodhypix
2
+
3
+ Standalone reader for Rigaku `.rodhypix` detector images.
4
+
5
+ ## Features
6
+
7
+ - Read native `.rodhypix` images without CrysAlisPro
8
+ - Access detector and experiment metadata
9
+ - Native C++ TY6 backend
10
+ - Pure Python fallback
11
+
12
+ ## Installation
13
+
14
+ ```bash
15
+ pip install rodhypix
16
+ ```
17
+
18
+ On Windows, this will install native decompression from wheels without compilation.
19
+
20
+ Plotting support (only required for example notebooks):
21
+
22
+ ```bash
23
+ pip install "rodhypix[viz]"
24
+ ```
25
+
26
+ ## Quick Start
27
+
28
+ ```python
29
+ from rodhypix import RODImageReader, get_rod_info, read_rod_image
30
+
31
+ image = read_rod_image("snapshot.rodhypix")
32
+ info = get_rod_info("snapshot.rodhypix")
33
+
34
+ reader = RODImageReader("snapshot.rodhypix")
35
+ print(reader.get_decompression_method())
36
+ print(info["exposure_time_sec"])
37
+ ```
38
+
39
+ ## Public API
40
+
41
+ - `RODImageReader`
42
+ - `read_rod_image`
43
+ - `get_rod_info`
44
+ - `HAS_NATIVE_CPP`
45
+
46
+ ## Included Material
47
+
48
+ - `rodhypix/rod_image_reader.py`: main reader implementation
49
+ - `rodhypix/ty6_backend_tools.py`: backend comparison and benchmark helpers
50
+ - `scripts/benchmark_ty6_backends.py`: CLI benchmark
51
+ - `examples/01_image_visualization.ipynb`: image visualization notebook
52
+
53
+ ## Example Data
54
+
55
+ The extracted example dataset is stored in `example_data/exp_11317.zip`.
@@ -0,0 +1,51 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0", "wheel", "numpy>=1.20.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "rodhypix"
7
+ version = "0.1.1"
8
+ description = "Standalone reader for Rigaku .rodhypix detector images"
9
+ readme = "README.md"
10
+ requires-python = ">=3.9"
11
+ license = {text = "BSD-3-Clause"}
12
+ authors = [
13
+ {name = "Robert Buecker", email = "robert.buecker@rigaku.com"}
14
+ ]
15
+ keywords = ["rodhypix", "hypix", "rigaku", "crystallography", "microed", "3ded", "crysalispro"]
16
+ classifiers = [
17
+ "Development Status :: 4 - Beta",
18
+ "Intended Audience :: Science/Research",
19
+ "License :: OSI Approved :: BSD License",
20
+ "Programming Language :: Python :: 3",
21
+ "Programming Language :: Python :: 3.9",
22
+ "Programming Language :: Python :: 3.10",
23
+ "Programming Language :: Python :: 3.11",
24
+ "Programming Language :: Python :: 3.12",
25
+ "Programming Language :: Python :: 3.13",
26
+ "Programming Language :: Python :: 3.14",
27
+ "Topic :: Scientific/Engineering :: Chemistry",
28
+ ]
29
+
30
+ dependencies = [
31
+ "numpy>=1.20.0",
32
+ ]
33
+
34
+ [project.optional-dependencies]
35
+ viz = ["matplotlib>=3.3.0"]
36
+ dev = [
37
+ "pytest>=7.0.0",
38
+ "black>=22.0.0",
39
+ "flake8>=4.0.0",
40
+ ]
41
+
42
+ [project.urls]
43
+ Homepage = "https://github.com/robertbuecker/rodhypix"
44
+ Repository = "https://github.com/robertbuecker/rodhypix"
45
+ Issues = "https://github.com/robertbuecker/rodhypix/issues"
46
+
47
+ [tool.setuptools]
48
+ packages = ["rodhypix"]
49
+
50
+ [tool.setuptools.package-data]
51
+ rodhypix = ["py.typed"]
@@ -0,0 +1,8 @@
1
+ from .rod_image_reader import HAS_NATIVE_CPP, RODImageReader, get_rod_info, read_rod_image
2
+
3
+ __all__ = [
4
+ "HAS_NATIVE_CPP",
5
+ "RODImageReader",
6
+ "get_rod_info",
7
+ "read_rod_image",
8
+ ]
@@ -0,0 +1 @@
1
+