emccd-detect 2.3.0__tar.gz → 2.4.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.
Files changed (22) hide show
  1. emccd_detect-2.4.0/PKG-INFO +72 -0
  2. emccd_detect-2.4.0/README.md +51 -0
  3. {emccd_detect-2.3.0 → emccd_detect-2.4.0}/emccd_detect/__init__.py +1 -1
  4. {emccd_detect-2.3.0 → emccd_detect-2.4.0}/emccd_detect/emccd_detect.py +116 -42
  5. {emccd_detect-2.3.0 → emccd_detect-2.4.0}/emccd_detect/nonlinearity.py +2 -0
  6. emccd_detect-2.4.0/emccd_detect.egg-info/PKG-INFO +72 -0
  7. {emccd_detect-2.3.0 → emccd_detect-2.4.0}/emccd_detect.egg-info/SOURCES.txt +1 -0
  8. emccd_detect-2.4.0/pyproject.toml +3 -0
  9. {emccd_detect-2.3.0 → emccd_detect-2.4.0}/setup.py +3 -3
  10. emccd_detect-2.3.0/PKG-INFO +0 -69
  11. emccd_detect-2.3.0/README.md +0 -47
  12. emccd_detect-2.3.0/emccd_detect.egg-info/PKG-INFO +0 -69
  13. {emccd_detect-2.3.0 → emccd_detect-2.4.0}/emccd_detect/cosmics.py +0 -0
  14. {emccd_detect-2.3.0 → emccd_detect-2.4.0}/emccd_detect/rand_em_gain.py +0 -0
  15. {emccd_detect-2.3.0 → emccd_detect-2.4.0}/emccd_detect/util/__init__.py +0 -0
  16. {emccd_detect-2.3.0 → emccd_detect-2.4.0}/emccd_detect/util/metadata.yaml +0 -0
  17. {emccd_detect-2.3.0 → emccd_detect-2.4.0}/emccd_detect/util/read_metadata.py +0 -0
  18. {emccd_detect-2.3.0 → emccd_detect-2.4.0}/emccd_detect/util/read_metadata_wrapper.py +0 -0
  19. {emccd_detect-2.3.0 → emccd_detect-2.4.0}/emccd_detect.egg-info/dependency_links.txt +0 -0
  20. {emccd_detect-2.3.0 → emccd_detect-2.4.0}/emccd_detect.egg-info/requires.txt +0 -0
  21. {emccd_detect-2.3.0 → emccd_detect-2.4.0}/emccd_detect.egg-info/top_level.txt +0 -0
  22. {emccd_detect-2.3.0 → emccd_detect-2.4.0}/setup.cfg +0 -0
@@ -0,0 +1,72 @@
1
+ Metadata-Version: 2.1
2
+ Name: emccd_detect
3
+ Version: 2.4.0
4
+ Summary: EMCCD detector image simulation
5
+ Author: Bijan Nemati, Sam Miller, Kevin Ludwick
6
+ Author-email: bijan.nemati@tellus1.com, sam.miller@uah.edu, kevin.ludwick@uah.edu
7
+ Classifier: Development Status :: 4 - Beta
8
+ Classifier: Intended Audience :: Developers
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Python :: 3.6
11
+ Classifier: Programming Language :: Python :: 3.7
12
+ Classifier: Programming Language :: Python :: 3.8
13
+ Requires-Python: >=3.6
14
+ Description-Content-Type: text/markdown
15
+ Requires-Dist: astropy
16
+ Requires-Dist: matplotlib
17
+ Requires-Dist: numpy
18
+ Requires-Dist: scipy
19
+ Requires-Dist: pynufft==2020.0.0
20
+ Requires-Dist: pyyaml
21
+
22
+ # EMCCD Detect
23
+
24
+ Given an input fluxmap, emccd_detect will return a simulated EMCCD detector image. Website: (<https://github.com/roman-corgi/emccd_detect/tree/master/emccd_detect>)
25
+
26
+
27
+ # Version
28
+
29
+ The latest version of emccd\_detect is 2.4.0. Main differences from previous version: the ability to implement readout nonlinearity and the latest version of arcticpy for charge transfer inefficiency implementation.
30
+
31
+
32
+ ## Getting Started
33
+ ### Installing
34
+
35
+ This package requires Python version 3.6 or higher. If the user wants the ability to apply charge transfer inefficiency (CTI) to detector frames using the optional tool (older version of arcticpy which is pure Python) provided in emccd\_detect, then the Python version should be >=3.6 and <=3.9. If the newer version of arcticpy (wrapper around C++ code) is installed, there is no upper limit restriction for Python version. For installation instructions and documentation for the newer arcticpy, see <https://github.com/jkeger/arctic>. emccd\_detect works apart from arcticpy and does not require it.
36
+
37
+ emccd\_detect is available on PyPI.org, so the following command will install the module (without CTI capabilities):
38
+
39
+ pip install emccd-detect
40
+
41
+ To install emccd\_detect instead from this package download, after downloading, navigate to the emccd\_detect directory where setup.py is located and use
42
+
43
+ pip install .
44
+
45
+ This will install emccd\_detect and its dependencies, which are as follows:
46
+
47
+ * astropy
48
+ * matplotlib
49
+ * numpy
50
+ * scipy
51
+ * pynufft==2020.0.0
52
+ * pyyaml
53
+
54
+ To optionally implement CTI capabilities with the pure-Python arcticpy, navigate to the arcticpy directory (<https://github.com/roman-corgi/emccd_detect/tree/master/arcticpy_folder>), and there will be a file called setup.py in that directory. Use
55
+
56
+ pip install .
57
+
58
+ This will install arcticpy version 1.0. See (<https://github.com/jkeger/arcticpy/tree/row_wise/arcticpy>) for documentation. If
59
+ you have Python>3.9, the CTI functionality will not work if you are using the arcticpy installation that was included with this emccd_detect package, but everything else will work fine.
60
+
61
+
62
+ ### Usage
63
+
64
+ For an example of how to use emccd\_detect, see example_script.py.
65
+
66
+
67
+ ## Authors
68
+
69
+ * Bijan Nemati (<bijan.nemati@tellus1.com>)
70
+ * Sam Miller (<sam.miller@uah.edu>)
71
+ * Kevin Ludwick (<kevin.ludwick@uah.edu>)
72
+
@@ -0,0 +1,51 @@
1
+ # EMCCD Detect
2
+
3
+ Given an input fluxmap, emccd_detect will return a simulated EMCCD detector image. Website: (<https://github.com/roman-corgi/emccd_detect/tree/master/emccd_detect>)
4
+
5
+
6
+ # Version
7
+
8
+ The latest version of emccd\_detect is 2.4.0. Main differences from previous version: the ability to implement readout nonlinearity and the latest version of arcticpy for charge transfer inefficiency implementation.
9
+
10
+
11
+ ## Getting Started
12
+ ### Installing
13
+
14
+ This package requires Python version 3.6 or higher. If the user wants the ability to apply charge transfer inefficiency (CTI) to detector frames using the optional tool (older version of arcticpy which is pure Python) provided in emccd\_detect, then the Python version should be >=3.6 and <=3.9. If the newer version of arcticpy (wrapper around C++ code) is installed, there is no upper limit restriction for Python version. For installation instructions and documentation for the newer arcticpy, see <https://github.com/jkeger/arctic>. emccd\_detect works apart from arcticpy and does not require it.
15
+
16
+ emccd\_detect is available on PyPI.org, so the following command will install the module (without CTI capabilities):
17
+
18
+ pip install emccd-detect
19
+
20
+ To install emccd\_detect instead from this package download, after downloading, navigate to the emccd\_detect directory where setup.py is located and use
21
+
22
+ pip install .
23
+
24
+ This will install emccd\_detect and its dependencies, which are as follows:
25
+
26
+ * astropy
27
+ * matplotlib
28
+ * numpy
29
+ * scipy
30
+ * pynufft==2020.0.0
31
+ * pyyaml
32
+
33
+ To optionally implement CTI capabilities with the pure-Python arcticpy, navigate to the arcticpy directory (<https://github.com/roman-corgi/emccd_detect/tree/master/arcticpy_folder>), and there will be a file called setup.py in that directory. Use
34
+
35
+ pip install .
36
+
37
+ This will install arcticpy version 1.0. See (<https://github.com/jkeger/arcticpy/tree/row_wise/arcticpy>) for documentation. If
38
+ you have Python>3.9, the CTI functionality will not work if you are using the arcticpy installation that was included with this emccd_detect package, but everything else will work fine.
39
+
40
+
41
+ ### Usage
42
+
43
+ For an example of how to use emccd\_detect, see example_script.py.
44
+
45
+
46
+ ## Authors
47
+
48
+ * Bijan Nemati (<bijan.nemati@tellus1.com>)
49
+ * Sam Miller (<sam.miller@uah.edu>)
50
+ * Kevin Ludwick (<kevin.ludwick@uah.edu>)
51
+
@@ -1,2 +1,2 @@
1
1
  # -*- coding: utf-8 -*-
2
- __version__ = '2.3.0'
2
+ __version__ = '2.4.0'
@@ -12,7 +12,7 @@ from emccd_detect.rand_em_gain import rand_em_gain
12
12
  from emccd_detect.nonlinearity import apply_relgains
13
13
  from emccd_detect.util.read_metadata_wrapper import MetadataWrapper
14
14
  try:
15
- from arcticpy import add_cti, CCD, ROE, Trap, TrapInstantCapture
15
+ from arcticpy import add_cti, CCD, ROE, TrapInstantCapture
16
16
  except:
17
17
  pass
18
18
 
@@ -94,12 +94,15 @@ class EMCCDDetectBase:
94
94
  self.numel_gain_register = numel_gain_register
95
95
 
96
96
  # Placeholders for trap parameters
97
- self.ccd = None
98
- self.roe = None
99
- self.traps = None
100
- self.express = None
101
- self.offset = None
102
- self.window_range = None
97
+ self.parallel_ccd = None
98
+ self.parallel_roe = None
99
+ self.parallel_traps = None
100
+ self.parallel_express = None
101
+ self.serial_ccd = None
102
+ self.serial_roe = None
103
+ self.serial_traps = None
104
+ self.serial_express = None
105
+
103
106
 
104
107
  # Placeholders for derived values
105
108
  self.mean_expected_rate = None
@@ -123,36 +126,72 @@ class EMCCDDetectBase:
123
126
  try:
124
127
  def update_cti(
125
128
  self,
126
- ccd=None,
127
- roe=None,
128
- traps=None,
129
- express=1,
130
- offset=0,
131
- window_range=None
129
+ parallel_ccd=None,
130
+ parallel_roe=None,
131
+ parallel_traps=None,
132
+ parallel_express=1,
133
+ serial_ccd=None,
134
+ serial_roe=None,
135
+ serial_traps=None,
136
+ serial_express=1,
137
+ parallel=True,
138
+ serial=True,
139
+ **kwargs # any other arguments that arcticpy.add_cti() might accept
132
140
  ):
141
+ '''See arcticpy documentation for details on parameters. Any arguments
142
+ not explicitly listed here can be handed to arcticpy.add_cti() via
143
+ kwargs.
144
+
145
+ Parallel and serial CTI can each be switched on or off via the
146
+ "parallel" and "serial" arguments of this function. True means that
147
+ type of CTI is simulated. Both are True by default.'''
133
148
  # Update parameters
134
- self.ccd = ccd
135
- self.roe = roe
136
- self.traps = traps
137
-
138
- self.express = express
139
- self.offset = offset
140
- self.window_range = window_range
149
+ self.parallel_ccd = parallel_ccd
150
+ self.parallel_roe = parallel_roe
151
+ self.parallel_traps = parallel_traps
152
+ self.parallel_express = parallel_express
153
+ self.serial_ccd = serial_ccd
154
+ self.serial_roe = serial_roe
155
+ self.serial_traps = serial_traps
156
+ self.serial_express = serial_express
157
+ self.kwargs = kwargs
158
+ self.parallel = parallel
159
+ self.serial = serial
141
160
 
142
161
  # Instantiate defaults for any class instances not provided
143
- if self.ccd is None:
144
- self.ccd = CCD()
145
- if roe is None:
146
- self.roe = ROE()
147
- if traps is None:
162
+
163
+ if parallel_ccd is None:
164
+ self.parallel_ccd = CCD()
165
+ if parallel_roe is None:
166
+ self.parallel_roe = ROE()
167
+ if parallel_traps is None:
148
168
  #self.traps = [Trap()]
149
- self.traps = [TrapInstantCapture()]
169
+ self.parallel_traps = [TrapInstantCapture()]
170
+ if self.parallel is False: # overrides
171
+ self.parallel_ccd = None
172
+ self.parallel_roe = None
173
+ self.parallel_traps = None
174
+
175
+ if serial_ccd is None:
176
+ self.serial_ccd = CCD()
177
+ if serial_roe is None:
178
+ self.serial_roe = ROE()
179
+ if serial_traps is None:
180
+ self.serial_traps = [TrapInstantCapture()]
181
+ if self.serial is False: #overrides
182
+ self.serial_ccd = None
183
+ self.serial_roe = None
184
+ self.serial_traps = None
150
185
 
151
186
  def unset_cti(self):
187
+ '''This turns off all CTI implementation.'''
152
188
  # Remove CTI simulation
153
- self.ccd = None
154
- self.roe = None
155
- self.traps = None
189
+ self.parallel_ccd = None
190
+ self.parallel_roe = None
191
+ self.parallel_traps = None
192
+ self.serial_ccd = None
193
+ self.serial_roe = None
194
+ self.serial_traps = None
156
195
  except:
157
196
  pass
158
197
 
@@ -225,16 +264,26 @@ class EMCCDDetectBase:
225
264
 
226
265
  def clock_parallel(self, actualized_e):
227
266
  # Only add CTI if update_cti has been called
228
- if self.ccd is not None and self.roe is not None and self.traps is not None:
229
- parallel_counts = add_cti(
230
- actualized_e.copy(),
231
- parallel_roe=self.roe,
232
- parallel_ccd=self.ccd,
233
- parallel_traps=self.traps,
234
- parallel_express=self.express,
235
- parallel_offset=self.offset,
236
- parallel_window_range=self.window_range
237
- )
267
+ if self.parallel_ccd is not None and self.parallel_roe is not None and self.parallel_traps is not None:
268
+ try:
269
+ parallel_counts = add_cti(
270
+ actualized_e.copy(),
271
+ parallel_roe=self.parallel_roe,
272
+ parallel_ccd=self.parallel_ccd,
273
+ parallel_traps=self.parallel_traps,
274
+ parallel_express=self.parallel_express,
275
+ **self.kwargs
276
+ )
277
+ except:
278
+ parallel_counts = add_cti(
279
+ actualized_e.copy(),
280
+ parallel_roe=self.parallel_roe,
281
+ parallel_ccd=self.parallel_ccd,
282
+ parallel_traps=self.parallel_traps,
283
+ parallel_express=self.parallel_express,
284
+ parallel_window_range=0,
285
+ **self.kwargs
286
+ )
238
287
  else:
239
288
  parallel_counts = actualized_e
240
289
 
@@ -242,12 +291,37 @@ class EMCCDDetectBase:
242
291
 
243
292
  def clock_serial(self, actualized_e_full, empty_element_m):
244
293
  # Actualize cic electrons in prescan and overscan pixels
245
- # XXX Another place where we are fudging a little
294
+ # XXX Another place where we are fudging a little as far as the order of operations(?)
246
295
  actualized_e_full[empty_element_m] = np.random.poisson(actualized_e_full[empty_element_m]
247
296
  + self.cic)
248
- # XXX Call arcticpy here
297
+
298
+ # add serial CTI; the addition of CIC (serial and parallel) is really
299
+ # *during* the addition of CTI, but this corrective effect would not be very significant
300
+ if self.serial_ccd is not None and self.serial_roe is not None and self.serial_traps is not None:
301
+ try:
302
+ cti_actualized_e_full = add_cti(
303
+ actualized_e_full.copy(),
304
+ serial_roe=self.serial_roe,
305
+ serial_ccd=self.serial_ccd,
306
+ serial_traps=self.serial_traps,
307
+ serial_express=self.serial_express,
308
+ **self.kwargs
309
+ )
310
+ except:
311
+ cti_actualized_e_full = add_cti(
312
+ actualized_e_full.copy(),
313
+ serial_roe=self.serial_roe,
314
+ serial_ccd=self.serial_ccd,
315
+ serial_traps=self.serial_traps,
316
+ serial_express=self.serial_express,
317
+ serial_window_range=0,
318
+ **self.kwargs
319
+ )
320
+ else:
321
+ cti_actualized_e_full = actualized_e_full
322
+
249
323
  # Flatten row by row
250
- actualized_e_full_flat = actualized_e_full.ravel()
324
+ actualized_e_full_flat = cti_actualized_e_full.ravel()
251
325
 
252
326
  # Clock electrons through serial register elements
253
327
  serial_counts = self._serial_register_elements(actualized_e_full_flat)
@@ -4,6 +4,8 @@ pixel of a frame.
4
4
 
5
5
  Relative gain is dependent on both the detector gain and the dn count
6
6
  value of a given pixel.
7
+
8
+ Adapted from https://github.com/roman-corgi/cgi_iit_drp/blob/main/proc_cgi_frame_NTR/proc_cgi_frame/gsw_nonlin.py.
7
9
  """
8
10
 
9
11
  import numpy as np
@@ -0,0 +1,72 @@
1
+ Metadata-Version: 2.1
2
+ Name: emccd_detect
3
+ Version: 2.4.0
4
+ Summary: EMCCD detector image simulation
5
+ Author: Bijan Nemati, Sam Miller, Kevin Ludwick
6
+ Author-email: bijan.nemati@tellus1.com, sam.miller@uah.edu, kevin.ludwick@uah.edu
7
+ Classifier: Development Status :: 4 - Beta
8
+ Classifier: Intended Audience :: Developers
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Python :: 3.6
11
+ Classifier: Programming Language :: Python :: 3.7
12
+ Classifier: Programming Language :: Python :: 3.8
13
+ Requires-Python: >=3.6
14
+ Description-Content-Type: text/markdown
15
+ Requires-Dist: astropy
16
+ Requires-Dist: matplotlib
17
+ Requires-Dist: numpy
18
+ Requires-Dist: scipy
19
+ Requires-Dist: pynufft==2020.0.0
20
+ Requires-Dist: pyyaml
21
+
22
+ # EMCCD Detect
23
+
24
+ Given an input fluxmap, emccd_detect will return a simulated EMCCD detector image. Website: (<https://github.com/roman-corgi/emccd_detect/tree/master/emccd_detect>)
25
+
26
+
27
+ # Version
28
+
29
+ The latest version of emccd\_detect is 2.4.0. Main differences from previous version: the ability to implement readout nonlinearity and the latest version of arcticpy for charge transfer inefficiency implementation.
30
+
31
+
32
+ ## Getting Started
33
+ ### Installing
34
+
35
+ This package requires Python version 3.6 or higher. If the user wants the ability to apply charge transfer inefficiency (CTI) to detector frames using the optional tool (older version of arcticpy which is pure Python) provided in emccd\_detect, then the Python version should be >=3.6 and <=3.9. If the newer version of arcticpy (wrapper around C++ code) is installed, there is no upper limit restriction for Python version. For installation instructions and documentation for the newer arcticpy, see <https://github.com/jkeger/arctic>. emccd\_detect works apart from arcticpy and does not require it.
36
+
37
+ emccd\_detect is available on PyPI.org, so the following command will install the module (without CTI capabilities):
38
+
39
+ pip install emccd-detect
40
+
41
+ To install emccd\_detect instead from this package download, after downloading, navigate to the emccd\_detect directory where setup.py is located and use
42
+
43
+ pip install .
44
+
45
+ This will install emccd\_detect and its dependencies, which are as follows:
46
+
47
+ * astropy
48
+ * matplotlib
49
+ * numpy
50
+ * scipy
51
+ * pynufft==2020.0.0
52
+ * pyyaml
53
+
54
+ To optionally implement CTI capabilities with the pure-Python arcticpy, navigate to the arcticpy directory (<https://github.com/roman-corgi/emccd_detect/tree/master/arcticpy_folder>), and there will be a file called setup.py in that directory. Use
55
+
56
+ pip install .
57
+
58
+ This will install arcticpy version 1.0. See (<https://github.com/jkeger/arcticpy/tree/row_wise/arcticpy>) for documentation. If
59
+ you have Python>3.9, the CTI functionality will not work if you are using the arcticpy installation that was included with this emccd_detect package, but everything else will work fine.
60
+
61
+
62
+ ### Usage
63
+
64
+ For an example of how to use emccd\_detect, see example_script.py.
65
+
66
+
67
+ ## Authors
68
+
69
+ * Bijan Nemati (<bijan.nemati@tellus1.com>)
70
+ * Sam Miller (<sam.miller@uah.edu>)
71
+ * Kevin Ludwick (<kevin.ludwick@uah.edu>)
72
+
@@ -1,4 +1,5 @@
1
1
  README.md
2
+ pyproject.toml
2
3
  setup.py
3
4
  emccd_detect/__init__.py
4
5
  emccd_detect/cosmics.py
@@ -0,0 +1,3 @@
1
+ [build-system]
2
+ requires = ["setuptools"]
3
+ build-backend = "setuptools.build_meta"
@@ -2,7 +2,7 @@
2
2
  from io import open
3
3
  from os import path
4
4
  from setuptools import setup, find_packages, find_namespace_packages
5
- import emccd_detect
5
+ #import emccd_detect
6
6
 
7
7
  here = path.abspath(path.dirname(__file__))
8
8
 
@@ -11,11 +11,11 @@ with open(path.join(here, 'README.md'), encoding='utf-8') as f:
11
11
 
12
12
  setup(
13
13
  name='emccd_detect',
14
- version=emccd_detect.__version__,
14
+ version='2.4.0', #emccd_detect.__version__,
15
15
  description='EMCCD detector image simulation',
16
16
  long_description=long_description,
17
17
  long_description_content_type='text/markdown',
18
- url='https://github.jpl.nasa.gov/WFIRST-CGI/emccd_detect',
18
+ #url='https://github.jpl.nasa.gov/WFIRST-CGI/emccd_detect',
19
19
  author='Bijan Nemati, Sam Miller, Kevin Ludwick',
20
20
  author_email='bijan.nemati@tellus1.com, sam.miller@uah.edu, kevin.ludwick@uah.edu',
21
21
  classifiers=[
@@ -1,69 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: emccd_detect
3
- Version: 2.3.0
4
- Summary: EMCCD detector image simulation
5
- Home-page: https://github.jpl.nasa.gov/WFIRST-CGI/emccd_detect
6
- Author: Bijan Nemati, Sam Miller, Kevin Ludwick
7
- Author-email: bijan.nemati@tellus1.com, sam.miller@uah.edu, kevin.ludwick@uah.edu
8
- Classifier: Development Status :: 4 - Beta
9
- Classifier: Intended Audience :: Developers
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.6
12
- Classifier: Programming Language :: Python :: 3.7
13
- Classifier: Programming Language :: Python :: 3.8
14
- Requires-Python: >=3.6
15
- Description-Content-Type: text/markdown
16
- Requires-Dist: astropy
17
- Requires-Dist: matplotlib
18
- Requires-Dist: numpy
19
- Requires-Dist: scipy
20
- Requires-Dist: pynufft==2020.0.0
21
- Requires-Dist: pyyaml
22
-
23
- # EMCCD Detect
24
-
25
- Given an input fluxmap, emccd_detect will return a simulated EMCCD detector image. Website: (<https://github.com/roman-corgi/emccd_detect/tree/master/emccd_detect>)
26
-
27
-
28
- # Version
29
-
30
- The latest version of emccd\_detect is 2.3.0.
31
-
32
-
33
- ## Getting Started
34
- ### Installing
35
-
36
- This package requires Python version 3.6 or higher. If the user wants the ability to apply charge transfer inefficiency (CTI) to detector frames using the optional tool provided in emccd\_detect, then the Python version should be >=3.6 and <=3.9.
37
-
38
- To install emccd\_detect, navigate to the emccd\_detect directory where setup.py is located and use
39
-
40
- pip install .
41
-
42
- This will install emccd\_detect and its dependencies, which are as follows:
43
-
44
- * astropy
45
- * matplotlib
46
- * numpy
47
- * scipy
48
- * pynufft==2020.0.0
49
- * pyyaml
50
-
51
- To optionally implement CTI capabilities, navigate to the arcticpy directory (<https://github.com/roman-corgi/emccd_detect/tree/master/arcticpy_folder>), and there will be a file called setup.py in that directory. Use
52
-
53
- pip install .
54
-
55
- This will install arcticpy version 1.0, which is an older version of arcticpy which runs purely on Python (<https://github.com/jkeger/arcticpy/tree/row_wise/arcticpy>). If
56
- you have Python>=3.10, the CTI functionality will not work if you are using the arcticpy installation that was included with this emccd_detect package, but everything else will work fine.
57
-
58
-
59
- ### Usage
60
-
61
- For an example of how to use emccd\_detect, see example_script.py.
62
-
63
-
64
- ## Authors
65
-
66
- * Bijan Nemati (<bijan.nemati@tellus1.com>)
67
- * Sam Miller (<sam.miller@uah.edu>)
68
- * Kevin Ludwick (<kevin.ludwick@uah.edu>)
69
-
@@ -1,47 +0,0 @@
1
- # EMCCD Detect
2
-
3
- Given an input fluxmap, emccd_detect will return a simulated EMCCD detector image. Website: (<https://github.com/roman-corgi/emccd_detect/tree/master/emccd_detect>)
4
-
5
-
6
- # Version
7
-
8
- The latest version of emccd\_detect is 2.3.0.
9
-
10
-
11
- ## Getting Started
12
- ### Installing
13
-
14
- This package requires Python version 3.6 or higher. If the user wants the ability to apply charge transfer inefficiency (CTI) to detector frames using the optional tool provided in emccd\_detect, then the Python version should be >=3.6 and <=3.9.
15
-
16
- To install emccd\_detect, navigate to the emccd\_detect directory where setup.py is located and use
17
-
18
- pip install .
19
-
20
- This will install emccd\_detect and its dependencies, which are as follows:
21
-
22
- * astropy
23
- * matplotlib
24
- * numpy
25
- * scipy
26
- * pynufft==2020.0.0
27
- * pyyaml
28
-
29
- To optionally implement CTI capabilities, navigate to the arcticpy directory (<https://github.com/roman-corgi/emccd_detect/tree/master/arcticpy_folder>), and there will be a file called setup.py in that directory. Use
30
-
31
- pip install .
32
-
33
- This will install arcticpy version 1.0, which is an older version of arcticpy which runs purely on Python (<https://github.com/jkeger/arcticpy/tree/row_wise/arcticpy>). If
34
- you have Python>=3.10, the CTI functionality will not work if you are using the arcticpy installation that was included with this emccd_detect package, but everything else will work fine.
35
-
36
-
37
- ### Usage
38
-
39
- For an example of how to use emccd\_detect, see example_script.py.
40
-
41
-
42
- ## Authors
43
-
44
- * Bijan Nemati (<bijan.nemati@tellus1.com>)
45
- * Sam Miller (<sam.miller@uah.edu>)
46
- * Kevin Ludwick (<kevin.ludwick@uah.edu>)
47
-
@@ -1,69 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: emccd_detect
3
- Version: 2.3.0
4
- Summary: EMCCD detector image simulation
5
- Home-page: https://github.jpl.nasa.gov/WFIRST-CGI/emccd_detect
6
- Author: Bijan Nemati, Sam Miller, Kevin Ludwick
7
- Author-email: bijan.nemati@tellus1.com, sam.miller@uah.edu, kevin.ludwick@uah.edu
8
- Classifier: Development Status :: 4 - Beta
9
- Classifier: Intended Audience :: Developers
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.6
12
- Classifier: Programming Language :: Python :: 3.7
13
- Classifier: Programming Language :: Python :: 3.8
14
- Requires-Python: >=3.6
15
- Description-Content-Type: text/markdown
16
- Requires-Dist: astropy
17
- Requires-Dist: matplotlib
18
- Requires-Dist: numpy
19
- Requires-Dist: scipy
20
- Requires-Dist: pynufft==2020.0.0
21
- Requires-Dist: pyyaml
22
-
23
- # EMCCD Detect
24
-
25
- Given an input fluxmap, emccd_detect will return a simulated EMCCD detector image. Website: (<https://github.com/roman-corgi/emccd_detect/tree/master/emccd_detect>)
26
-
27
-
28
- # Version
29
-
30
- The latest version of emccd\_detect is 2.3.0.
31
-
32
-
33
- ## Getting Started
34
- ### Installing
35
-
36
- This package requires Python version 3.6 or higher. If the user wants the ability to apply charge transfer inefficiency (CTI) to detector frames using the optional tool provided in emccd\_detect, then the Python version should be >=3.6 and <=3.9.
37
-
38
- To install emccd\_detect, navigate to the emccd\_detect directory where setup.py is located and use
39
-
40
- pip install .
41
-
42
- This will install emccd\_detect and its dependencies, which are as follows:
43
-
44
- * astropy
45
- * matplotlib
46
- * numpy
47
- * scipy
48
- * pynufft==2020.0.0
49
- * pyyaml
50
-
51
- To optionally implement CTI capabilities, navigate to the arcticpy directory (<https://github.com/roman-corgi/emccd_detect/tree/master/arcticpy_folder>), and there will be a file called setup.py in that directory. Use
52
-
53
- pip install .
54
-
55
- This will install arcticpy version 1.0, which is an older version of arcticpy which runs purely on Python (<https://github.com/jkeger/arcticpy/tree/row_wise/arcticpy>). If
56
- you have Python>=3.10, the CTI functionality will not work if you are using the arcticpy installation that was included with this emccd_detect package, but everything else will work fine.
57
-
58
-
59
- ### Usage
60
-
61
- For an example of how to use emccd\_detect, see example_script.py.
62
-
63
-
64
- ## Authors
65
-
66
- * Bijan Nemati (<bijan.nemati@tellus1.com>)
67
- * Sam Miller (<sam.miller@uah.edu>)
68
- * Kevin Ludwick (<kevin.ludwick@uah.edu>)
69
-
File without changes