fakecbed 0.2.0__py3-none-any.whl → 0.3.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.
fakecbed/discretized.py CHANGED
@@ -21,12 +21,6 @@
21
21
  ## Load libraries/packages/modules ##
22
22
  #####################################
23
23
 
24
- # For accessing attributes of functions.
25
- import inspect
26
-
27
- # For randomly selecting items in dictionaries.
28
- import random
29
-
30
24
  # For performing deep copies.
31
25
  import copy
32
26
 
@@ -74,9 +68,7 @@ __all__ = ["CBEDPattern"]
74
68
 
75
69
 
76
70
  def _check_and_convert_undistorted_tds_model(params):
77
- current_func_name = inspect.stack()[0][3]
78
- char_idx = 19
79
- obj_name = current_func_name[char_idx:]
71
+ obj_name = "undistorted_tds_model"
80
72
  obj = params[obj_name]
81
73
 
82
74
  accepted_types = (fakecbed.tds.Model, type(None))
@@ -95,7 +87,7 @@ def _check_and_convert_undistorted_tds_model(params):
95
87
 
96
88
 
97
89
  def _pre_serialize_undistorted_tds_model(undistorted_tds_model):
98
- obj_to_pre_serialize = random.choice(list(locals().values()))
90
+ obj_to_pre_serialize = undistorted_tds_model
99
91
  serializable_rep = obj_to_pre_serialize.pre_serialize()
100
92
 
101
93
  return serializable_rep
@@ -111,11 +103,11 @@ def _de_pre_serialize_undistorted_tds_model(serializable_rep):
111
103
 
112
104
 
113
105
  def _check_and_convert_undistorted_disks(params):
114
- current_func_name = inspect.stack()[0][3]
115
- char_idx = 19
116
- obj_name = current_func_name[char_idx:]
106
+ obj_name = "undistorted_disks"
117
107
  obj = params[obj_name]
118
108
 
109
+ current_func_name = "_check_and_convert_undistorted_disks"
110
+
119
111
  try:
120
112
  for undistorted_disk in obj:
121
113
  accepted_types = (fakecbed.shapes.NonuniformBoundedShape,)
@@ -147,7 +139,7 @@ def _check_and_convert_undistorted_disks(params):
147
139
 
148
140
 
149
141
  def _pre_serialize_undistorted_disks(undistorted_disks):
150
- obj_to_pre_serialize = random.choice(list(locals().values()))
142
+ obj_to_pre_serialize = undistorted_disks
151
143
  serializable_rep = tuple()
152
144
  for elem in obj_to_pre_serialize:
153
145
  serializable_rep += (elem.pre_serialize(),)
@@ -172,9 +164,7 @@ def _de_pre_serialize_undistorted_disks(serializable_rep):
172
164
 
173
165
 
174
166
  def _check_and_convert_undistorted_misc_shapes(params):
175
- current_func_name = inspect.stack()[0][3]
176
- char_idx = 19
177
- obj_name = current_func_name[char_idx:]
167
+ obj_name = "undistorted_misc_shapes"
178
168
  obj = params[obj_name]
179
169
 
180
170
  accepted_types = (fakecbed.shapes.Circle,
@@ -188,6 +178,8 @@ def _check_and_convert_undistorted_misc_shapes(params):
188
178
  fakecbed.shapes.Lune,
189
179
  fakecbed.shapes.NonuniformBoundedShape)
190
180
 
181
+ current_func_name = "_check_and_convert_undistorted_misc_shapes"
182
+
191
183
  try:
192
184
  for undistorted_misc_shape in obj:
193
185
  kwargs = {"obj": undistorted_misc_shape,
@@ -205,7 +197,7 @@ def _check_and_convert_undistorted_misc_shapes(params):
205
197
 
206
198
 
207
199
  def _pre_serialize_undistorted_misc_shapes(undistorted_misc_shapes):
208
- obj_to_pre_serialize = random.choice(list(locals().values()))
200
+ obj_to_pre_serialize = undistorted_misc_shapes
209
201
  serializable_rep = tuple()
210
202
  for elem in obj_to_pre_serialize:
211
203
  serializable_rep += (elem.pre_serialize(),)
@@ -249,9 +241,7 @@ def _de_pre_serialize_undistorted_misc_shapes(serializable_rep):
249
241
 
250
242
 
251
243
  def _check_and_convert_undistorted_outer_illumination_shape(params):
252
- current_func_name = inspect.stack()[0][3]
253
- char_idx = 19
254
- obj_name = current_func_name[char_idx:]
244
+ obj_name = "undistorted_outer_illumination_shape"
255
245
  obj = params[obj_name]
256
246
 
257
247
  accepted_types = (fakecbed.shapes.Circle,
@@ -275,7 +265,7 @@ def _check_and_convert_undistorted_outer_illumination_shape(params):
275
265
 
276
266
  def _pre_serialize_undistorted_outer_illumination_shape(
277
267
  undistorted_outer_illumination_shape):
278
- obj_to_pre_serialize = random.choice(list(locals().values()))
268
+ obj_to_pre_serialize = undistorted_outer_illumination_shape
279
269
  serializable_rep = obj_to_pre_serialize.pre_serialize()
280
270
 
281
271
  return serializable_rep
@@ -298,8 +288,7 @@ def _de_pre_serialize_undistorted_outer_illumination_shape(serializable_rep):
298
288
 
299
289
 
300
290
  def _check_and_convert_gaussian_filter_std_dev(params):
301
- current_func_name = inspect.stack()[0][3]
302
- obj_name = current_func_name[19:]
291
+ obj_name = "gaussian_filter_std_dev"
303
292
  func_alias = czekitout.convert.to_nonnegative_float
304
293
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
305
294
  gaussian_filter_std_dev = func_alias(**kwargs)
@@ -308,9 +297,8 @@ def _check_and_convert_gaussian_filter_std_dev(params):
308
297
 
309
298
 
310
299
 
311
- def _pre_serialize_gaussian_filter_std_dev(
312
- gaussian_filter_std_dev):
313
- obj_to_pre_serialize = random.choice(list(locals().values()))
300
+ def _pre_serialize_gaussian_filter_std_dev(gaussian_filter_std_dev):
301
+ obj_to_pre_serialize = gaussian_filter_std_dev
314
302
  serializable_rep = obj_to_pre_serialize
315
303
 
316
304
  return serializable_rep
@@ -325,9 +313,7 @@ def _de_pre_serialize_gaussian_filter_std_dev(serializable_rep):
325
313
 
326
314
 
327
315
  def _check_and_convert_distortion_model(params):
328
- current_func_name = inspect.stack()[0][3]
329
- char_idx = 19
330
- obj_name = current_func_name[char_idx:]
316
+ obj_name = "distortion_model"
331
317
  obj = params[obj_name]
332
318
 
333
319
  num_pixels_across_pattern = \
@@ -351,6 +337,8 @@ def _check_and_convert_distortion_model(params):
351
337
  sampling_grid_dims_in_pixels = \
352
338
  distortion_model_core_attrs["sampling_grid_dims_in_pixels"]
353
339
 
340
+ current_func_name = "_check_and_convert_distortion_model"
341
+
354
342
  if ((sampling_grid_dims_in_pixels[0]%num_pixels_across_pattern != 0)
355
343
  or (sampling_grid_dims_in_pixels[1]%num_pixels_across_pattern != 0)):
356
344
  err_msg = globals()[current_func_name+"_err_msg_1"]
@@ -361,7 +349,7 @@ def _check_and_convert_distortion_model(params):
361
349
 
362
350
 
363
351
  def _pre_serialize_distortion_model(distortion_model):
364
- obj_to_pre_serialize = random.choice(list(locals().values()))
352
+ obj_to_pre_serialize = distortion_model
365
353
  serializable_rep = obj_to_pre_serialize.pre_serialize()
366
354
 
367
355
  return serializable_rep
@@ -377,8 +365,7 @@ def _de_pre_serialize_distortion_model(serializable_rep):
377
365
 
378
366
 
379
367
  def _check_and_convert_num_pixels_across_pattern(params):
380
- current_func_name = inspect.stack()[0][3]
381
- obj_name = current_func_name[19:]
368
+ obj_name = "num_pixels_across_pattern"
382
369
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
383
370
  num_pixels_across_pattern = czekitout.convert.to_positive_int(**kwargs)
384
371
 
@@ -387,7 +374,7 @@ def _check_and_convert_num_pixels_across_pattern(params):
387
374
 
388
375
 
389
376
  def _pre_serialize_num_pixels_across_pattern(num_pixels_across_pattern):
390
- obj_to_pre_serialize = random.choice(list(locals().values()))
377
+ obj_to_pre_serialize = num_pixels_across_pattern
391
378
  serializable_rep = obj_to_pre_serialize
392
379
 
393
380
  return serializable_rep
@@ -402,8 +389,7 @@ def _de_pre_serialize_num_pixels_across_pattern(serializable_rep):
402
389
 
403
390
 
404
391
  def _check_and_convert_apply_shot_noise(params):
405
- current_func_name = inspect.stack()[0][3]
406
- obj_name = current_func_name[19:]
392
+ obj_name = "apply_shot_noise"
407
393
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
408
394
  apply_shot_noise = czekitout.convert.to_bool(**kwargs)
409
395
 
@@ -412,7 +398,7 @@ def _check_and_convert_apply_shot_noise(params):
412
398
 
413
399
 
414
400
  def _pre_serialize_apply_shot_noise(apply_shot_noise):
415
- obj_to_pre_serialize = random.choice(list(locals().values()))
401
+ obj_to_pre_serialize = apply_shot_noise
416
402
  serializable_rep = obj_to_pre_serialize
417
403
 
418
404
  return serializable_rep
@@ -426,9 +412,43 @@ def _de_pre_serialize_apply_shot_noise(serializable_rep):
426
412
 
427
413
 
428
414
 
415
+ def _check_and_convert_rng_seed(params):
416
+ obj_name = "rng_seed"
417
+ obj = params[obj_name]
418
+
419
+ current_func_name = "_check_and_convert_rng_seed"
420
+
421
+ if obj is not None:
422
+ kwargs = {"obj": obj, "obj_name": obj_name}
423
+ try:
424
+ rng_seed = czekitout.convert.to_nonnegative_int(**kwargs)
425
+ except:
426
+ err_msg = globals()[current_func_name+"_err_msg_1"]
427
+ raise TypeError(err_msg)
428
+ else:
429
+ rng_seed = obj
430
+
431
+ return rng_seed
432
+
433
+
434
+
435
+ def _pre_serialize_rng_seed(rng_seed):
436
+ obj_to_pre_serialize = rng_seed
437
+ serializable_rep = obj_to_pre_serialize
438
+
439
+ return serializable_rep
440
+
441
+
442
+
443
+ def _de_pre_serialize_rng_seed(serializable_rep):
444
+ rng_seed = serializable_rep
445
+
446
+ return rng_seed
447
+
448
+
449
+
429
450
  def _check_and_convert_detector_partition_width_in_pixels(params):
430
- current_func_name = inspect.stack()[0][3]
431
- obj_name = current_func_name[19:]
451
+ obj_name = "detector_partition_width_in_pixels"
432
452
  func_alias = czekitout.convert.to_nonnegative_int
433
453
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
434
454
  detector_partition_width_in_pixels = func_alias(**kwargs)
@@ -439,7 +459,7 @@ def _check_and_convert_detector_partition_width_in_pixels(params):
439
459
 
440
460
  def _pre_serialize_detector_partition_width_in_pixels(
441
461
  detector_partition_width_in_pixels):
442
- obj_to_pre_serialize = random.choice(list(locals().values()))
462
+ obj_to_pre_serialize = detector_partition_width_in_pixels
443
463
  serializable_rep = obj_to_pre_serialize
444
464
 
445
465
  return serializable_rep
@@ -454,14 +474,15 @@ def _de_pre_serialize_detector_partition_width_in_pixels(serializable_rep):
454
474
 
455
475
 
456
476
  def _check_and_convert_cold_pixels(params):
457
- current_func_name = inspect.stack()[0][3]
458
- obj_name = current_func_name[19:]
477
+ obj_name = "cold_pixels"
459
478
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
460
479
  cold_pixels = czekitout.convert.to_pairs_of_ints(**kwargs)
461
480
 
462
481
  num_pixels_across_pattern = \
463
482
  _check_and_convert_num_pixels_across_pattern(params)
464
483
 
484
+ current_func_name = "_check_and_convert_cold_pixels"
485
+
465
486
  coords_of_cold_pixels = cold_pixels
466
487
  for coords_of_cold_pixel in coords_of_cold_pixels:
467
488
  row, col = coords_of_cold_pixel
@@ -491,8 +512,7 @@ def _de_pre_serialize_cold_pixels(serializable_rep):
491
512
 
492
513
 
493
514
  def _check_and_convert_mask_frame(params):
494
- current_func_name = inspect.stack()[0][3]
495
- obj_name = current_func_name[19:]
515
+ obj_name = "mask_frame"
496
516
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
497
517
  mask_frame = czekitout.convert.to_quadruplet_of_nonnegative_ints(**kwargs)
498
518
 
@@ -501,7 +521,7 @@ def _check_and_convert_mask_frame(params):
501
521
 
502
522
 
503
523
  def _pre_serialize_mask_frame(mask_frame):
504
- obj_to_pre_serialize = random.choice(list(locals().values()))
524
+ obj_to_pre_serialize = mask_frame
505
525
  serializable_rep = obj_to_pre_serialize
506
526
 
507
527
  return serializable_rep
@@ -516,8 +536,7 @@ def _de_pre_serialize_mask_frame(serializable_rep):
516
536
 
517
537
 
518
538
  def _check_and_convert_deep_copy(params):
519
- current_func_name = inspect.stack()[0][3]
520
- obj_name = current_func_name[19:]
539
+ obj_name = "deep_copy"
521
540
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
522
541
  deep_copy = czekitout.convert.to_bool(**kwargs)
523
542
 
@@ -526,9 +545,7 @@ def _check_and_convert_deep_copy(params):
526
545
 
527
546
 
528
547
  def _check_and_convert_overriding_image(params):
529
- current_func_name = inspect.stack()[0][3]
530
- char_idx = 19
531
- obj_name = current_func_name[char_idx:]
548
+ obj_name = "overriding_image"
532
549
  obj = params[obj_name]
533
550
 
534
551
  func_alias = fakecbed.shapes._check_and_convert_real_torch_matrix
@@ -542,6 +559,8 @@ def _check_and_convert_overriding_image(params):
542
559
  num_pixels_across_pattern = params["num_pixels_across_pattern"]
543
560
  expected_image_dims_in_pixels = 2*(num_pixels_across_pattern,)
544
561
 
562
+ current_func_name = "_check_and_convert_overriding_image"
563
+
545
564
  if overriding_image.shape != expected_image_dims_in_pixels:
546
565
  unformatted_err_msg = globals()[current_func_name+"_err_msg_1"]
547
566
  args = expected_image_dims_in_pixels
@@ -578,6 +597,8 @@ _default_num_pixels_across_pattern = \
578
597
  512
579
598
  _default_apply_shot_noise = \
580
599
  False
600
+ _default_rng_seed = \
601
+ None
581
602
  _default_detector_partition_width_in_pixels = \
582
603
  0
583
604
  _default_cold_pixels = \
@@ -908,7 +929,7 @@ class CBEDPattern(fancytypes.PreSerializableAndUpdatable):
908
929
  \text{det}\left(\mathbf{J}_{\square}\left(
909
930
  q_{\mathring{\mathcal{I}};x;j},
910
931
  q_{\mathring{\mathcal{I}};y;i}\right)\right)
911
- \mathring{\mathcal{I}}_{\text{CBED};⌑;i,j}.
932
+ \left|\mathring{\mathcal{I}}_{\text{CBED};⌑;i,j}\right|.
912
933
  :label: HD_I_CBED__3
913
934
 
914
935
  8. Apply average pooling to
@@ -1051,6 +1072,9 @@ class CBEDPattern(fancytypes.PreSerializableAndUpdatable):
1051
1072
  If ``apply_shot_noise`` is set to ``True``, then shot noise is applied
1052
1073
  to the image of the fake CBED pattern. Otherwise, no shot noise is
1053
1074
  applied.
1075
+ rng_seed : `int` | `None`, optional
1076
+ ``rng_seed`` specifies the seed used in the random number generator used
1077
+ to apply shot noise.
1054
1078
  detector_partition_width_in_pixels : `int`, optional
1055
1079
  The detector partition width in units of pixels,
1056
1080
  :math:`N_{\text{DPW}}`. Must be nonnegative.
@@ -1073,6 +1097,7 @@ class CBEDPattern(fancytypes.PreSerializableAndUpdatable):
1073
1097
  "num_pixels_across_pattern",
1074
1098
  "distortion_model",
1075
1099
  "apply_shot_noise",
1100
+ "rng_seed",
1076
1101
  "detector_partition_width_in_pixels",
1077
1102
  "cold_pixels",
1078
1103
  "mask_frame")
@@ -1107,6 +1132,8 @@ class CBEDPattern(fancytypes.PreSerializableAndUpdatable):
1107
1132
  _default_distortion_model,
1108
1133
  apply_shot_noise=\
1109
1134
  _default_apply_shot_noise,
1135
+ rng_seed=\
1136
+ _default_rng_seed,
1110
1137
  detector_partition_width_in_pixels=\
1111
1138
  _default_detector_partition_width_in_pixels,
1112
1139
  cold_pixels=\
@@ -1670,21 +1697,24 @@ class CBEDPattern(fancytypes.PreSerializableAndUpdatable):
1670
1697
  method_name = ("_calc_maskless_and_noiseless_image"
1671
1698
  "_and_cache_select_intermediates")
1672
1699
  method_alias = getattr(self, method_name)
1673
- maskless_and_noiseless_image = method_alias(u_x, u_y)
1700
+ image = method_alias(u_x, u_y)
1701
+
1702
+ apply_shot_noise = self._apply_shot_noise
1703
+ if apply_shot_noise == True:
1704
+ np_rng = np.random.default_rng(self._rng_seed)
1705
+ torch_rng_seed = np_rng.integers(low=0, high=2**32-1).item()
1706
+ torch_rng = torch.Generator().manual_seed(torch_rng_seed)
1707
+ image = torch.poisson(image, torch_rng)
1674
1708
 
1709
+ image = self._apply_detector_partition_inpainting(input_image=image)
1710
+
1675
1711
  if self._illumination_support is None:
1676
1712
  method_name = "_calc_illumination_support"
1677
1713
  method_alias = getattr(self, method_name)
1678
1714
  self._illumination_support = method_alias(u_x, u_y)
1679
1715
  illumination_support = self._illumination_support
1680
1716
 
1681
- noiseless_image = maskless_and_noiseless_image*illumination_support
1682
-
1683
- apply_shot_noise = self._apply_shot_noise
1684
-
1685
- image = (torch.poisson(noiseless_image)
1686
- if (apply_shot_noise == True)
1687
- else noiseless_image)
1717
+ image = image*illumination_support
1688
1718
 
1689
1719
  coords_of_cold_pixels = self._cold_pixels
1690
1720
  L, R, B, T = self._mask_frame
@@ -1698,8 +1728,6 @@ class CBEDPattern(fancytypes.PreSerializableAndUpdatable):
1698
1728
  for coords_of_cold_pixel in coords_of_cold_pixels:
1699
1729
  image[coords_of_cold_pixel] = 0
1700
1730
 
1701
- image = self._apply_detector_partition_inpainting(input_image=image)
1702
-
1703
1731
  image = self._normalize_matrix(input_matrix=image)
1704
1732
 
1705
1733
  image = torch.clip(image, min=0)
@@ -1732,6 +1760,8 @@ class CBEDPattern(fancytypes.PreSerializableAndUpdatable):
1732
1760
  + (disk_supports
1733
1761
  * intra_disk_shapes).sum(dim=0))
1734
1762
 
1763
+ maskless_and_noiseless_image = torch.abs(maskless_and_noiseless_image)
1764
+
1735
1765
  kwargs = {"input_matrix": maskless_and_noiseless_image,
1736
1766
  "truncate": 4}
1737
1767
  maskless_and_noiseless_image = self._apply_2d_guassian_filter(**kwargs)
@@ -2539,6 +2569,10 @@ _check_and_convert_distortion_model_err_msg_1 = \
2539
2569
  "grid, specified by the object ``distortion_model``, must be divisible "
2540
2570
  "by the object ``num_pixels_across_pattern``.")
2541
2571
 
2572
+ _check_and_convert_rng_seed_err_msg_1 = \
2573
+ ("The object ``rng_seed`` must be either a nonnegative integer or of the "
2574
+ "type `NoneType`.")
2575
+
2542
2576
  _check_and_convert_cold_pixels_err_msg_1 = \
2543
2577
  ("The object ``cold_pixels`` must be a sequence of integer pairs, where "
2544
2578
  "each integer pair specifies valid pixel coordinates (i.e. row and column "
fakecbed/shapes.py CHANGED
@@ -58,12 +58,6 @@ coordinate transformation that maps a coordinate pair
58
58
  ## Load libraries/packages/modules ##
59
59
  #####################################
60
60
 
61
- # For accessing attributes of functions.
62
- import inspect
63
-
64
- # For randomly selecting items in dictionaries.
65
- import random
66
-
67
61
  # For performing deep copies.
68
62
  import copy
69
63
 
@@ -109,9 +103,7 @@ __all__ = ["BaseShape",
109
103
 
110
104
 
111
105
  def _check_and_convert_cartesian_coords(params):
112
- current_func_name = inspect.stack()[0][3]
113
- char_idx = 19
114
- obj_name = current_func_name[char_idx:]
106
+ obj_name = "cartesian_coords"
115
107
  obj = params[obj_name]
116
108
 
117
109
  u_x, u_y = obj
@@ -127,6 +119,8 @@ def _check_and_convert_cartesian_coords(params):
127
119
  del params["real_torch_matrix"]
128
120
  del params["name_of_alias_of_real_torch_matrix"]
129
121
 
122
+ current_func_name = "_check_and_convert_cartesian_coords"
123
+
130
124
  if u_x.shape != u_y.shape:
131
125
  unformatted_err_msg = globals()[current_func_name+"_err_msg_1"]
132
126
  err_msg = unformatted_err_msg.format("u_x", "u_y")
@@ -139,14 +133,14 @@ def _check_and_convert_cartesian_coords(params):
139
133
 
140
134
 
141
135
  def _check_and_convert_real_torch_matrix(params):
142
- current_func_name = inspect.stack()[0][3]
143
- char_idx = 19
144
- obj_name = current_func_name[char_idx:]
136
+ obj_name = "real_torch_matrix"
145
137
  obj = params[obj_name]
146
138
 
147
139
  name_of_alias_of_real_torch_matrix = \
148
140
  params["name_of_alias_of_real_torch_matrix"]
149
141
 
142
+ current_func_name = "_check_and_convert_real_torch_matrix"
143
+
150
144
  try:
151
145
  if not isinstance(obj, torch.Tensor):
152
146
  kwargs = {"obj": obj,
@@ -201,8 +195,7 @@ def _check_and_convert_torch_device_obj(params):
201
195
 
202
196
 
203
197
  def _check_and_convert_skip_validation_and_conversion(params):
204
- current_func_name = inspect.stack()[0][3]
205
- obj_name = current_func_name[19:]
198
+ obj_name = "skip_validation_and_conversion"
206
199
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
207
200
  skip_validation_and_conversion = czekitout.convert.to_bool(**kwargs)
208
201
 
@@ -346,8 +339,7 @@ class BaseShape(fancytypes.PreSerializableAndUpdatable):
346
339
 
347
340
 
348
341
  def _check_and_convert_center(params):
349
- current_func_name = inspect.stack()[0][3]
350
- obj_name = current_func_name[19:]
342
+ obj_name = "center"
351
343
 
352
344
  cls_alias = \
353
345
  distoptica.CoordTransformParams
@@ -363,9 +355,8 @@ def _check_and_convert_center(params):
363
355
 
364
356
 
365
357
  def _pre_serialize_center(center):
366
- obj_to_pre_serialize = random.choice(list(locals().values()))
367
- current_func_name = inspect.stack()[0][3]
368
- obj_name = current_func_name[15:]
358
+ obj_to_pre_serialize = center
359
+ obj_name = "center"
369
360
 
370
361
  cls_alias = \
371
362
  distoptica.CoordTransformParams
@@ -381,8 +372,7 @@ def _pre_serialize_center(center):
381
372
 
382
373
 
383
374
  def _de_pre_serialize_center(serializable_rep):
384
- current_func_name = inspect.stack()[0][3]
385
- obj_name = current_func_name[18:]
375
+ obj_name = "center"
386
376
 
387
377
  cls_alias = \
388
378
  distoptica.CoordTransformParams
@@ -398,8 +388,7 @@ def _de_pre_serialize_center(serializable_rep):
398
388
 
399
389
 
400
390
  def _check_and_convert_radius(params):
401
- current_func_name = inspect.stack()[0][3]
402
- obj_name = current_func_name[19:]
391
+ obj_name = "radius"
403
392
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
404
393
  radius = czekitout.convert.to_positive_float(**kwargs)
405
394
 
@@ -408,7 +397,7 @@ def _check_and_convert_radius(params):
408
397
 
409
398
 
410
399
  def _pre_serialize_radius(radius):
411
- obj_to_pre_serialize = random.choice(list(locals().values()))
400
+ obj_to_pre_serialize = radius
412
401
  serializable_rep = obj_to_pre_serialize
413
402
 
414
403
  return serializable_rep
@@ -423,8 +412,7 @@ def _de_pre_serialize_radius(serializable_rep):
423
412
 
424
413
 
425
414
  def _check_and_convert_intra_shape_val(params):
426
- current_func_name = inspect.stack()[0][3]
427
- obj_name = current_func_name[19:]
415
+ obj_name = "intra_shape_val"
428
416
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
429
417
  intra_shape_val = czekitout.convert.to_float(**kwargs)
430
418
 
@@ -433,7 +421,7 @@ def _check_and_convert_intra_shape_val(params):
433
421
 
434
422
 
435
423
  def _pre_serialize_intra_shape_val(intra_shape_val):
436
- obj_to_pre_serialize = random.choice(list(locals().values()))
424
+ obj_to_pre_serialize = intra_shape_val
437
425
  serializable_rep = obj_to_pre_serialize
438
426
 
439
427
  return serializable_rep
@@ -587,8 +575,7 @@ class Circle(BaseShape):
587
575
 
588
576
 
589
577
  def _check_and_convert_semi_major_axis(params):
590
- current_func_name = inspect.stack()[0][3]
591
- obj_name = current_func_name[19:]
578
+ obj_name = "semi_major_axis"
592
579
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
593
580
  semi_major_axis = czekitout.convert.to_positive_float(**kwargs)
594
581
 
@@ -597,7 +584,7 @@ def _check_and_convert_semi_major_axis(params):
597
584
 
598
585
 
599
586
  def _pre_serialize_semi_major_axis(semi_major_axis):
600
- obj_to_pre_serialize = random.choice(list(locals().values()))
587
+ obj_to_pre_serialize = semi_major_axis
601
588
  serializable_rep = obj_to_pre_serialize
602
589
 
603
590
  return serializable_rep
@@ -612,11 +599,12 @@ def _de_pre_serialize_semi_major_axis(serializable_rep):
612
599
 
613
600
 
614
601
  def _check_and_convert_eccentricity(params):
615
- current_func_name = inspect.stack()[0][3]
616
- obj_name = current_func_name[19:]
602
+ obj_name = "eccentricity"
617
603
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
618
604
  eccentricity = czekitout.convert.to_nonnegative_float(**kwargs)
619
605
 
606
+ current_func_name = "_check_and_convert_eccentricity"
607
+
620
608
  if eccentricity > 1:
621
609
  err_msg = globals()[current_func_name+"_err_msg_1"]
622
610
  raise ValueError(err_msg)
@@ -626,7 +614,7 @@ def _check_and_convert_eccentricity(params):
626
614
 
627
615
 
628
616
  def _pre_serialize_eccentricity(eccentricity):
629
- obj_to_pre_serialize = random.choice(list(locals().values()))
617
+ obj_to_pre_serialize = eccentricity
630
618
  serializable_rep = obj_to_pre_serialize
631
619
 
632
620
  return serializable_rep
@@ -641,8 +629,7 @@ def _de_pre_serialize_eccentricity(serializable_rep):
641
629
 
642
630
 
643
631
  def _check_and_convert_rotation_angle(params):
644
- current_func_name = inspect.stack()[0][3]
645
- obj_name = current_func_name[19:]
632
+ obj_name = "rotation_angle"
646
633
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
647
634
  rotation_angle = czekitout.convert.to_float(**kwargs) % (2*np.pi)
648
635
 
@@ -651,7 +638,7 @@ def _check_and_convert_rotation_angle(params):
651
638
 
652
639
 
653
640
  def _pre_serialize_rotation_angle(rotation_angle):
654
- obj_to_pre_serialize = random.choice(list(locals().values()))
641
+ obj_to_pre_serialize = rotation_angle
655
642
  serializable_rep = obj_to_pre_serialize
656
643
 
657
644
  return serializable_rep
@@ -855,8 +842,7 @@ class Ellipse(BaseShape):
855
842
 
856
843
 
857
844
  def _check_and_convert_widths(params):
858
- current_func_name = inspect.stack()[0][3]
859
- obj_name = current_func_name[19:]
845
+ obj_name = "widths"
860
846
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
861
847
  widths = czekitout.convert.to_quadruplet_of_positive_floats(**kwargs)
862
848
 
@@ -865,7 +851,7 @@ def _check_and_convert_widths(params):
865
851
 
866
852
 
867
853
  def _pre_serialize_widths(widths):
868
- obj_to_pre_serialize = random.choice(list(locals().values()))
854
+ obj_to_pre_serialize = widths
869
855
  serializable_rep = obj_to_pre_serialize
870
856
 
871
857
  return serializable_rep
@@ -880,8 +866,7 @@ def _de_pre_serialize_widths(serializable_rep):
880
866
 
881
867
 
882
868
  def _check_and_convert_val_at_center(params):
883
- current_func_name = inspect.stack()[0][3]
884
- obj_name = current_func_name[19:]
869
+ obj_name = "val_at_center"
885
870
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
886
871
  val_at_center = czekitout.convert.to_float(**kwargs)
887
872
 
@@ -890,7 +875,7 @@ def _check_and_convert_val_at_center(params):
890
875
 
891
876
 
892
877
  def _pre_serialize_val_at_center(val_at_center):
893
- obj_to_pre_serialize = random.choice(list(locals().values()))
878
+ obj_to_pre_serialize = val_at_center
894
879
  serializable_rep = obj_to_pre_serialize
895
880
 
896
881
  return serializable_rep
@@ -905,8 +890,7 @@ def _de_pre_serialize_val_at_center(serializable_rep):
905
890
 
906
891
 
907
892
  def _check_and_convert_functional_form(params):
908
- current_func_name = inspect.stack()[0][3]
909
- obj_name = current_func_name[19:]
893
+ obj_name = "functional_form"
910
894
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
911
895
  functional_form = czekitout.convert.to_str_from_str_like(**kwargs)
912
896
 
@@ -921,7 +905,7 @@ def _check_and_convert_functional_form(params):
921
905
 
922
906
 
923
907
  def _pre_serialize_functional_form(functional_form):
924
- obj_to_pre_serialize = random.choice(list(locals().values()))
908
+ obj_to_pre_serialize = functional_form
925
909
  serializable_rep = obj_to_pre_serialize
926
910
 
927
911
  return serializable_rep
@@ -1218,8 +1202,7 @@ class Peak(BaseShape):
1218
1202
 
1219
1203
 
1220
1204
  def _check_and_convert_end_pt_1(params):
1221
- current_func_name = inspect.stack()[0][3]
1222
- obj_name = current_func_name[19:]
1205
+ obj_name = "end_pt_1"
1223
1206
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
1224
1207
  end_pt_1 = czekitout.convert.to_pair_of_floats(**kwargs)
1225
1208
 
@@ -1228,7 +1211,7 @@ def _check_and_convert_end_pt_1(params):
1228
1211
 
1229
1212
 
1230
1213
  def _pre_serialize_end_pt_1(end_pt_1):
1231
- obj_to_pre_serialize = random.choice(list(locals().values()))
1214
+ obj_to_pre_serialize = end_pt_1
1232
1215
  serializable_rep = obj_to_pre_serialize
1233
1216
 
1234
1217
  return serializable_rep
@@ -1243,8 +1226,7 @@ def _de_pre_serialize_end_pt_1(serializable_rep):
1243
1226
 
1244
1227
 
1245
1228
  def _check_and_convert_end_pt_2(params):
1246
- current_func_name = inspect.stack()[0][3]
1247
- obj_name = current_func_name[19:]
1229
+ obj_name = "end_pt_2"
1248
1230
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
1249
1231
  end_pt_2 = czekitout.convert.to_pair_of_floats(**kwargs)
1250
1232
 
@@ -1253,7 +1235,7 @@ def _check_and_convert_end_pt_2(params):
1253
1235
 
1254
1236
 
1255
1237
  def _pre_serialize_end_pt_2(end_pt_2):
1256
- obj_to_pre_serialize = random.choice(list(locals().values()))
1238
+ obj_to_pre_serialize = end_pt_2
1257
1239
  serializable_rep = obj_to_pre_serialize
1258
1240
 
1259
1241
  return serializable_rep
@@ -1268,8 +1250,7 @@ def _de_pre_serialize_end_pt_2(serializable_rep):
1268
1250
 
1269
1251
 
1270
1252
  def _check_and_convert_width(params):
1271
- current_func_name = inspect.stack()[0][3]
1272
- obj_name = current_func_name[19:]
1253
+ obj_name = "width"
1273
1254
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
1274
1255
  width = czekitout.convert.to_positive_float(**kwargs)
1275
1256
 
@@ -1278,7 +1259,7 @@ def _check_and_convert_width(params):
1278
1259
 
1279
1260
 
1280
1261
  def _pre_serialize_width(width):
1281
- obj_to_pre_serialize = random.choice(list(locals().values()))
1262
+ obj_to_pre_serialize = width
1282
1263
  serializable_rep = obj_to_pre_serialize
1283
1264
 
1284
1265
  return serializable_rep
@@ -1597,8 +1578,7 @@ class Band(BaseShape):
1597
1578
 
1598
1579
 
1599
1580
  def _check_and_convert_amplitude(params):
1600
- current_func_name = inspect.stack()[0][3]
1601
- obj_name = current_func_name[19:]
1581
+ obj_name = "amplitude"
1602
1582
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
1603
1583
  amplitude = czekitout.convert.to_float(**kwargs)
1604
1584
 
@@ -1607,7 +1587,7 @@ def _check_and_convert_amplitude(params):
1607
1587
 
1608
1588
 
1609
1589
  def _pre_serialize_amplitude(amplitude):
1610
- obj_to_pre_serialize = random.choice(list(locals().values()))
1590
+ obj_to_pre_serialize = amplitude
1611
1591
  serializable_rep = obj_to_pre_serialize
1612
1592
 
1613
1593
  return serializable_rep
@@ -1622,8 +1602,7 @@ def _de_pre_serialize_amplitude(serializable_rep):
1622
1602
 
1623
1603
 
1624
1604
  def _check_and_convert_wavelength(params):
1625
- current_func_name = inspect.stack()[0][3]
1626
- obj_name = current_func_name[19:]
1605
+ obj_name = "wavelength"
1627
1606
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
1628
1607
  wavelength = czekitout.convert.to_positive_float(**kwargs)
1629
1608
 
@@ -1632,7 +1611,7 @@ def _check_and_convert_wavelength(params):
1632
1611
 
1633
1612
 
1634
1613
  def _pre_serialize_wavelength(wavelength):
1635
- obj_to_pre_serialize = random.choice(list(locals().values()))
1614
+ obj_to_pre_serialize = wavelength
1636
1615
  serializable_rep = obj_to_pre_serialize
1637
1616
 
1638
1617
  return serializable_rep
@@ -1647,8 +1626,7 @@ def _de_pre_serialize_wavelength(serializable_rep):
1647
1626
 
1648
1627
 
1649
1628
  def _check_and_convert_propagation_direction(params):
1650
- current_func_name = inspect.stack()[0][3]
1651
- obj_name = current_func_name[19:]
1629
+ obj_name = "propagation_direction"
1652
1630
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
1653
1631
  propagation_direction = czekitout.convert.to_float(**kwargs) % (2*np.pi)
1654
1632
 
@@ -1657,7 +1635,7 @@ def _check_and_convert_propagation_direction(params):
1657
1635
 
1658
1636
 
1659
1637
  def _pre_serialize_propagation_direction(propagation_direction):
1660
- obj_to_pre_serialize = random.choice(list(locals().values()))
1638
+ obj_to_pre_serialize = propagation_direction
1661
1639
  serializable_rep = obj_to_pre_serialize
1662
1640
 
1663
1641
  return serializable_rep
@@ -1672,8 +1650,7 @@ def _de_pre_serialize_propagation_direction(serializable_rep):
1672
1650
 
1673
1651
 
1674
1652
  def _check_and_convert_phase(params):
1675
- current_func_name = inspect.stack()[0][3]
1676
- obj_name = current_func_name[19:]
1653
+ obj_name = "phase"
1677
1654
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
1678
1655
  phase = czekitout.convert.to_float(**kwargs)
1679
1656
 
@@ -1682,7 +1659,7 @@ def _check_and_convert_phase(params):
1682
1659
 
1683
1660
 
1684
1661
  def _pre_serialize_phase(phase):
1685
- obj_to_pre_serialize = random.choice(list(locals().values()))
1662
+ obj_to_pre_serialize = phase
1686
1663
  serializable_rep = obj_to_pre_serialize
1687
1664
 
1688
1665
  return serializable_rep
@@ -1855,8 +1832,7 @@ class PlaneWave(BaseShape):
1855
1832
 
1856
1833
 
1857
1834
  def _check_and_convert_midpoint_angle(params):
1858
- current_func_name = inspect.stack()[0][3]
1859
- obj_name = current_func_name[19:]
1835
+ obj_name = "midpoint_angle"
1860
1836
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
1861
1837
  midpoint_angle = czekitout.convert.to_float(**kwargs) % (2*np.pi)
1862
1838
 
@@ -1865,7 +1841,7 @@ def _check_and_convert_midpoint_angle(params):
1865
1841
 
1866
1842
 
1867
1843
  def _pre_serialize_midpoint_angle(midpoint_angle):
1868
- obj_to_pre_serialize = random.choice(list(locals().values()))
1844
+ obj_to_pre_serialize = midpoint_angle
1869
1845
  serializable_rep = obj_to_pre_serialize
1870
1846
 
1871
1847
  return serializable_rep
@@ -1880,8 +1856,7 @@ def _de_pre_serialize_midpoint_angle(serializable_rep):
1880
1856
 
1881
1857
 
1882
1858
  def _check_and_convert_subtending_angle(params):
1883
- current_func_name = inspect.stack()[0][3]
1884
- obj_name = current_func_name[19:]
1859
+ obj_name = "subtending_angle"
1885
1860
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
1886
1861
  subtending_angle = min(abs(czekitout.convert.to_float(**kwargs)), (2*np.pi))
1887
1862
 
@@ -1890,7 +1865,7 @@ def _check_and_convert_subtending_angle(params):
1890
1865
 
1891
1866
 
1892
1867
  def _pre_serialize_subtending_angle(subtending_angle):
1893
- obj_to_pre_serialize = random.choice(list(locals().values()))
1868
+ obj_to_pre_serialize = subtending_angle
1894
1869
  serializable_rep = obj_to_pre_serialize
1895
1870
 
1896
1871
  return serializable_rep
@@ -1905,15 +1880,15 @@ def _de_pre_serialize_subtending_angle(serializable_rep):
1905
1880
 
1906
1881
 
1907
1882
  def _check_and_convert_radial_range(params):
1908
- current_func_name = inspect.stack()[0][3]
1909
- char_idx = 19
1910
- obj_name = current_func_name[char_idx:]
1883
+ obj_name = "radial_range"
1911
1884
  obj = params[obj_name]
1912
1885
 
1913
1886
  func_alias = czekitout.convert.to_pair_of_positive_floats
1914
1887
  kwargs = {"obj": obj, "obj_name": obj_name}
1915
1888
  radial_range = func_alias(**kwargs)
1916
1889
 
1890
+ current_func_name = "_check_and_convert_radial_range"
1891
+
1917
1892
  if radial_range[0] >= radial_range[1]:
1918
1893
  err_msg = globals()[current_func_name+"_err_msg_1"]
1919
1894
  raise ValueError(err_msg)
@@ -1923,7 +1898,7 @@ def _check_and_convert_radial_range(params):
1923
1898
 
1924
1899
 
1925
1900
  def _pre_serialize_radial_range(radial_range):
1926
- obj_to_pre_serialize = random.choice(list(locals().values()))
1901
+ obj_to_pre_serialize = radial_range
1927
1902
  serializable_rep = obj_to_pre_serialize
1928
1903
 
1929
1904
  return serializable_rep
@@ -2124,8 +2099,7 @@ class Arc(BaseShape):
2124
2099
 
2125
2100
 
2126
2101
  def _check_and_convert_radial_reference_pt(params):
2127
- current_func_name = inspect.stack()[0][3]
2128
- obj_name = current_func_name[19:]
2102
+ obj_name = "radial_reference_pt"
2129
2103
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
2130
2104
  radial_reference_pt = czekitout.convert.to_pair_of_floats(**kwargs)
2131
2105
 
@@ -2134,7 +2108,7 @@ def _check_and_convert_radial_reference_pt(params):
2134
2108
 
2135
2109
 
2136
2110
  def _pre_serialize_radial_reference_pt(radial_reference_pt):
2137
- obj_to_pre_serialize = random.choice(list(locals().values()))
2111
+ obj_to_pre_serialize = radial_reference_pt
2138
2112
  serializable_rep = obj_to_pre_serialize
2139
2113
 
2140
2114
  return serializable_rep
@@ -2149,12 +2123,13 @@ def _de_pre_serialize_radial_reference_pt(serializable_rep):
2149
2123
 
2150
2124
 
2151
2125
  def _check_and_convert_radial_amplitudes(params):
2152
- current_func_name = inspect.stack()[0][3]
2153
- obj_name = current_func_name[19:]
2126
+ obj_name = "radial_amplitudes"
2154
2127
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
2155
2128
  func_alias = czekitout.convert.to_tuple_of_nonnegative_floats
2156
2129
  radial_amplitudes = func_alias(**kwargs)
2157
2130
 
2131
+ current_func_name = "_check_and_convert_radial_amplitudes"
2132
+
2158
2133
  num_radial_amplitudes = len(radial_amplitudes)
2159
2134
  if num_radial_amplitudes == 0:
2160
2135
  err_msg = globals()[current_func_name+"_err_msg_1"]
@@ -2170,7 +2145,7 @@ def _check_and_convert_radial_amplitudes(params):
2170
2145
 
2171
2146
 
2172
2147
  def _pre_serialize_radial_amplitudes(radial_amplitudes):
2173
- obj_to_pre_serialize = random.choice(list(locals().values()))
2148
+ obj_to_pre_serialize = radial_amplitudes
2174
2149
  serializable_rep = obj_to_pre_serialize
2175
2150
 
2176
2151
  return serializable_rep
@@ -2185,8 +2160,7 @@ def _de_pre_serialize_radial_amplitudes(serializable_rep):
2185
2160
 
2186
2161
 
2187
2162
  def _check_and_convert_radial_phases(params):
2188
- current_func_name = inspect.stack()[0][3]
2189
- obj_name = current_func_name[19:]
2163
+ obj_name = "radial_phases"
2190
2164
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
2191
2165
  radial_phases = czekitout.convert.to_tuple_of_floats(**kwargs)
2192
2166
  radial_phases = tuple(radial_phase%(2*np.pi)
@@ -2198,6 +2172,8 @@ def _check_and_convert_radial_phases(params):
2198
2172
  num_radial_phases = len(radial_phases)
2199
2173
  num_radial_amplitudes = len(radial_amplitudes)
2200
2174
 
2175
+ current_func_name = "_check_and_convert_radial_phases"
2176
+
2201
2177
  if num_radial_phases+1 != num_radial_amplitudes:
2202
2178
  err_msg = globals()[current_func_name+"_err_msg_1"]
2203
2179
  raise ValueError(err_msg)
@@ -2207,7 +2183,7 @@ def _check_and_convert_radial_phases(params):
2207
2183
 
2208
2184
 
2209
2185
  def _pre_serialize_radial_phases(radial_phases):
2210
- obj_to_pre_serialize = random.choice(list(locals().values()))
2186
+ obj_to_pre_serialize = radial_phases
2211
2187
  serializable_rep = obj_to_pre_serialize
2212
2188
 
2213
2189
  return serializable_rep
@@ -2414,8 +2390,7 @@ class GenericBlob(BaseShape):
2414
2390
 
2415
2391
 
2416
2392
  def _check_and_convert_principal_quantum_number(params):
2417
- current_func_name = inspect.stack()[0][3]
2418
- obj_name = current_func_name[19:]
2393
+ obj_name = "principal_quantum_number"
2419
2394
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
2420
2395
  principal_quantum_number = czekitout.convert.to_positive_int(**kwargs)
2421
2396
 
@@ -2424,7 +2399,7 @@ def _check_and_convert_principal_quantum_number(params):
2424
2399
 
2425
2400
 
2426
2401
  def _pre_serialize_principal_quantum_number(principal_quantum_number):
2427
- obj_to_pre_serialize = random.choice(list(locals().values()))
2402
+ obj_to_pre_serialize = principal_quantum_number
2428
2403
  serializable_rep = obj_to_pre_serialize
2429
2404
 
2430
2405
  return serializable_rep
@@ -2439,14 +2414,15 @@ def _de_pre_serialize_principal_quantum_number(serializable_rep):
2439
2414
 
2440
2415
 
2441
2416
  def _check_and_convert_azimuthal_quantum_number(params):
2442
- current_func_name = inspect.stack()[0][3]
2443
- obj_name = current_func_name[19:]
2417
+ obj_name = "azimuthal_quantum_number"
2444
2418
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
2445
2419
  azimuthal_quantum_number = czekitout.convert.to_nonnegative_int(**kwargs)
2446
2420
 
2447
2421
  principal_quantum_number = \
2448
2422
  _check_and_convert_principal_quantum_number(params)
2449
2423
 
2424
+ current_func_name = "_check_and_convert_azimuthal_quantum_number"
2425
+
2450
2426
  if azimuthal_quantum_number >= principal_quantum_number:
2451
2427
  err_msg = globals()[current_func_name+"_err_msg_1"]
2452
2428
  raise ValueError(err_msg)
@@ -2456,7 +2432,7 @@ def _check_and_convert_azimuthal_quantum_number(params):
2456
2432
 
2457
2433
 
2458
2434
  def _pre_serialize_azimuthal_quantum_number(azimuthal_quantum_number):
2459
- obj_to_pre_serialize = random.choice(list(locals().values()))
2435
+ obj_to_pre_serialize = azimuthal_quantum_number
2460
2436
  serializable_rep = obj_to_pre_serialize
2461
2437
 
2462
2438
  return serializable_rep
@@ -2471,14 +2447,15 @@ def _de_pre_serialize_azimuthal_quantum_number(serializable_rep):
2471
2447
 
2472
2448
 
2473
2449
  def _check_and_convert_magnetic_quantum_number(params):
2474
- current_func_name = inspect.stack()[0][3]
2475
- obj_name = current_func_name[19:]
2450
+ obj_name = "magnetic_quantum_number"
2476
2451
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
2477
2452
  magnetic_quantum_number = czekitout.convert.to_int(**kwargs)
2478
2453
 
2479
2454
  azimuthal_quantum_number = \
2480
2455
  _check_and_convert_azimuthal_quantum_number(params)
2481
2456
 
2457
+ current_func_name = "_check_and_convert_magnetic_quantum_number"
2458
+
2482
2459
  if abs(magnetic_quantum_number) > azimuthal_quantum_number:
2483
2460
  err_msg = globals()[current_func_name+"_err_msg_1"]
2484
2461
  raise ValueError(err_msg)
@@ -2488,7 +2465,7 @@ def _check_and_convert_magnetic_quantum_number(params):
2488
2465
 
2489
2466
 
2490
2467
  def _pre_serialize_magnetic_quantum_number(magnetic_quantum_number):
2491
- obj_to_pre_serialize = random.choice(list(locals().values()))
2468
+ obj_to_pre_serialize = magnetic_quantum_number
2492
2469
  serializable_rep = obj_to_pre_serialize
2493
2470
 
2494
2471
  return serializable_rep
@@ -2503,8 +2480,7 @@ def _de_pre_serialize_magnetic_quantum_number(serializable_rep):
2503
2480
 
2504
2481
 
2505
2482
  def _check_and_convert_effective_size(params):
2506
- current_func_name = inspect.stack()[0][3]
2507
- obj_name = current_func_name[19:]
2483
+ obj_name = "effective_size"
2508
2484
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
2509
2485
  effective_size = czekitout.convert.to_positive_float(**kwargs)
2510
2486
 
@@ -2513,7 +2489,7 @@ def _check_and_convert_effective_size(params):
2513
2489
 
2514
2490
 
2515
2491
  def _pre_serialize_effective_size(effective_size):
2516
- obj_to_pre_serialize = random.choice(list(locals().values()))
2492
+ obj_to_pre_serialize = effective_size
2517
2493
  serializable_rep = obj_to_pre_serialize
2518
2494
 
2519
2495
  return serializable_rep
@@ -2528,8 +2504,7 @@ def _de_pre_serialize_effective_size(serializable_rep):
2528
2504
 
2529
2505
 
2530
2506
  def _check_and_convert_renormalization_factor(params):
2531
- current_func_name = inspect.stack()[0][3]
2532
- obj_name = current_func_name[19:]
2507
+ obj_name = "renormalization_factor"
2533
2508
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
2534
2509
  renormalization_factor = czekitout.convert.to_float(**kwargs)
2535
2510
 
@@ -2538,7 +2513,7 @@ def _check_and_convert_renormalization_factor(params):
2538
2513
 
2539
2514
 
2540
2515
  def _pre_serialize_renormalization_factor(renormalization_factor):
2541
- obj_to_pre_serialize = random.choice(list(locals().values()))
2516
+ obj_to_pre_serialize = renormalization_factor
2542
2517
  serializable_rep = obj_to_pre_serialize
2543
2518
 
2544
2519
  return serializable_rep
@@ -2964,9 +2939,7 @@ class Orbital(BaseShape):
2964
2939
 
2965
2940
 
2966
2941
  def _check_and_convert_bg_ellipse(params):
2967
- current_func_name = inspect.stack()[0][3]
2968
- char_idx = 19
2969
- obj_name = current_func_name[char_idx:]
2942
+ obj_name = "bg_ellipse"
2970
2943
  obj = params[obj_name]
2971
2944
 
2972
2945
  accepted_types = (Ellipse, Circle, type(None))
@@ -2985,7 +2958,7 @@ def _check_and_convert_bg_ellipse(params):
2985
2958
 
2986
2959
 
2987
2960
  def _pre_serialize_bg_ellipse(bg_ellipse):
2988
- obj_to_pre_serialize = random.choice(list(locals().values()))
2961
+ obj_to_pre_serialize = bg_ellipse
2989
2962
  serializable_rep = obj_to_pre_serialize.pre_serialize()
2990
2963
 
2991
2964
  return serializable_rep
@@ -3003,9 +2976,7 @@ def _de_pre_serialize_bg_ellipse(serializable_rep):
3003
2976
 
3004
2977
 
3005
2978
  def _check_and_convert_fg_ellipse(params):
3006
- current_func_name = inspect.stack()[0][3]
3007
- char_idx = 19
3008
- obj_name = current_func_name[char_idx:]
2979
+ obj_name = "fg_ellipse"
3009
2980
  obj = params[obj_name]
3010
2981
 
3011
2982
  accepted_types = (Ellipse, Circle, type(None))
@@ -3024,7 +2995,7 @@ def _check_and_convert_fg_ellipse(params):
3024
2995
 
3025
2996
 
3026
2997
  def _pre_serialize_fg_ellipse(fg_ellipse):
3027
- obj_to_pre_serialize = random.choice(list(locals().values()))
2998
+ obj_to_pre_serialize = fg_ellipse
3028
2999
  serializable_rep = obj_to_pre_serialize.pre_serialize()
3029
3000
 
3030
3001
  return serializable_rep
@@ -3173,9 +3144,7 @@ class Lune(BaseShape):
3173
3144
 
3174
3145
 
3175
3146
  def _check_and_convert_support(params):
3176
- current_func_name = inspect.stack()[0][3]
3177
- char_idx = 19
3178
- obj_name = current_func_name[char_idx:]
3147
+ obj_name = "support"
3179
3148
  obj = params[obj_name]
3180
3149
 
3181
3150
  accepted_types = (Circle, Ellipse, Band, Arc, GenericBlob, Lune, type(None))
@@ -3194,7 +3163,7 @@ def _check_and_convert_support(params):
3194
3163
 
3195
3164
 
3196
3165
  def _pre_serialize_support(support):
3197
- obj_to_pre_serialize = random.choice(list(locals().values()))
3166
+ obj_to_pre_serialize = support
3198
3167
  serializable_rep = obj_to_pre_serialize.pre_serialize()
3199
3168
 
3200
3169
  return serializable_rep
@@ -3220,9 +3189,7 @@ def _de_pre_serialize_support(serializable_rep):
3220
3189
 
3221
3190
 
3222
3191
  def _check_and_convert_intra_support_shapes(params):
3223
- current_func_name = inspect.stack()[0][3]
3224
- char_idx = 19
3225
- obj_name = current_func_name[char_idx:]
3192
+ obj_name = "intra_support_shapes"
3226
3193
  obj = params[obj_name]
3227
3194
 
3228
3195
  accepted_types = (Circle,
@@ -3236,6 +3203,8 @@ def _check_and_convert_intra_support_shapes(params):
3236
3203
  Lune,
3237
3204
  NonuniformBoundedShape)
3238
3205
 
3206
+ current_func_name = "_check_and_convert_intra_support_shapes"
3207
+
3239
3208
  try:
3240
3209
  for intra_support_shape in obj:
3241
3210
  kwargs = {"obj": intra_support_shape,
@@ -3253,7 +3222,7 @@ def _check_and_convert_intra_support_shapes(params):
3253
3222
 
3254
3223
 
3255
3224
  def _pre_serialize_intra_support_shapes(intra_support_shapes):
3256
- obj_to_pre_serialize = random.choice(list(locals().values()))
3225
+ obj_to_pre_serialize = intra_support_shapes
3257
3226
  serializable_rep = tuple()
3258
3227
  for elem in obj_to_pre_serialize:
3259
3228
  serializable_rep += (elem.pre_serialize(),)
fakecbed/tds.py CHANGED
@@ -8,12 +8,6 @@
8
8
  ## Load libraries/packages/modules ##
9
9
  #####################################
10
10
 
11
- # For accessing attributes of functions.
12
- import inspect
13
-
14
- # For randomly selecting items in dictionaries.
15
- import random
16
-
17
11
  # For performing deep copies.
18
12
  import copy
19
13
 
@@ -50,13 +44,13 @@ __all__ = ["Model"]
50
44
 
51
45
 
52
46
  def _check_and_convert_peaks(params):
53
- current_func_name = inspect.stack()[0][3]
54
- char_idx = 19
55
- obj_name = current_func_name[char_idx:]
47
+ obj_name = "peaks"
56
48
  obj = params[obj_name]
57
49
 
58
50
  accepted_types = (fakecbed.shapes.Peak,)
59
51
 
52
+ current_func_name = "_check_and_convert_peaks"
53
+
60
54
  try:
61
55
  for peak in obj:
62
56
  kwargs = {"obj": peak,
@@ -74,7 +68,7 @@ def _check_and_convert_peaks(params):
74
68
 
75
69
 
76
70
  def _pre_serialize_peaks(peaks):
77
- obj_to_pre_serialize = random.choice(list(locals().values()))
71
+ obj_to_pre_serialize = peaks
78
72
  serializable_rep = tuple()
79
73
  for elem in obj_to_pre_serialize:
80
74
  serializable_rep += (elem.pre_serialize(),)
@@ -94,8 +88,7 @@ def _de_pre_serialize_peaks(serializable_rep):
94
88
 
95
89
 
96
90
  def _check_and_convert_constant_bg(params):
97
- current_func_name = inspect.stack()[0][3]
98
- obj_name = current_func_name[19:]
91
+ obj_name = "constant_bg"
99
92
  kwargs = {"obj": params[obj_name], "obj_name": obj_name}
100
93
  constant_bg = czekitout.convert.to_nonnegative_float(**kwargs)
101
94
 
@@ -104,7 +97,7 @@ def _check_and_convert_constant_bg(params):
104
97
 
105
98
 
106
99
  def _pre_serialize_constant_bg(constant_bg):
107
- obj_to_pre_serialize = random.choice(list(locals().values()))
100
+ obj_to_pre_serialize = constant_bg
108
101
  serializable_rep = obj_to_pre_serialize
109
102
 
110
103
  return serializable_rep
fakecbed/version.py CHANGED
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.2.0'
16
- __version_tuple__ = version_tuple = (0, 2, 0)
15
+ __version__ = version = '0.3.0'
16
+ __version_tuple__ = version_tuple = (0, 3, 0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: fakecbed
3
- Version: 0.2.0
3
+ Version: 0.3.0
4
4
  Summary: A Python library for generating quickly images that imitate convergent beam electron diffraction patterns.
5
5
  Author-email: Matthew Fitzpatrick <matthew.rc.fitzpatrick@gmail.com>
6
6
  Project-URL: Homepage, https://mrfitzpa.github.io/fakecbed
@@ -0,0 +1,10 @@
1
+ fakecbed/__init__.py,sha256=iP73WNV_HZgxiVUVdesbJqlrhDGESooh1hlBs8kox9M,1342
2
+ fakecbed/discretized.py,sha256=vDV1kU2Q-JYDMp_WEAYCCLGXLN7urBCTfej-ggYC19M,99328
3
+ fakecbed/shapes.py,sha256=TiqJBZI4JZib0Q6zfO0e-dh7ACjYhvAYUvEtIedoo74,116471
4
+ fakecbed/tds.py,sha256=mk5359ErIhdpCoTdHq9r1-foKb8t3qCOHqNoabx3bQw,8066
5
+ fakecbed/version.py,sha256=Jk2iAU7m-7Vx9XV1TtdD9ZoJraIncDq_4_Wd-qtUotg,411
6
+ fakecbed-0.3.0.dist-info/LICENSE,sha256=N0P3pKtRMvfb64jmgJdlerg3TnS0a2QC776AzPsbZIg,35128
7
+ fakecbed-0.3.0.dist-info/METADATA,sha256=Yh3j9fCD-N_AXT5nUkdRHDdOGsQquCLbxJbW9fLsLng,3006
8
+ fakecbed-0.3.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
9
+ fakecbed-0.3.0.dist-info/top_level.txt,sha256=l0jL8P0CjRiCSznYLnq7riaAnOmYaV3zjjjIJx9vjSQ,9
10
+ fakecbed-0.3.0.dist-info/RECORD,,
@@ -1,10 +0,0 @@
1
- fakecbed/__init__.py,sha256=iP73WNV_HZgxiVUVdesbJqlrhDGESooh1hlBs8kox9M,1342
2
- fakecbed/discretized.py,sha256=0dkfc7VdF8qEzExLRv95NDD4bpIRmI2JHy50ARv9tNQ,98666
3
- fakecbed/shapes.py,sha256=nvFKtZk_Oxdl3klQhpDwKttSR5uR5Dr8Fe3tL6Y7ksw,118827
4
- fakecbed/tds.py,sha256=BlS3_ihN18tplJ4kaoR3UPhvwvo410_os7xkp0jMguI,8334
5
- fakecbed/version.py,sha256=H-qsvrxCpdhaQzyddR-yajEqI71hPxLa4KxzpP3uS1g,411
6
- fakecbed-0.2.0.dist-info/LICENSE,sha256=N0P3pKtRMvfb64jmgJdlerg3TnS0a2QC776AzPsbZIg,35128
7
- fakecbed-0.2.0.dist-info/METADATA,sha256=9aOC5ok8oZB6p1qdp2-5ZEOfnpOSeLoPvoRZDcNVs0s,3006
8
- fakecbed-0.2.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
9
- fakecbed-0.2.0.dist-info/top_level.txt,sha256=l0jL8P0CjRiCSznYLnq7riaAnOmYaV3zjjjIJx9vjSQ,9
10
- fakecbed-0.2.0.dist-info/RECORD,,