arcjetcv 1.1.0.dev4__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 (55) hide show
  1. arcjetcv-1.1.0.dev4/LICENSE +259 -0
  2. arcjetcv-1.1.0.dev4/MANIFEST.in +1 -0
  3. arcjetcv-1.1.0.dev4/PKG-INFO +174 -0
  4. arcjetcv-1.1.0.dev4/README.md +134 -0
  5. arcjetcv-1.1.0.dev4/README_pypi.md +135 -0
  6. arcjetcv-1.1.0.dev4/arcjetCV/__init__.py +20 -0
  7. arcjetcv-1.1.0.dev4/arcjetCV/calibration/__init__.py +0 -0
  8. arcjetcv-1.1.0.dev4/arcjetCV/calibration/calibrate_video.py +55 -0
  9. arcjetcv-1.1.0.dev4/arcjetCV/calibration/calibration_controller.py +895 -0
  10. arcjetcv-1.1.0.dev4/arcjetCV/calibration/calibration_main.py +16 -0
  11. arcjetcv-1.1.0.dev4/arcjetCV/calibration/calibration_model.py +178 -0
  12. arcjetcv-1.1.0.dev4/arcjetCV/calibration/calibration_view.py +324 -0
  13. arcjetcv-1.1.0.dev4/arcjetCV/calibration/chessboard_pattern.png +0 -0
  14. arcjetcv-1.1.0.dev4/arcjetCV/calibration/detetct_example.py +48 -0
  15. arcjetcv-1.1.0.dev4/arcjetCV/calibration/rotated_pattern.png +0 -0
  16. arcjetcv-1.1.0.dev4/arcjetCV/calibration/test.py +57 -0
  17. arcjetcv-1.1.0.dev4/arcjetCV/chessboard_pattern.png +0 -0
  18. arcjetcv-1.1.0.dev4/arcjetCV/gui/__init__.py +0 -0
  19. arcjetcv-1.1.0.dev4/arcjetCV/gui/_arcjetCV_gui.py +846 -0
  20. arcjetcv-1.1.0.dev4/arcjetCV/gui/arcjetCV_gui.py +1188 -0
  21. arcjetcv-1.1.0.dev4/arcjetCV/gui/custom_classes.py +62 -0
  22. arcjetcv-1.1.0.dev4/arcjetCV/gui/logo/arcjetCV_logo.icns +0 -0
  23. arcjetcv-1.1.0.dev4/arcjetCV/gui/logo/arcjetCV_logo.ico +0 -0
  24. arcjetcv-1.1.0.dev4/arcjetCV/gui/logo/arcjetCV_logo_.png +0 -0
  25. arcjetcv-1.1.0.dev4/arcjetCV/gui/logo/arcjetCV_logo_white.png +0 -0
  26. arcjetcv-1.1.0.dev4/arcjetCV/gui/main.py +34 -0
  27. arcjetcv-1.1.0.dev4/arcjetCV/gui/main_window.py +1203 -0
  28. arcjetcv-1.1.0.dev4/arcjetCV/segmentation/__init__.py +0 -0
  29. arcjetcv-1.1.0.dev4/arcjetCV/segmentation/contour/__init__.py +0 -0
  30. arcjetcv-1.1.0.dev4/arcjetCV/segmentation/contour/cnn.py +49 -0
  31. arcjetcv-1.1.0.dev4/arcjetCV/segmentation/contour/contour.py +386 -0
  32. arcjetcv-1.1.0.dev4/arcjetCV/segmentation/time/__init__.py +0 -0
  33. arcjetcv-1.1.0.dev4/arcjetCV/segmentation/time/time_segmentation.py +120 -0
  34. arcjetcv-1.1.0.dev4/arcjetCV/utils/__init__.py +0 -0
  35. arcjetcv-1.1.0.dev4/arcjetCV/utils/logger.py +14 -0
  36. arcjetcv-1.1.0.dev4/arcjetCV/utils/output.py +124 -0
  37. arcjetcv-1.1.0.dev4/arcjetCV/utils/processor.py +564 -0
  38. arcjetcv-1.1.0.dev4/arcjetCV/utils/utils.py +160 -0
  39. arcjetcv-1.1.0.dev4/arcjetCV/utils/video.py +293 -0
  40. arcjetcv-1.1.0.dev4/arcjetcv.egg-info/PKG-INFO +174 -0
  41. arcjetcv-1.1.0.dev4/arcjetcv.egg-info/SOURCES.txt +53 -0
  42. arcjetcv-1.1.0.dev4/arcjetcv.egg-info/dependency_links.txt +1 -0
  43. arcjetcv-1.1.0.dev4/arcjetcv.egg-info/entry_points.txt +3 -0
  44. arcjetcv-1.1.0.dev4/arcjetcv.egg-info/requires.txt +11 -0
  45. arcjetcv-1.1.0.dev4/arcjetcv.egg-info/top_level.txt +2 -0
  46. arcjetcv-1.1.0.dev4/setup.cfg +4 -0
  47. arcjetcv-1.1.0.dev4/setup.py +121 -0
  48. arcjetcv-1.1.0.dev4/tests/README.md +29 -0
  49. arcjetcv-1.1.0.dev4/tests/__init__.py +27 -0
  50. arcjetcv-1.1.0.dev4/tests/test_calibration_functions.py +214 -0
  51. arcjetcv-1.1.0.dev4/tests/test_calibration_gui.py +60 -0
  52. arcjetcv-1.1.0.dev4/tests/test_functions.py +118 -0
  53. arcjetcv-1.1.0.dev4/tests/test_gui.py +544 -0
  54. arcjetcv-1.1.0.dev4/tests/test_obj_models.py +112 -0
  55. arcjetcv-1.1.0.dev4/tests/test_segmentation.py +206 -0
@@ -0,0 +1,259 @@
1
+ NASA OPEN SOURCE AGREEMENT VERSION 1.3
2
+ THIS OPEN SOURCE AGREEMENT (“AGREEMENT”) DEFINES THE RIGHTS OF USE,
3
+ REPRODUCTION, DISTRIBUTION, MODIFICATION AND REDISTRIBUTION OF CERTAIN COMPUTER
4
+ SOFTWARE ORIGINALLY RELEASED BY THE UNITED STATES GOVERNMENT AS REPRESENTED BY
5
+ THE GOVERNMENT AGENCY LISTED BELOW ("GOVERNMENT AGENCY"). THE UNITED STATES
6
+ GOVERNMENT, AS REPRESENTED BY GOVERNMENT AGENCY, IS AN INTENDED THIRD-PARTY
7
+ BENEFICIARY OF ALL SUBSEQUENT DISTRIBUTIONS OR REDISTRIBUTIONS OF THE SUBJECT
8
+ SOFTWARE. ANYONE WHO USES, REPRODUCES, DISTRIBUTES, MODIFIES OR REDISTRIBUTES
9
+ THE SUBJECT SOFTWARE, AS DEFINED HEREIN, OR ANY PART THEREOF, IS, BY THAT
10
+ ACTION, ACCEPTING IN FULL THE RESPONSIBILITIES AND OBLIGATIONS CONTAINED IN THIS
11
+ AGREEMENT.
12
+
13
+ Government Agency: NASA Ames Research Center
14
+ Government Agency Original Software Designation: NASA Ames Research Center
15
+ Government Agency Original Software Title: arcjetCV: computer vision application for time-resolved recession measurements from arc jet video files, ARC-18837-1
16
+ User Registration Requested. Please e-mail Government Agency Point of Contact
17
+ Government Agency Point of Contact for Original Software: Magnus Haw
18
+
19
+
20
+ 1. DEFINITIONS
21
+
22
+ A. “Contributor” means Government Agency, as the developer of the
23
+ Original Software, and any entity that makes a Modification.
24
+
25
+ B. “Covered Patents” mean patent claims licensable by a Contributor that
26
+ are necessarily infringed by the use or sale of its Modification alone or
27
+ when combined with the Subject Software.
28
+
29
+ C. “Display” means the showing of a copy of the Subject Software,
30
+ either directly or by means of an image, or any other device.
31
+
32
+ D. “Distribution” means conveyance or transfer of the Subject Software,
33
+ regardless of means, to another.
34
+
35
+ E. “Larger Work” means computer software that combines Subject
36
+ Software, or portions thereof, with software separate from the Subject
37
+ Software that is not governed by the terms of this Agreement.
38
+
39
+ F. “Modification” means any alteration of, including addition to or
40
+ deletion from, the substance or structure of either the Original
41
+ Software or Subject Software, and includes derivative works, as that
42
+ term is defined in the Copyright Statute, 17 USC 101. However, the
43
+ act of including Subject Software as part of a Larger Work does not in
44
+ and of itself constitute a Modification.
45
+
46
+ G. “Original Software” means the computer software first released under
47
+ this Agreement by Government Agency with Government Agency
48
+ designation NASA Ames Research Center and entitled arcjetCV: computer vision application for time-resolved recession measurements from arc jet video files, ARC-18837-1, including source code, object code and
49
+ accompanying documentation, if any.
50
+
51
+ H. “Recipient” means anyone who acquires the Subject Software under
52
+ this Agreement, including all Contributors.
53
+
54
+ I. “Redistribution” means Distribution of the Subject Software after a
55
+ Modification has been made.
56
+
57
+ J. “Reproduction” means the making of a counterpart, image or copy of
58
+ the Subject Software.
59
+
60
+ K. “Sale” means the exchange of the Subject Software for money or
61
+ equivalent value.
62
+
63
+ L. “Subject Software” means the Original Software, Modifications, or
64
+ any respective parts thereof.
65
+
66
+ M. “Use” means the application or employment of the Subject Software
67
+ for any purpose.
68
+
69
+ 2. GRANT OF RIGHTS
70
+
71
+ A. Under Non-Patent Rights: Subject to the terms and conditions of this
72
+ Agreement, each Contributor, with respect to its own contribution to
73
+ the Subject Software, hereby grants to each Recipient a non-exclusive,
74
+ world-wide, royalty-free license to engage in the following activities
75
+ pertaining to the Subject Software:
76
+
77
+ 1. Use
78
+ 2. Distribution
79
+ 3. Reproduction
80
+ 4. Modification
81
+ 5. Redistribution
82
+ 6. Display
83
+
84
+ B. Under Patent Rights: Subject to the terms and conditions of this
85
+ Agreement, each Contributor, with respect to its own contribution to
86
+ the Subject Software, hereby grants to each Recipient under Covered
87
+ Patents a non-exclusive, world-wide, royalty-free license to engage in
88
+ the following activities pertaining to the Subject Software:
89
+
90
+ 1. Use
91
+ 2. Distribution
92
+ 3. Reproduction
93
+ 4. Sale
94
+ 5. Offer for Sale
95
+
96
+ C. The rights granted under Paragraph B. also apply to the combination of
97
+ a Contributor’s Modification and the Subject Software if, at the time
98
+ the Modification is added by the Contributor, the addition of such
99
+ Modification causes the combination to be covered by the Covered
100
+ Patents. It does not apply to any other combinations that include a
101
+ Modification.
102
+
103
+ D. The rights granted in Paragraphs A. and B. allow the Recipient to
104
+ sublicense those same rights. Such sublicense must be under the same
105
+ terms and conditions of this Agreement.
106
+
107
+
108
+ 3. OBLIGATIONS OF RECIPIENT
109
+
110
+ A. Distribution or Redistribution of the Subject Software must be made
111
+ under this Agreement except for additions covered under paragraph
112
+ 3H.
113
+
114
+ 1. Whenever a Recipient distributes or redistributes the Subject
115
+ Software, a copy of this Agreement must be included with each
116
+ copy of the Subject Software; and
117
+
118
+ 2. If Recipient distributes or redistributes the Subject Software in
119
+ any form other than source code, Recipient must also make the
120
+ source code freely available, and must provide with each copy of
121
+ the Subject Software information on how to obtain the source
122
+ code in a reasonable manner on or through a medium
123
+ customarily used for software exchange.
124
+
125
+ B. Each Recipient must ensure that the following copyright notice
126
+ appears prominently in the Subject Software:
127
+
128
+ Copyright © 2024 United States Government as represented by the
129
+ Administrator of the National Aeronautics and Space Administration.
130
+ All Rights Reserved.
131
+
132
+ C. Each Contributor must characterize its alteration of the Subject
133
+ Software as a Modification and must identify itself as the originator of
134
+ its Modification in a manner that reasonably allows subsequent
135
+ Recipients to identify the originator of the Modification. In fulfillment
136
+ of these requirements, Contributor must include a file (e.g., a change
137
+ log file) that describes the alterations made and the date of the
138
+ alterations, identifies Contributor as originator of the alterations, and
139
+ consents to characterization of the alterations as a Modification, for
140
+ example, by including a statement that the Modification is derived,
141
+ directly or indirectly, from Original Software provided by Government
142
+ Agency. Once consent is granted, it may not thereafter be revoked.
143
+
144
+ D. A Contributor may add its own copyright notice to the Subject
145
+ Software. Once a copyright notice has been added to the Subject
146
+ Software, a Recipient may not remove it without the express
147
+ permission of the Contributor who added the notice.
148
+
149
+ E. A Recipient may not make any representation in the Subject Software
150
+ or in any promotional, advertising or other material that may be
151
+ construed as an endorsement by Government Agency or by any prior
152
+ Recipient of any product or service provided by Recipient, or that may
153
+ seek to obtain commercial advantage by the fact of Government
154
+ Agency's or a prior Recipient’s participation in this Agreement.
155
+
156
+ F. In an effort to track usage and maintain accurate records of the Subject
157
+ Software, each Recipient, upon receipt of the Subject Software, is
158
+ requested to provide Government Agency, by e-mail to the
159
+ Government Agency Point of Contact listed in clause 5.F., the
160
+ following information: name and email. Recipient’s name and
161
+ personal information shall be used for statistical purposes only. Once a
162
+ Recipient makes a Modification available, it is requested that the
163
+ Recipient inform Government Agency, by e-mail to the Government
164
+ Agency Point of Contact listed in clause 5.F., how to access the
165
+ Modification.
166
+
167
+ G. Each Contributor represents that that its Modification is believed to be
168
+ Contributor’s original creation and does not violate any existing
169
+ agreements, regulations, statutes or rules, and further that Contributor
170
+ has sufficient rights to grant the rights conveyed by this Agreement.
171
+
172
+ H. A Recipient may choose to offer, and to charge a fee for, warranty,
173
+ support, indemnity and/or liability obligations to one or more other
174
+ Recipients of the Subject Software. A Recipient may do so, however,
175
+ only on its own behalf and not on behalf of Government Agency or
176
+ any other Recipient. Such a Recipient must make it absolutely clear
177
+ that any such warranty, support, indemnity and/or liability obligation
178
+ is offered by that Recipient alone. Further, such Recipient agrees to
179
+ indemnify Government Agency and every other Recipient for any
180
+ liability incurred by them as a result of warranty, support, indemnity
181
+ and/or liability offered by such Recipient.
182
+
183
+ I. A Recipient may create a Larger Work by combining Subject Software
184
+ with separate software not governed by the terms of this agreement
185
+ and distribute the Larger Work as a single product. In such case, the
186
+ Recipient must make sure Subject Software, or portions thereof,
187
+ included in the Larger Work is subject to this Agreement.
188
+
189
+ J. Notwithstanding any provisions contained herein, Recipient is hereby
190
+ put on notice that export of any goods or technical data from the
191
+ United States may require some form of export license from the U.S.
192
+ Government. Failure to obtain necessary export licenses may result in
193
+ criminal liability under U.S. laws. Government Agency neither
194
+ represents that a license shall not be required nor that, if required, it
195
+ shall be issued. Nothing granted herein provides any such export
196
+ license.
197
+
198
+
199
+ 4.DISCLAIMER OF WARRANTIES AND LIABILITIES; WAIVER AND INDEMNIFICATION
200
+
201
+ A. No Warranty: THE SUBJECT SOFTWARE IS PROVIDED “AS IS” WITHOUT ANY WARRANTY OF
202
+ ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED
203
+ TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO SPECIFICATIONS, ANY
204
+ IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
205
+ FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL BE ERROR
206
+ FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF PROVIDED, WILL CONFORM TO THE
207
+ SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN ANY MANNER, CONSTITUTE AN
208
+ ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR RECIPIENT OF ANY RESULTS,
209
+ RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR ANY OTHER APPLICATIONS
210
+ RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER, GOVERNMENT AGENCY DISCLAIMS
211
+ ALL WARRANTIES AND LIABILITIES REGARDING THIRD-PARTY SOFTWARE, IF PRESENT IN THE
212
+ ORIGINAL SOFTWARE, AND DISTRIBUTES IT “AS IS.”
213
+
214
+ B. Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS AGAINST
215
+ THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY
216
+ PRIOR RECIPIENT. IF RECIPIENT'S USE OF THE SUBJECT SOFTWARE RESULTS IN ANY
217
+ LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING FROM SUCH USE,
218
+ INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING FROM, RECIPIENT'S USE
219
+ OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY AND HOLD HARMLESS THE UNITED
220
+ STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY PRIOR
221
+ RECIPIENT, TO THE EXTENT PERMITTED BY LAW. RECIPIENT'S SOLE REMEDY FOR ANY SUCH
222
+ MATTER SHALL BE THE IMMEDIATE, UNILATERAL TERMINATION OF THIS AGREEMENT.
223
+
224
+
225
+ 5. GENERAL TERMS
226
+
227
+ A. Termination: This Agreement and the rights granted hereunder will
228
+ terminate automatically if a Recipient fails to comply with these terms
229
+ and conditions, and fails to cure such noncompliance within thirty (30)
230
+ days of becoming aware of such noncompliance. Upon termination, a
231
+ Recipient agrees to immediately cease use and distribution of the
232
+ Subject Software. All sublicenses to the Subject Software properly
233
+ granted by the breaching Recipient shall survive any such termination
234
+ of this Agreement.
235
+
236
+ B. Severability: If any provision of this Agreement is invalid or
237
+ unenforceable under applicable law, it shall not affect the validity or
238
+ enforceability of the remainder of the terms of this Agreement.
239
+
240
+ C. Applicable Law: This Agreement shall be subject to United States
241
+ federal law only for all purposes, including, but not limited to,
242
+ determining the validity of this Agreement, the meaning of its
243
+ provisions and the rights, obligations and remedies of the parties.
244
+
245
+ D. Entire Understanding: This Agreement constitutes the entire
246
+ understanding and agreement of the parties relating to release of the
247
+ Subject Software and may not be superseded, modified or amended
248
+ except by further written agreement duly executed by the parties.
249
+
250
+ E. Binding Authority: By accepting and using the Subject Software
251
+ under this Agreement, a Recipient affirms its authority to bind the
252
+ Recipient to all terms and conditions of this Agreement and that that
253
+ Recipient hereby agrees to all terms and conditions herein.
254
+
255
+ F. Point of Contact: Any Recipient contact with Government Agency is
256
+ to be directed to the designated representative as follows:
257
+
258
+ Magnus Haw
259
+ magnus.haw@nasa.gov
@@ -0,0 +1 @@
1
+ include README_pypi.md
@@ -0,0 +1,174 @@
1
+ Metadata-Version: 2.4
2
+ Name: arcjetcv
3
+ Version: 1.1.0.dev4
4
+ Summary: Package to process arcjet videos and segment the edge of the shock and of the sample
5
+ Home-page: https://github.com/magnus-haw/arcjetCV
6
+ Author: arcjetCV team
7
+ Project-URL: Bug Tracker, https://github.com/magnus-haw/arcjetCV/issues
8
+ Platform: Linux
9
+ Platform: Mac
10
+ Platform: Windows
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Topic :: Scientific/Engineering
15
+ Classifier: Topic :: Scientific/Engineering :: Physics
16
+ Description-Content-Type: text/markdown
17
+ License-File: LICENSE
18
+ Requires-Dist: pyside6>=6.5.0
19
+ Requires-Dist: opencv-python
20
+ Requires-Dist: opencv-contrib-python
21
+ Requires-Dist: numpy
22
+ Requires-Dist: matplotlib
23
+ Requires-Dist: pandas
24
+ Requires-Dist: pyarrow
25
+ Requires-Dist: scikit-learn
26
+ Requires-Dist: segmentation-models-pytorch
27
+ Requires-Dist: torch
28
+ Requires-Dist: torchvision
29
+ Dynamic: author
30
+ Dynamic: classifier
31
+ Dynamic: description
32
+ Dynamic: description-content-type
33
+ Dynamic: home-page
34
+ Dynamic: license-file
35
+ Dynamic: platform
36
+ Dynamic: project-url
37
+ Dynamic: requires-dist
38
+ Dynamic: summary
39
+
40
+ [![GitHub Docs](https://img.shields.io/badge/docs-GitHub%20Pages-blue)](https://magnus-haw.github.io/arcjetCV/)
41
+ [![PyPI version](https://badge.fury.io/py/arcjetcv.svg)](https://pypi.org/project/arcjetcv/)
42
+ [![Downloads](https://pepy.tech/badge/arcjetcv)](https://pepy.tech/project/arcjetcv)
43
+ [![tutorial](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/magnus-haw/arcjetCV/blob/main/tutorial.ipynb)
44
+
45
+
46
+ -----
47
+
48
+ <div align="center">
49
+ <img src="https://raw.githubusercontent.com/magnus-haw/arcjetCV/main/arcjetCV/gui/logo/arcjetCV_logo_.png" alt="arcjetCV Logo" width="30%">
50
+
51
+ </div>
52
+
53
+ # arcjetCV
54
+
55
+ Package to process arcjet videos and segment the edge of the shock and of the sample.
56
+
57
+ ## Installation
58
+
59
+ ### PyPi Installation (Universal)
60
+
61
+ #### Prerequisites:
62
+ - Ensure you have **Python 3.8** or higher installed.
63
+
64
+ To install **arcjetCV** via **pip** from **PyPi**, run:
65
+
66
+ ```bash
67
+ pip install arcjetCV
68
+ ```
69
+
70
+ This will install **arcjetCV** along with its dependencies.
71
+
72
+ #### Note for macOS Users:
73
+ You might need to install Xcode Command Line Tools:
74
+
75
+ ```bash
76
+ xcode-select --install
77
+ ```
78
+
79
+ #### Note for Linux Users:
80
+
81
+ You may need to install **libxcb-cursor**. Use your package manager to install it:
82
+
83
+ For **Ubuntu/Debian**-based distributions:
84
+ ```bash
85
+ sudo apt-get install libxcb-cursor0
86
+ ```
87
+
88
+ For **Fedora**:
89
+ ```bash
90
+ sudo dnf install libxcb-cursor
91
+ ```
92
+
93
+ For **Arch Linux**:
94
+ ```bash
95
+ sudo pacman -S libxcb
96
+ ```
97
+
98
+ ### Developer Installation
99
+
100
+ #### Prerequisites:
101
+ - A valid **git** installation.
102
+ - **Miniconda** or **Anaconda** for environment and package management:
103
+ - [Miniconda](https://docs.anaconda.com/free/miniconda/miniconda-install/)
104
+ - [Anaconda](https://docs.anaconda.com/free/anaconda/install/index.html)
105
+ - For **macOS** users make sure the Xcode Command Line Tools are installed:
106
+ ```bash
107
+ xcode-select --install
108
+ ```
109
+
110
+ To install **arcjetCV** for development puropse, follow these steps:
111
+
112
+ 1. Install `git-lfs`:
113
+
114
+ Download and install it from [here](https://git-lfs.github.com/).
115
+
116
+ 2. Clone the repository and install the package:
117
+
118
+ ```bash
119
+ git clone https://github.com/magnus-haw/arcjetCV.git
120
+ cd arcjetCV
121
+ conda env create -f env/arcjetCV_env_[cpu/gpu].yml
122
+ conda activate arcjetcv
123
+ python -m pip install -e .
124
+ ```
125
+
126
+ The `-e` flag stands for 'editable' and means that any changes to the local source code will immediately affect the **arcjetCV** package and GUI.
127
+
128
+
129
+ ## How to Run
130
+
131
+ You can now launch the GUI by running:
132
+
133
+ ```bash
134
+ conda activate arcjetcv # (if using conda)
135
+ arcjetCV
136
+ ```
137
+
138
+ Alternatively, you can use **arcjetCV's Python API** inside a Python script, e.g., `test.py`:
139
+
140
+ ```python
141
+ import arcjetCV as arcv
142
+ video = arcv.Video("tests/arcjet_test.mp4")
143
+ ```
144
+
145
+ Run the script with:
146
+
147
+ ```bash
148
+ conda activate arcjetcv # (if using conda)
149
+ python test.py
150
+ ```
151
+
152
+
153
+
154
+ ## Citing
155
+
156
+ If you use arcjetCV in your research, please use the following BibTeX entry to cite [our paper](https://arxiv.org/abs/2404.11492):
157
+
158
+ ```BibTeX
159
+ @article{arcjetCV,
160
+ title={arcjetCV: an open-source software to analyze material ablation},
161
+ author={Quintart, Alexandre and Haw, Magnus and Semeraro, Federico},
162
+ journal={arXiv preprint arXiv:2404.11492},
163
+ year={2024}
164
+ }
165
+ ```
166
+
167
+ ## Legal / License
168
+ Copyright © 2024 United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All Rights Reserved.
169
+
170
+ Disclaimers
171
+
172
+ No Warranty: THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER, GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES IT "AS IS."
173
+
174
+ Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT'S USE OF THE SUBJECT SOFTWARE RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING FROM, RECIPIENT'S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY LAW. RECIPIENT'S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE, UNILATERAL TERMINATION OF THIS AGREEMENT.
@@ -0,0 +1,134 @@
1
+ [![GitHub Docs](https://img.shields.io/badge/docs-GitHub%20Pages-blue)](https://magnus-haw.github.io/arcjetCV/)
2
+ [![PyPI version](https://badge.fury.io/py/arcjetcv.svg)](https://pypi.org/project/arcjetcv/)
3
+ [![tutorial](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/magnus-haw/arcjetCV/blob/main/tutorial.ipynb)
4
+ [![Downloads](https://pepy.tech/badge/arcjetcv)](https://pepy.tech/project/arcjetcv)
5
+ -----
6
+
7
+ <div align="center">
8
+ <img src="https://github.com/magnus-haw/arcjetCV/blob/main/arcjetCV/gui/logo/arcjetCV_logo_.png" alt="arcjetCV Logo" width="30%">
9
+ </div>
10
+
11
+ # arcjetCV
12
+
13
+ Package to process arcjet videos and segment the edge of the shock and of the sample.
14
+
15
+ ![arcjetCV Functionality](https://github.com/magnus-haw/arcjetCV/blob/main/docs/source/arcjet_video.gif)
16
+
17
+ ## Installation
18
+
19
+ ### PyPi Installation (Universal)
20
+
21
+ #### Prerequisites:
22
+ - Ensure you have **Python 3.8** or higher installed.
23
+
24
+ To install **arcjetCV** via **pip** from **PyPi**, run:
25
+
26
+ ```bash
27
+ pip install arcjetCV
28
+ ```
29
+
30
+ This will install **arcjetCV** along with its dependencies.
31
+
32
+ #### Note for macOS Users:
33
+ You might need to install Xcode Command Line Tools:
34
+
35
+ ```bash
36
+ xcode-select --install
37
+ ```
38
+
39
+ #### Note for Linux Users:
40
+
41
+ You may need to install **libxcb-cursor**. Use your package manager to install it:
42
+
43
+ For **Ubuntu/Debian**-based distributions:
44
+ ```bash
45
+ sudo apt-get install libxcb-cursor0
46
+ ```
47
+
48
+ For **Fedora**:
49
+ ```bash
50
+ sudo dnf install libxcb-cursor
51
+ ```
52
+
53
+ For **Arch Linux**:
54
+ ```bash
55
+ sudo pacman -S libxcb
56
+ ```
57
+
58
+ ### Developer Installation
59
+
60
+ #### Prerequisites:
61
+ - A valid **git** installation.
62
+ - **Miniconda** or **Anaconda** for environment and package management:
63
+ - [Miniconda](https://docs.anaconda.com/free/miniconda/miniconda-install/)
64
+ - [Anaconda](https://docs.anaconda.com/free/anaconda/install/index.html)
65
+
66
+ To install **arcjetCV** for development puropse, follow these steps:
67
+
68
+ 1. Install `git-lfs`:
69
+
70
+ Download and install it from [here](https://git-lfs.github.com/).
71
+
72
+ 2. Clone the repository and install the package:
73
+
74
+ ```bash
75
+ git clone https://github.com/magnus-haw/arcjetCV.git
76
+ cd arcjetCV
77
+ conda env create -f env/arcjetCV_env_[cpu/gpu].yml
78
+ conda activate arcjetcv
79
+ python -m pip install -e .
80
+ ```
81
+
82
+ The `-e` flag stands for 'editable' and means that any changes to the local source code will immediately affect the **arcjetCV** package and GUI.
83
+
84
+ #### Note for macOS Users:
85
+ You might need to install Xcode Command Line Tools:
86
+
87
+ ```bash
88
+ xcode-select --install
89
+ ```
90
+
91
+ ## How to Run
92
+
93
+ You can now launch the GUI by running:
94
+
95
+ ```bash
96
+ conda activate arcjetCV
97
+ arcjetCV
98
+ ```
99
+
100
+ or you can import arcjetCV's python API inside a python script, e.g. test.py:
101
+
102
+ ```python
103
+ import arcjetCV as arcv
104
+ video = arcv.Video("tests/arcjet_test.mp4")
105
+ ```
106
+
107
+ and then run it as:
108
+
109
+ ```bash
110
+ conda activate arcjetCV
111
+ python test.py
112
+ ```
113
+
114
+ ## Citing
115
+
116
+ If you use arcjetCV in your research, please use the following BibTeX entry to cite [our paper](https://arxiv.org/abs/2404.11492):
117
+
118
+ ```BibTeX
119
+ @article{arcjetCV,
120
+ title={arcjetCV: an open-source software to analyze material ablation},
121
+ author={Quintart, Alexandre and Haw, Magnus and Semeraro, Federico},
122
+ journal={arXiv preprint arXiv:2404.11492},
123
+ year={2024}
124
+ }
125
+ ```
126
+
127
+ ## Legal / License
128
+ Copyright © 2024 United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All Rights Reserved.
129
+
130
+ Disclaimers
131
+
132
+ No Warranty: THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER, GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES IT "AS IS."
133
+
134
+ Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT'S USE OF THE SUBJECT SOFTWARE RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING FROM, RECIPIENT'S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY LAW. RECIPIENT'S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE, UNILATERAL TERMINATION OF THIS AGREEMENT.