oct-to-tiff 0.4.0__tar.gz → 0.5.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.
@@ -1,28 +1,71 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: oct-to-tiff
3
- Version: 0.4.0
3
+ Version: 0.5.0
4
4
  Summary: A command line tool for converting optical coherence tomography angiography (OCTA) data.
5
- Home-page: https://github.com/camlloyd/oct-to-tiff
6
- Author: Cameron Lloyd
7
- Author-email: lloyd@med.unideb.hu
5
+ Author-email: Cameron Lloyd <lloyd@med.unideb.hu>
6
+ Maintainer-email: Cameron Lloyd <lloyd@med.unideb.hu>
7
+ License: BSD 3-Clause License
8
+
9
+ Copyright (c) 2021, Cameron Lloyd
10
+ All rights reserved.
11
+
12
+ Redistribution and use in source and binary forms, with or without
13
+ modification, are permitted provided that the following conditions are met:
14
+
15
+ 1. Redistributions of source code must retain the above copyright notice, this
16
+ list of conditions and the following disclaimer.
17
+
18
+ 2. Redistributions in binary form must reproduce the above copyright notice,
19
+ this list of conditions and the following disclaimer in the documentation
20
+ and/or other materials provided with the distribution.
21
+
22
+ 3. Neither the name of the copyright holder nor the names of its
23
+ contributors may be used to endorse or promote products derived from
24
+ this software without specific prior written permission.
25
+
26
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
27
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
29
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
30
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
31
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
32
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
34
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
+
37
+ Project-URL: Homepage, https://github.com/camlloyd/oct-to-tiff
8
38
  Project-URL: Bug Tracker, https://github.com/camlloyd/oct-to-tiff/issues
39
+ Project-URL: Changelog, https://github.com/camlloyd/oct-to-tiff/blob/main/CHANGELOG.md
40
+ Keywords: angiography,cli,oct,octa
9
41
  Classifier: Development Status :: 3 - Alpha
10
42
  Classifier: Intended Audience :: Science/Research
11
43
  Classifier: License :: OSI Approved :: BSD License
12
44
  Classifier: Natural Language :: English
13
45
  Classifier: Operating System :: OS Independent
14
46
  Classifier: Programming Language :: Python :: 3
15
- Classifier: Programming Language :: Python :: 3.8
16
- Classifier: Programming Language :: Python :: 3.9
17
47
  Classifier: Programming Language :: Python :: 3.10
18
48
  Classifier: Programming Language :: Python :: 3.11
19
- Requires-Python: >=3.8
49
+ Classifier: Programming Language :: Python :: 3.12
50
+ Classifier: Programming Language :: Python :: 3.13
51
+ Requires-Python: >=3.10
20
52
  Description-Content-Type: text/markdown
21
53
  License-File: LICENSE.txt
54
+ Requires-Dist: defusedxml
55
+ Requires-Dist: numpy
56
+ Requires-Dist: tifffile
57
+ Provides-Extra: dev
58
+ Requires-Dist: mypy; extra == "dev"
59
+ Requires-Dist: ruff; extra == "dev"
60
+ Requires-Dist: types-defusedxml; extra == "dev"
22
61
 
23
62
  # oct-to-tiff
24
63
 
25
64
  [![DOI](https://zenodo.org/badge/382486199.svg)](https://zenodo.org/badge/latestdoi/382486199)
65
+ [![PyPI - Version](https://img.shields.io/pypi/v/oct-to-tiff)](https://pypi.org/project/oct-to-tiff)
66
+ [![PyPI - License](https://img.shields.io/pypi/l/oct-to-tiff)](https://github.com/camlloyd/oct-to-tiff/blob/main/LICENSE.txt)
67
+ [![PyPI Downloads](https://static.pepy.tech/badge/oct-to-tiff)](https://pepy.tech/projects/oct-to-tiff)
68
+
26
69
 
27
70
  A command line tool for converting optical coherence tomography angiography (OCTA) data.
28
71
 
@@ -31,9 +74,9 @@ via pip:
31
74
 
32
75
  pip install oct-to-tiff
33
76
 
34
- via conda:
77
+ via mamba:
35
78
 
36
- conda install -c conda-forge oct-to-tiff
79
+ mamba install -c conda-forge oct-to-tiff
37
80
 
38
81
  ## Getting started
39
82
  oct-to-tiff /path/to/image.OCT
@@ -49,6 +92,12 @@ By default, the output file will be written with the same name as the input file
49
92
 
50
93
  To specify a custom output directory, see [Optional arguments](#optional-arguments) below.
51
94
 
95
+ ## Batch processing
96
+ ``` bash
97
+ for file in *.OCT; do oct-to-tiff "${file}"; done
98
+ ```
99
+ will convert all OCT volumes in the current directory to OME-TIFF files, including voxel size in the metadata.
100
+
52
101
  ## Supported scan patterns
53
102
 
54
103
  This tool has been developed by reverse engineering data from the Optovue RTVue XR Avanti System.
@@ -111,6 +160,13 @@ Sets the correct voxel size for scan patterns with adjustable length.
111
160
 
112
161
  oct-to-tiff /path/to/image.OCT --size 4.5
113
162
 
163
+ #### `--log-level LEVEL`
164
+ **Description**: sets the logging level (default: `WARNING`)
165
+
166
+ **Usage**:
167
+
168
+ oct-to-tiff /path/to/image.OCT --log-level INFO
169
+
114
170
  #### `--version`
115
171
  **Description**: show program's version number and exit.
116
172
 
@@ -154,8 +210,8 @@ Requires `--size SIZE`.
154
210
 
155
211
  ## Contributing
156
212
 
157
- This project uses [black](https://github.com/psf/black) for formatting and [isort](https://github.com/PyCQA/isort) for sorting imports.
213
+ This project uses [Ruff](https://github.com/astral-sh/ruff) for linting and formatting.
158
214
 
159
215
  ## Requirements
160
216
 
161
- Requires Python 3.8 or higher.
217
+ Requires Python 3.10 or higher.
@@ -1,6 +1,10 @@
1
1
  # oct-to-tiff
2
2
 
3
3
  [![DOI](https://zenodo.org/badge/382486199.svg)](https://zenodo.org/badge/latestdoi/382486199)
4
+ [![PyPI - Version](https://img.shields.io/pypi/v/oct-to-tiff)](https://pypi.org/project/oct-to-tiff)
5
+ [![PyPI - License](https://img.shields.io/pypi/l/oct-to-tiff)](https://github.com/camlloyd/oct-to-tiff/blob/main/LICENSE.txt)
6
+ [![PyPI Downloads](https://static.pepy.tech/badge/oct-to-tiff)](https://pepy.tech/projects/oct-to-tiff)
7
+
4
8
 
5
9
  A command line tool for converting optical coherence tomography angiography (OCTA) data.
6
10
 
@@ -9,9 +13,9 @@ via pip:
9
13
 
10
14
  pip install oct-to-tiff
11
15
 
12
- via conda:
16
+ via mamba:
13
17
 
14
- conda install -c conda-forge oct-to-tiff
18
+ mamba install -c conda-forge oct-to-tiff
15
19
 
16
20
  ## Getting started
17
21
  oct-to-tiff /path/to/image.OCT
@@ -27,6 +31,12 @@ By default, the output file will be written with the same name as the input file
27
31
 
28
32
  To specify a custom output directory, see [Optional arguments](#optional-arguments) below.
29
33
 
34
+ ## Batch processing
35
+ ``` bash
36
+ for file in *.OCT; do oct-to-tiff "${file}"; done
37
+ ```
38
+ will convert all OCT volumes in the current directory to OME-TIFF files, including voxel size in the metadata.
39
+
30
40
  ## Supported scan patterns
31
41
 
32
42
  This tool has been developed by reverse engineering data from the Optovue RTVue XR Avanti System.
@@ -89,6 +99,13 @@ Sets the correct voxel size for scan patterns with adjustable length.
89
99
 
90
100
  oct-to-tiff /path/to/image.OCT --size 4.5
91
101
 
102
+ #### `--log-level LEVEL`
103
+ **Description**: sets the logging level (default: `WARNING`)
104
+
105
+ **Usage**:
106
+
107
+ oct-to-tiff /path/to/image.OCT --log-level INFO
108
+
92
109
  #### `--version`
93
110
  **Description**: show program's version number and exit.
94
111
 
@@ -132,8 +149,8 @@ Requires `--size SIZE`.
132
149
 
133
150
  ## Contributing
134
151
 
135
- This project uses [black](https://github.com/psf/black) for formatting and [isort](https://github.com/PyCQA/isort) for sorting imports.
152
+ This project uses [Ruff](https://github.com/astral-sh/ruff) for linting and formatting.
136
153
 
137
154
  ## Requirements
138
155
 
139
- Requires Python 3.8 or higher.
156
+ Requires Python 3.10 or higher.
@@ -0,0 +1,55 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "oct-to-tiff"
7
+ version = "0.5.0"
8
+ dependencies = [
9
+ "defusedxml",
10
+ "numpy",
11
+ "tifffile",
12
+ ]
13
+ requires-python = ">=3.10"
14
+ authors = [{name = "Cameron Lloyd", email = "lloyd@med.unideb.hu"}]
15
+ maintainers = [{name = "Cameron Lloyd", email = "lloyd@med.unideb.hu"}]
16
+ description = "A command line tool for converting optical coherence tomography angiography (OCTA) data."
17
+ readme = "README.md"
18
+ license = {file = "LICENSE.txt"}
19
+ keywords = ["angiography", "cli", "oct", "octa"]
20
+ classifiers = [
21
+ "Development Status :: 3 - Alpha",
22
+ "Intended Audience :: Science/Research",
23
+ "License :: OSI Approved :: BSD License",
24
+ "Natural Language :: English",
25
+ "Operating System :: OS Independent",
26
+ "Programming Language :: Python :: 3",
27
+ "Programming Language :: Python :: 3.10",
28
+ "Programming Language :: Python :: 3.11",
29
+ "Programming Language :: Python :: 3.12",
30
+ "Programming Language :: Python :: 3.13",
31
+ ]
32
+
33
+ [project.optional-dependencies]
34
+ dev = [
35
+ "mypy",
36
+ "ruff",
37
+ "types-defusedxml"
38
+ ]
39
+
40
+ [project.urls]
41
+ Homepage = "https://github.com/camlloyd/oct-to-tiff"
42
+ "Bug Tracker" = "https://github.com/camlloyd/oct-to-tiff/issues"
43
+ Changelog = "https://github.com/camlloyd/oct-to-tiff/blob/main/CHANGELOG.md"
44
+
45
+ [project.scripts]
46
+ oct-to-tiff = "oct_to_tiff.cli:main"
47
+
48
+ [tool.setuptools.packages.find]
49
+ where = ["src"]
50
+
51
+ [tool.ruff.lint]
52
+ select = [
53
+ "I", # isort
54
+ "S", # flake8-bandit
55
+ ]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -1,25 +1,29 @@
1
1
  import argparse
2
2
  import logging
3
- import xml.etree.ElementTree as ET
3
+ from importlib.metadata import version
4
4
  from pathlib import Path
5
+ from typing import Any
5
6
 
7
+ import defusedxml.ElementTree as DET
6
8
  import numpy as np
7
9
  import tifffile
10
+ from numpy.typing import NDArray
8
11
 
9
- logging.basicConfig(
10
- format="%(asctime)s %(name)s:%(funcName)s %(levelname)s - %(message)s"
11
- )
12
12
  logger = logging.getLogger(__name__)
13
13
 
14
14
 
15
15
  def reshape_volume(
16
- volume, frames_per_data_group, total_data_groups, oct_window_height, xy_scan_length
17
- ):
16
+ volume: NDArray[Any],
17
+ frames_per_data_group: int,
18
+ total_data_groups: int,
19
+ oct_window_height: int,
20
+ xy_scan_length: int,
21
+ ) -> NDArray[Any]:
18
22
  """Reshape a 1-dimensional array to a 3-dimensional array.
19
23
 
20
24
  Parameters
21
25
  ----------
22
- volume : ndarray
26
+ volume : NDArray[Any]
23
27
  A 1-dimensional array.
24
28
  frames_per_data_group : int
25
29
  The number of frames per data group.
@@ -32,7 +36,7 @@ def reshape_volume(
32
36
 
33
37
  Returns
34
38
  -------
35
- volume : ndarray
39
+ volume : NDArray[Any]
36
40
  A 3-dimensional array.
37
41
 
38
42
  """
@@ -47,17 +51,19 @@ def reshape_volume(
47
51
  return volume
48
52
 
49
53
 
50
- def rotate_volume(volume):
54
+ def rotate_volume(
55
+ volume: NDArray[Any],
56
+ ) -> NDArray[Any]:
51
57
  """Rotate a 3-dimensional array 90 degrees left (anti-clockwise) about the z-axis.
52
58
 
53
59
  Parameters
54
60
  ----------
55
- volume : ndarray
61
+ volume : NDArray[Any]
56
62
  A 3-dimensional array.
57
63
 
58
64
  Returns
59
65
  -------
60
- volume : ndarray
66
+ volume : NDArray[Any]
61
67
  A rotated version of the input volume.
62
68
 
63
69
  """
@@ -65,14 +71,20 @@ def rotate_volume(volume):
65
71
  return volume
66
72
 
67
73
 
68
- def write_volume(output_path, volume, pixel_size_x, pixel_size_y, pixel_size_z):
74
+ def write_volume(
75
+ output_path: Path,
76
+ volume: NDArray[Any],
77
+ pixel_size_x: float,
78
+ pixel_size_y: float,
79
+ pixel_size_z: float,
80
+ ) -> None:
69
81
  """Write a 3-dimensional array to the output path as an OME-TIFF file, including voxel size in the metadata.
70
82
 
71
83
  Parameters
72
84
  ----------
73
85
  output_path : Path
74
86
  The specified output path.
75
- volume : ndarray
87
+ volume : NDArray[Any]
76
88
  A 3-dimensional array.
77
89
  pixel_size_x : float
78
90
  The pixel (voxel) width in mm.
@@ -98,21 +110,23 @@ def write_volume(output_path, volume, pixel_size_x, pixel_size_y, pixel_size_z):
98
110
  )
99
111
 
100
112
 
101
- def extract_boundaries(input_path):
113
+ def extract_boundaries(input_path: str | Path) -> None:
102
114
  """Extract segmentation lines.
103
115
 
104
116
  Parameters
105
117
  ----------
106
- input_path : Path
118
+ input_path : str | Path
107
119
  The specified input path.
108
120
 
109
121
  """
110
- tree = ET.parse(input_path)
122
+ input_path = Path(input_path)
123
+ tree = DET.parse(input_path)
111
124
  root = tree.getroot()
112
125
 
113
- array_size = int(root.findtext("./Curve_Set/Image/Curve/ARRAY"))
126
+ array_size = int(root.findtext("./Curve_Set/Image/Curve/ARRAY", 0))
114
127
  data_points = [
115
- int(point.text) for point in root.findall("./Curve_Set/Image/Curve/D")
128
+ int(point.text) if point.text else 0
129
+ for point in root.findall("./Curve_Set/Image/Curve/D")
116
130
  ]
117
131
  scan_length = np.arange(len(data_points))
118
132
  num_files = len(data_points) // array_size
@@ -124,7 +138,7 @@ def extract_boundaries(input_path):
124
138
  np.savetxt(table_path, table, delimiter="\t", fmt="%d")
125
139
 
126
140
 
127
- def main():
141
+ def main() -> None:
128
142
  parser = argparse.ArgumentParser(
129
143
  description="Convert optical coherence tomography angiography (OCTA) data."
130
144
  )
@@ -162,9 +176,25 @@ def main():
162
176
  action="store_true",
163
177
  help="extract segmentation lines",
164
178
  )
165
- parser.add_argument("--version", action="version", version="%(prog)s 0.4.0")
179
+ parser.add_argument(
180
+ "--log-level",
181
+ default="WARNING",
182
+ metavar="LEVEL",
183
+ help="sets the logging level (default: %(default)s)",
184
+ )
185
+ parser.add_argument(
186
+ "--version", action="version", version="%(prog)s " + version("oct_to_tiff")
187
+ )
166
188
  args = parser.parse_args()
167
189
 
190
+ numeric_level = getattr(logging, args.log_level.upper(), None)
191
+ if not isinstance(numeric_level, int):
192
+ raise ValueError(f"Invalid log level: {args.log_level}")
193
+ logging.basicConfig(
194
+ level=numeric_level,
195
+ format="%(asctime)s %(name)s:%(funcName)s %(levelname)s - %(message)s",
196
+ )
197
+
168
198
  input_path = args.input
169
199
  if args.output:
170
200
  dir_name = args.output
@@ -1,28 +1,71 @@
1
1
  Metadata-Version: 2.1
2
- Name: oct_to_tiff
3
- Version: 0.4.0
2
+ Name: oct-to-tiff
3
+ Version: 0.5.0
4
4
  Summary: A command line tool for converting optical coherence tomography angiography (OCTA) data.
5
- Home-page: https://github.com/camlloyd/oct-to-tiff
6
- Author: Cameron Lloyd
7
- Author-email: lloyd@med.unideb.hu
5
+ Author-email: Cameron Lloyd <lloyd@med.unideb.hu>
6
+ Maintainer-email: Cameron Lloyd <lloyd@med.unideb.hu>
7
+ License: BSD 3-Clause License
8
+
9
+ Copyright (c) 2021, Cameron Lloyd
10
+ All rights reserved.
11
+
12
+ Redistribution and use in source and binary forms, with or without
13
+ modification, are permitted provided that the following conditions are met:
14
+
15
+ 1. Redistributions of source code must retain the above copyright notice, this
16
+ list of conditions and the following disclaimer.
17
+
18
+ 2. Redistributions in binary form must reproduce the above copyright notice,
19
+ this list of conditions and the following disclaimer in the documentation
20
+ and/or other materials provided with the distribution.
21
+
22
+ 3. Neither the name of the copyright holder nor the names of its
23
+ contributors may be used to endorse or promote products derived from
24
+ this software without specific prior written permission.
25
+
26
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
27
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
29
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
30
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
31
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
32
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
34
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
+
37
+ Project-URL: Homepage, https://github.com/camlloyd/oct-to-tiff
8
38
  Project-URL: Bug Tracker, https://github.com/camlloyd/oct-to-tiff/issues
39
+ Project-URL: Changelog, https://github.com/camlloyd/oct-to-tiff/blob/main/CHANGELOG.md
40
+ Keywords: angiography,cli,oct,octa
9
41
  Classifier: Development Status :: 3 - Alpha
10
42
  Classifier: Intended Audience :: Science/Research
11
43
  Classifier: License :: OSI Approved :: BSD License
12
44
  Classifier: Natural Language :: English
13
45
  Classifier: Operating System :: OS Independent
14
46
  Classifier: Programming Language :: Python :: 3
15
- Classifier: Programming Language :: Python :: 3.8
16
- Classifier: Programming Language :: Python :: 3.9
17
47
  Classifier: Programming Language :: Python :: 3.10
18
48
  Classifier: Programming Language :: Python :: 3.11
19
- Requires-Python: >=3.8
49
+ Classifier: Programming Language :: Python :: 3.12
50
+ Classifier: Programming Language :: Python :: 3.13
51
+ Requires-Python: >=3.10
20
52
  Description-Content-Type: text/markdown
21
53
  License-File: LICENSE.txt
54
+ Requires-Dist: defusedxml
55
+ Requires-Dist: numpy
56
+ Requires-Dist: tifffile
57
+ Provides-Extra: dev
58
+ Requires-Dist: mypy; extra == "dev"
59
+ Requires-Dist: ruff; extra == "dev"
60
+ Requires-Dist: types-defusedxml; extra == "dev"
22
61
 
23
62
  # oct-to-tiff
24
63
 
25
64
  [![DOI](https://zenodo.org/badge/382486199.svg)](https://zenodo.org/badge/latestdoi/382486199)
65
+ [![PyPI - Version](https://img.shields.io/pypi/v/oct-to-tiff)](https://pypi.org/project/oct-to-tiff)
66
+ [![PyPI - License](https://img.shields.io/pypi/l/oct-to-tiff)](https://github.com/camlloyd/oct-to-tiff/blob/main/LICENSE.txt)
67
+ [![PyPI Downloads](https://static.pepy.tech/badge/oct-to-tiff)](https://pepy.tech/projects/oct-to-tiff)
68
+
26
69
 
27
70
  A command line tool for converting optical coherence tomography angiography (OCTA) data.
28
71
 
@@ -31,9 +74,9 @@ via pip:
31
74
 
32
75
  pip install oct-to-tiff
33
76
 
34
- via conda:
77
+ via mamba:
35
78
 
36
- conda install -c conda-forge oct-to-tiff
79
+ mamba install -c conda-forge oct-to-tiff
37
80
 
38
81
  ## Getting started
39
82
  oct-to-tiff /path/to/image.OCT
@@ -49,6 +92,12 @@ By default, the output file will be written with the same name as the input file
49
92
 
50
93
  To specify a custom output directory, see [Optional arguments](#optional-arguments) below.
51
94
 
95
+ ## Batch processing
96
+ ``` bash
97
+ for file in *.OCT; do oct-to-tiff "${file}"; done
98
+ ```
99
+ will convert all OCT volumes in the current directory to OME-TIFF files, including voxel size in the metadata.
100
+
52
101
  ## Supported scan patterns
53
102
 
54
103
  This tool has been developed by reverse engineering data from the Optovue RTVue XR Avanti System.
@@ -111,6 +160,13 @@ Sets the correct voxel size for scan patterns with adjustable length.
111
160
 
112
161
  oct-to-tiff /path/to/image.OCT --size 4.5
113
162
 
163
+ #### `--log-level LEVEL`
164
+ **Description**: sets the logging level (default: `WARNING`)
165
+
166
+ **Usage**:
167
+
168
+ oct-to-tiff /path/to/image.OCT --log-level INFO
169
+
114
170
  #### `--version`
115
171
  **Description**: show program's version number and exit.
116
172
 
@@ -154,8 +210,8 @@ Requires `--size SIZE`.
154
210
 
155
211
  ## Contributing
156
212
 
157
- This project uses [black](https://github.com/psf/black) for formatting and [isort](https://github.com/PyCQA/isort) for sorting imports.
213
+ This project uses [Ruff](https://github.com/astral-sh/ruff) for linting and formatting.
158
214
 
159
215
  ## Requirements
160
216
 
161
- Requires Python 3.8 or higher.
217
+ Requires Python 3.10 or higher.
@@ -1,8 +1,6 @@
1
1
  LICENSE.txt
2
2
  README.md
3
3
  pyproject.toml
4
- setup.cfg
5
- setup.py
6
4
  src/oct_to_tiff/__init__.py
7
5
  src/oct_to_tiff/cli.py
8
6
  src/oct_to_tiff.egg-info/PKG-INFO
@@ -0,0 +1,8 @@
1
+ defusedxml
2
+ numpy
3
+ tifffile
4
+
5
+ [dev]
6
+ mypy
7
+ ruff
8
+ types-defusedxml
@@ -1,3 +0,0 @@
1
- [build-system]
2
- requires = ["setuptools>=61.0"]
3
- build-backend = "setuptools.build_meta"
@@ -1,43 +0,0 @@
1
- [metadata]
2
- name = oct_to_tiff
3
- version = 0.4.0
4
- author = Cameron Lloyd
5
- author_email = lloyd@med.unideb.hu
6
- description = A command line tool for converting optical coherence tomography angiography (OCTA) data.
7
- long_description = file: README.md
8
- long_description_content_type = text/markdown
9
- url = https://github.com/camlloyd/oct-to-tiff
10
- project_urls =
11
- Bug Tracker = https://github.com/camlloyd/oct-to-tiff/issues
12
- classifiers =
13
- Development Status :: 3 - Alpha
14
- Intended Audience :: Science/Research
15
- License :: OSI Approved :: BSD License
16
- Natural Language :: English
17
- Operating System :: OS Independent
18
- Programming Language :: Python :: 3
19
- Programming Language :: Python :: 3.8
20
- Programming Language :: Python :: 3.9
21
- Programming Language :: Python :: 3.10
22
- Programming Language :: Python :: 3.11
23
-
24
- [options]
25
- packages = find:
26
- package_dir =
27
- =src
28
- python_requires = >=3.8
29
- install_requires =
30
- numpy
31
- tifffile
32
-
33
- [options.entry_points]
34
- console_scripts =
35
- oct-to-tiff = oct_to_tiff.cli:main
36
-
37
- [options.packages.find]
38
- where = src
39
-
40
- [egg_info]
41
- tag_build =
42
- tag_date = 0
43
-
@@ -1,3 +0,0 @@
1
- import setuptools
2
-
3
- setuptools.setup()
@@ -1,2 +0,0 @@
1
- numpy
2
- tifffile
File without changes