pyvale 2025.7.1__cp311-cp311-win_amd64.whl → 2025.8.1__cp311-cp311-win_amd64.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.

Potentially problematic release.


This version of pyvale might be problematic. Click here for more details.

Files changed (186) hide show
  1. pyvale/__init__.py +12 -92
  2. pyvale/blender/__init__.py +23 -0
  3. pyvale/{pyvaleexceptions.py → blender/blenderexceptions.py} +0 -3
  4. pyvale/{blenderlightdata.py → blender/blenderlightdata.py} +3 -3
  5. pyvale/{blendermaterialdata.py → blender/blendermaterialdata.py} +1 -1
  6. pyvale/{blenderrenderdata.py → blender/blenderrenderdata.py} +5 -3
  7. pyvale/{blenderscene.py → blender/blenderscene.py} +33 -30
  8. pyvale/{blendertools.py → blender/blendertools.py} +14 -10
  9. pyvale/dataset/__init__.py +7 -0
  10. pyvale/dataset/dataset.py +443 -0
  11. pyvale/dic/__init__.py +20 -0
  12. pyvale/dic/cpp/dicfourier.cpp +36 -4
  13. pyvale/dic/cpp/dicinterpolator.cpp +56 -1
  14. pyvale/dic/cpp/dicmain.cpp +24 -19
  15. pyvale/dic/cpp/dicoptimizer.cpp +6 -1
  16. pyvale/dic/cpp/dicscanmethod.cpp +32 -32
  17. pyvale/dic/cpp/dicsignalhandler.cpp +16 -0
  18. pyvale/dic/cpp/dicstrain.cpp +7 -3
  19. pyvale/dic/cpp/dicutil.cpp +79 -23
  20. pyvale/{dic2d.py → dic/dic2d.py} +51 -29
  21. pyvale/dic/dic2dconv.py +6 -0
  22. pyvale/dic/dic2dcpp.cp311-win_amd64.pyd +0 -0
  23. pyvale/{dicchecks.py → dic/dicchecks.py} +28 -16
  24. pyvale/dic/dicdataimport.py +370 -0
  25. pyvale/{dicregionofinterest.py → dic/dicregionofinterest.py} +169 -12
  26. pyvale/{dicresults.py → dic/dicresults.py} +4 -1
  27. pyvale/{dicstrain.py → dic/dicstrain.py} +9 -9
  28. pyvale/examples/basics/{ex1_1_basicscalars_therm2d.py → ex1a_basicscalars_therm2d.py} +12 -9
  29. pyvale/examples/basics/{ex1_2_sensormodel_therm2d.py → ex1b_sensormodel_therm2d.py} +17 -14
  30. pyvale/examples/basics/{ex1_3_customsens_therm3d.py → ex1c_customsens_therm3d.py} +27 -24
  31. pyvale/examples/basics/{ex1_4_basicerrors_therm3d.py → ex1d_basicerrors_therm3d.py} +32 -29
  32. pyvale/examples/basics/{ex1_5_fielderrs_therm3d.py → ex1e_fielderrs_therm3d.py} +19 -15
  33. pyvale/examples/basics/{ex1_6_caliberrs_therm2d.py → ex1f_caliberrs_therm2d.py} +20 -16
  34. pyvale/examples/basics/{ex1_7_spatavg_therm2d.py → ex1g_spatavg_therm2d.py} +19 -16
  35. pyvale/examples/basics/{ex2_1_basicvectors_disp2d.py → ex2a_basicvectors_disp2d.py} +13 -10
  36. pyvale/examples/basics/{ex2_2_vectorsens_disp2d.py → ex2b_vectorsens_disp2d.py} +19 -15
  37. pyvale/examples/basics/{ex2_3_sensangle_disp2d.py → ex2c_sensangle_disp2d.py} +21 -18
  38. pyvale/examples/basics/{ex2_4_chainfielderrs_disp2d.py → ex2d_chainfielderrs_disp2d.py} +31 -29
  39. pyvale/examples/basics/{ex2_5_vectorfields3d_disp3d.py → ex2e_vectorfields3d_disp3d.py} +21 -18
  40. pyvale/examples/basics/{ex3_1_basictensors_strain2d.py → ex3a_basictensors_strain2d.py} +16 -14
  41. pyvale/examples/basics/{ex3_2_tensorsens2d_strain2d.py → ex3b_tensorsens2d_strain2d.py} +17 -14
  42. pyvale/examples/basics/{ex3_3_tensorsens3d_strain3d.py → ex3c_tensorsens3d_strain3d.py} +25 -22
  43. pyvale/examples/basics/{ex4_1_expsim2d_thermmech2d.py → ex4a_expsim2d_thermmech2d.py} +17 -14
  44. pyvale/examples/basics/{ex4_2_expsim3d_thermmech3d.py → ex4b_expsim3d_thermmech3d.py} +37 -34
  45. pyvale/examples/basics/ex5_nomesh.py +24 -0
  46. pyvale/examples/dic/ex1_2_blenderdeformed.py +174 -0
  47. pyvale/examples/dic/ex1_region_of_interest.py +6 -3
  48. pyvale/examples/dic/ex2_plate_with_hole.py +21 -18
  49. pyvale/examples/dic/ex3_plate_with_hole_strain.py +8 -6
  50. pyvale/examples/dic/ex4_dic_blender.py +17 -15
  51. pyvale/examples/dic/ex5_dic_challenge.py +19 -14
  52. pyvale/examples/genanalyticdata/ex1_1_scalarvisualisation.py +16 -10
  53. pyvale/examples/genanalyticdata/ex1_2_scalarcasebuild.py +3 -3
  54. pyvale/examples/genanalyticdata/ex2_1_analyticsensors.py +29 -23
  55. pyvale/examples/genanalyticdata/ex2_2_analyticsensors_nomesh.py +67 -0
  56. pyvale/examples/imagedef2d/ex_imagedef2d_todisk.py +12 -9
  57. pyvale/examples/mooseherder/ex0_create_moose_config.py +65 -0
  58. pyvale/examples/mooseherder/ex1a_modify_moose_input.py +71 -0
  59. pyvale/examples/mooseherder/ex1b_modify_gmsh_input.py +69 -0
  60. pyvale/examples/mooseherder/ex2a_run_moose_once.py +80 -0
  61. pyvale/examples/mooseherder/ex2b_run_gmsh_once.py +64 -0
  62. pyvale/examples/mooseherder/ex2c_run_both_once.py +114 -0
  63. pyvale/examples/mooseherder/ex3_run_moose_seq_para.py +157 -0
  64. pyvale/examples/mooseherder/ex4_run_gmsh-moose_seq_para.py +176 -0
  65. pyvale/examples/mooseherder/ex5_run_moose_paramulti.py +136 -0
  66. pyvale/examples/mooseherder/ex6_read_moose_exodus.py +163 -0
  67. pyvale/examples/mooseherder/ex7a_read_moose_herd_results.py +153 -0
  68. pyvale/examples/mooseherder/ex7b_read_multi_herd_results.py +116 -0
  69. pyvale/examples/mooseherder/ex7c_read_multi_gmshmoose_results.py +127 -0
  70. pyvale/examples/mooseherder/ex7d_readconfig_multi_gmshmoose_results.py +143 -0
  71. pyvale/examples/mooseherder/ex8_read_existing_sweep_output.py +72 -0
  72. pyvale/examples/renderblender/ex1_1_blenderscene.py +24 -20
  73. pyvale/examples/renderblender/ex1_2_blenderdeformed.py +22 -18
  74. pyvale/examples/renderblender/ex2_1_stereoscene.py +36 -29
  75. pyvale/examples/renderblender/ex2_2_stereodeformed.py +26 -20
  76. pyvale/examples/renderblender/ex3_1_blendercalibration.py +24 -17
  77. pyvale/examples/renderrasterisation/ex_rastenp.py +14 -12
  78. pyvale/examples/renderrasterisation/ex_rastercyth_oneframe.py +14 -15
  79. pyvale/examples/renderrasterisation/ex_rastercyth_static_cypara.py +13 -11
  80. pyvale/examples/renderrasterisation/ex_rastercyth_static_pypara.py +13 -11
  81. pyvale/mooseherder/__init__.py +32 -0
  82. pyvale/mooseherder/directorymanager.py +416 -0
  83. pyvale/mooseherder/exodusreader.py +763 -0
  84. pyvale/mooseherder/gmshrunner.py +163 -0
  85. pyvale/mooseherder/inputmodifier.py +236 -0
  86. pyvale/mooseherder/mooseconfig.py +226 -0
  87. pyvale/mooseherder/mooseherd.py +527 -0
  88. pyvale/mooseherder/mooserunner.py +303 -0
  89. pyvale/mooseherder/outputreader.py +22 -0
  90. pyvale/mooseherder/simdata.py +92 -0
  91. pyvale/mooseherder/simrunner.py +31 -0
  92. pyvale/mooseherder/sweepreader.py +356 -0
  93. pyvale/mooseherder/sweeptools.py +76 -0
  94. pyvale/sensorsim/__init__.py +82 -0
  95. pyvale/{camera.py → sensorsim/camera.py} +7 -7
  96. pyvale/{camerasensor.py → sensorsim/camerasensor.py} +7 -7
  97. pyvale/{camerastereo.py → sensorsim/camerastereo.py} +2 -2
  98. pyvale/{cameratools.py → sensorsim/cameratools.py} +4 -4
  99. pyvale/{cython → sensorsim/cython}/rastercyth.c +596 -596
  100. pyvale/{cython → sensorsim/cython}/rastercyth.cp311-win_amd64.pyd +0 -0
  101. pyvale/{cython → sensorsim/cython}/rastercyth.py +16 -17
  102. pyvale/{errorcalculator.py → sensorsim/errorcalculator.py} +1 -1
  103. pyvale/{errorintegrator.py → sensorsim/errorintegrator.py} +2 -2
  104. pyvale/{errorrand.py → sensorsim/errorrand.py} +4 -4
  105. pyvale/{errorsyscalib.py → sensorsim/errorsyscalib.py} +2 -2
  106. pyvale/{errorsysdep.py → sensorsim/errorsysdep.py} +2 -2
  107. pyvale/{errorsysfield.py → sensorsim/errorsysfield.py} +8 -8
  108. pyvale/{errorsysindep.py → sensorsim/errorsysindep.py} +3 -3
  109. pyvale/sensorsim/exceptions.py +8 -0
  110. pyvale/{experimentsimulator.py → sensorsim/experimentsimulator.py} +23 -3
  111. pyvale/{field.py → sensorsim/field.py} +1 -1
  112. pyvale/{fieldconverter.py → sensorsim/fieldconverter.py} +72 -19
  113. pyvale/sensorsim/fieldinterp.py +37 -0
  114. pyvale/sensorsim/fieldinterpmesh.py +124 -0
  115. pyvale/sensorsim/fieldinterppoints.py +55 -0
  116. pyvale/{fieldsampler.py → sensorsim/fieldsampler.py} +4 -4
  117. pyvale/{fieldscalar.py → sensorsim/fieldscalar.py} +28 -24
  118. pyvale/{fieldtensor.py → sensorsim/fieldtensor.py} +33 -31
  119. pyvale/{fieldvector.py → sensorsim/fieldvector.py} +33 -31
  120. pyvale/{imagedef2d.py → sensorsim/imagedef2d.py} +9 -5
  121. pyvale/{integratorfactory.py → sensorsim/integratorfactory.py} +6 -6
  122. pyvale/{integratorquadrature.py → sensorsim/integratorquadrature.py} +3 -3
  123. pyvale/{integratorrectangle.py → sensorsim/integratorrectangle.py} +3 -3
  124. pyvale/{integratorspatial.py → sensorsim/integratorspatial.py} +1 -1
  125. pyvale/{rastercy.py → sensorsim/rastercy.py} +5 -5
  126. pyvale/{rasternp.py → sensorsim/rasternp.py} +9 -9
  127. pyvale/{rasteropts.py → sensorsim/rasteropts.py} +1 -1
  128. pyvale/{renderer.py → sensorsim/renderer.py} +1 -1
  129. pyvale/{rendermesh.py → sensorsim/rendermesh.py} +5 -5
  130. pyvale/{renderscene.py → sensorsim/renderscene.py} +2 -2
  131. pyvale/{sensorarray.py → sensorsim/sensorarray.py} +1 -1
  132. pyvale/{sensorarrayfactory.py → sensorsim/sensorarrayfactory.py} +12 -12
  133. pyvale/{sensorarraypoint.py → sensorsim/sensorarraypoint.py} +10 -8
  134. pyvale/{sensordata.py → sensorsim/sensordata.py} +1 -1
  135. pyvale/{sensortools.py → sensorsim/sensortools.py} +2 -20
  136. pyvale/sensorsim/simtools.py +174 -0
  137. pyvale/{visualexpplotter.py → sensorsim/visualexpplotter.py} +3 -3
  138. pyvale/{visualimages.py → sensorsim/visualimages.py} +2 -2
  139. pyvale/{visualsimanimator.py → sensorsim/visualsimanimator.py} +4 -4
  140. pyvale/{visualsimplotter.py → sensorsim/visualsimplotter.py} +5 -5
  141. pyvale/{visualsimsensors.py → sensorsim/visualsimsensors.py} +12 -12
  142. pyvale/{visualtools.py → sensorsim/visualtools.py} +1 -1
  143. pyvale/{visualtraceplotter.py → sensorsim/visualtraceplotter.py} +2 -2
  144. pyvale/simcases/case17.geo +3 -0
  145. pyvale/simcases/case17.i +4 -4
  146. pyvale/simcases/run_1case.py +1 -9
  147. pyvale/simcases/run_all_cases.py +1 -1
  148. pyvale/simcases/run_build_case.py +1 -1
  149. pyvale/simcases/run_example_cases.py +1 -1
  150. pyvale/verif/__init__.py +12 -0
  151. pyvale/{analyticsimdatafactory.py → verif/analyticsimdatafactory.py} +2 -2
  152. pyvale/{analyticsimdatagenerator.py → verif/analyticsimdatagenerator.py} +2 -2
  153. pyvale/verif/psens.py +125 -0
  154. pyvale/verif/psensconst.py +18 -0
  155. pyvale/verif/psensmech.py +227 -0
  156. pyvale/verif/psensmultiphys.py +187 -0
  157. pyvale/verif/psensscalar.py +347 -0
  158. pyvale/verif/psenstensor.py +123 -0
  159. pyvale/verif/psensvector.py +116 -0
  160. {pyvale-2025.7.1.dist-info → pyvale-2025.8.1.dist-info}/METADATA +6 -7
  161. pyvale-2025.8.1.dist-info/RECORD +260 -0
  162. pyvale/dataset.py +0 -415
  163. pyvale/dic2dcpp.cp311-win_amd64.pyd +0 -0
  164. pyvale/dicdataimport.py +0 -247
  165. pyvale/simtools.py +0 -67
  166. pyvale-2025.7.1.dist-info/RECORD +0 -211
  167. /pyvale/{blendercalibrationdata.py → blender/blendercalibrationdata.py} +0 -0
  168. /pyvale/{dicspecklegenerator.py → dic/dicspecklegenerator.py} +0 -0
  169. /pyvale/{dicspecklequality.py → dic/dicspecklequality.py} +0 -0
  170. /pyvale/{dicstrainresults.py → dic/dicstrainresults.py} +0 -0
  171. /pyvale/{cameradata.py → sensorsim/cameradata.py} +0 -0
  172. /pyvale/{cameradata2d.py → sensorsim/cameradata2d.py} +0 -0
  173. /pyvale/{errordriftcalc.py → sensorsim/errordriftcalc.py} +0 -0
  174. /pyvale/{fieldtransform.py → sensorsim/fieldtransform.py} +0 -0
  175. /pyvale/{generatorsrandom.py → sensorsim/generatorsrandom.py} +0 -0
  176. /pyvale/{imagetools.py → sensorsim/imagetools.py} +0 -0
  177. /pyvale/{integratortype.py → sensorsim/integratortype.py} +0 -0
  178. /pyvale/{output.py → sensorsim/output.py} +0 -0
  179. /pyvale/{raster.py → sensorsim/raster.py} +0 -0
  180. /pyvale/{sensordescriptor.py → sensorsim/sensordescriptor.py} +0 -0
  181. /pyvale/{visualimagedef.py → sensorsim/visualimagedef.py} +0 -0
  182. /pyvale/{visualopts.py → sensorsim/visualopts.py} +0 -0
  183. /pyvale/{analyticmeshgen.py → verif/analyticmeshgen.py} +0 -0
  184. {pyvale-2025.7.1.dist-info → pyvale-2025.8.1.dist-info}/WHEEL +0 -0
  185. {pyvale-2025.7.1.dist-info → pyvale-2025.8.1.dist-info}/licenses/LICENSE +0 -0
  186. {pyvale-2025.7.1.dist-info → pyvale-2025.8.1.dist-info}/top_level.txt +0 -0
@@ -11,14 +11,14 @@
11
11
  "/openmp"
12
12
  ],
13
13
  "include_dirs": [
14
- "C:\\Users\\runneradmin\\AppData\\Local\\Temp\\pip-build-env-i22htsz9\\overlay\\Lib\\site-packages\\numpy\\core\\include"
14
+ "C:\\Users\\runneradmin\\AppData\\Local\\Temp\\pip-build-env-df64bddx\\overlay\\Lib\\site-packages\\numpy\\core\\include"
15
15
  ],
16
- "name": "pyvale.cython.rastercyth",
16
+ "name": "pyvale.sensorsim.cython.rastercyth",
17
17
  "sources": [
18
- "src/pyvale/cython/rastercyth.py"
18
+ "src/pyvale/sensorsim/cython/rastercyth.py"
19
19
  ]
20
20
  },
21
- "module_name": "pyvale.cython.rastercyth"
21
+ "module_name": "pyvale.sensorsim.cython.rastercyth"
22
22
  }
23
23
  END: Cython Metadata */
24
24
 
@@ -1134,8 +1134,8 @@ static CYTHON_INLINE float __PYX_NAN() {
1134
1134
  #endif
1135
1135
  #endif
1136
1136
 
1137
- #define __PYX_HAVE__pyvale__cython__rastercyth
1138
- #define __PYX_HAVE_API__pyvale__cython__rastercyth
1137
+ #define __PYX_HAVE__pyvale__sensorsim__cython__rastercyth
1138
+ #define __PYX_HAVE_API__pyvale__sensorsim__cython__rastercyth
1139
1139
  /* Early includes */
1140
1140
  #include <math.h>
1141
1141
  #include "pythread.h"
@@ -1348,7 +1348,7 @@ static const char *__pyx_filename;
1348
1348
  /* #### Code section: filename_table ### */
1349
1349
 
1350
1350
  static const char* const __pyx_f[] = {
1351
- "src/pyvale/cython/rastercyth.py",
1351
+ "src/pyvale/sensorsim/cython/rastercyth.py",
1352
1352
  "<stringsource>",
1353
1353
  };
1354
1354
  /* #### Code section: utility_code_proto_before_types ### */
@@ -2774,7 +2774,7 @@ static PyObject *__pyx_memoryviewslice__get_base(struct __pyx_memoryviewslice_ob
2774
2774
 
2775
2775
  /* Module declarations from "libc.math" */
2776
2776
 
2777
- /* Module declarations from "pyvale.cython.rastercyth" */
2777
+ /* Module declarations from "pyvale.sensorsim.cython.rastercyth" */
2778
2778
  static PyObject *__pyx_collections_abc_Sequence = 0;
2779
2779
  static PyObject *generic = 0;
2780
2780
  static PyObject *strided = 0;
@@ -2783,20 +2783,20 @@ static PyObject *contiguous = 0;
2783
2783
  static PyObject *indirect_contiguous = 0;
2784
2784
  static int __pyx_memoryview_thread_locks_used;
2785
2785
  static PyThread_type_lock __pyx_memoryview_thread_locks[8];
2786
- static CYTHON_INLINE size_t __pyx_f_6pyvale_6cython_10rastercyth_range_len_double(double, double, double); /*proto*/
2787
- static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_max_double(__Pyx_memviewslice); /*proto*/
2788
- static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_min_double(__Pyx_memviewslice); /*proto*/
2789
- static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(__Pyx_memviewslice, __Pyx_memviewslice); /*proto*/
2790
- static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_min(double); /*proto*/
2791
- static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_max(double, int); /*proto*/
2792
- static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mult_mat44_by_vec3(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice); /*proto*/
2793
- static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_coords(__Pyx_memviewslice, __Pyx_memviewslice, double, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice); /*proto*/
2794
- static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_edge_function(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice); /*proto*/
2795
- static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__Pyx_memviewslice, int, int __pyx_skip_dispatch); /*proto*/
2796
- static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslice, int, __Pyx_memviewslice); /*proto*/
2797
- static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, PyObject *, int __pyx_skip_dispatch); /*proto*/
2798
- static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_deform_frame(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, PyObject *, __Pyx_memviewslice, int __pyx_skip_dispatch); /*proto*/
2799
- static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, double, int, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice); /*proto*/
2786
+ static CYTHON_INLINE size_t __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_range_len_double(double, double, double); /*proto*/
2787
+ static CYTHON_INLINE double __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_vec_max_double(__Pyx_memviewslice); /*proto*/
2788
+ static CYTHON_INLINE double __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_vec_min_double(__Pyx_memviewslice); /*proto*/
2789
+ static CYTHON_INLINE double __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_vec_dot_double(__Pyx_memviewslice, __Pyx_memviewslice); /*proto*/
2790
+ static CYTHON_INLINE int __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_bound_index_min(double); /*proto*/
2791
+ static CYTHON_INLINE int __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_bound_index_max(double, int); /*proto*/
2792
+ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_mult_mat44_by_vec3(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice); /*proto*/
2793
+ static __Pyx_memviewslice __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_world_to_raster_coords(__Pyx_memviewslice, __Pyx_memviewslice, double, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice); /*proto*/
2794
+ static CYTHON_INLINE double __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_edge_function(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice); /*proto*/
2795
+ static __Pyx_memviewslice __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_average_image(__Pyx_memviewslice, int, int __pyx_skip_dispatch); /*proto*/
2796
+ static int __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth__average_image(__Pyx_memviewslice, int, __Pyx_memviewslice); /*proto*/
2797
+ static PyObject *__pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_raster_static_frame(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, PyObject *, int __pyx_skip_dispatch); /*proto*/
2798
+ static PyObject *__pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_raster_deform_frame(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, PyObject *, __Pyx_memviewslice, int __pyx_skip_dispatch); /*proto*/
2799
+ static size_t __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth__raster_frame(__Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, double, int, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice, __Pyx_memviewslice); /*proto*/
2800
2800
  static int __pyx_array_allocate_buffer(struct __pyx_array_obj *); /*proto*/
2801
2801
  static struct __pyx_array_obj *__pyx_array_new(PyObject *, Py_ssize_t, char *, char const *, char *); /*proto*/
2802
2802
  static PyObject *__pyx_memoryview_new(PyObject *, int, int, __Pyx_TypeInfo const *); /*proto*/
@@ -2836,11 +2836,11 @@ static const __Pyx_TypeInfo __Pyx_TypeInfo_double = { "double", NULL, sizeof(dou
2836
2836
  static const __Pyx_TypeInfo __Pyx_TypeInfo_size_t = { "size_t", NULL, sizeof(size_t), { 0 }, 0, __PYX_IS_UNSIGNED(size_t) ? 'U' : 'I', __PYX_IS_UNSIGNED(size_t), 0 };
2837
2837
  static const __Pyx_TypeInfo __Pyx_TypeInfo_int = { "int", NULL, sizeof(int), { 0 }, 0, __PYX_IS_UNSIGNED(int) ? 'U' : 'I', __PYX_IS_UNSIGNED(int), 0 };
2838
2838
  /* #### Code section: before_global_var ### */
2839
- #define __Pyx_MODULE_NAME "pyvale.cython.rastercyth"
2840
- extern int __pyx_module_is_main_pyvale__cython__rastercyth;
2841
- int __pyx_module_is_main_pyvale__cython__rastercyth = 0;
2839
+ #define __Pyx_MODULE_NAME "pyvale.sensorsim.cython.rastercyth"
2840
+ extern int __pyx_module_is_main_pyvale__sensorsim__cython__rastercyth;
2841
+ int __pyx_module_is_main_pyvale__sensorsim__cython__rastercyth = 0;
2842
2842
 
2843
- /* Implementation of "pyvale.cython.rastercyth" */
2843
+ /* Implementation of "pyvale.sensorsim.cython.rastercyth" */
2844
2844
  /* #### Code section: global_var ### */
2845
2845
  static PyObject *__pyx_builtin_range;
2846
2846
  static PyObject *__pyx_builtin___import__;
@@ -2965,7 +2965,6 @@ static const char __pyx_k_dtype_is_object[] = "dtype_is_object";
2965
2965
  static const char __pyx_k_setstate_cython[] = "__setstate_cython__";
2966
2966
  static const char __pyx_k_fields_to_render[] = "fields_to_render";
2967
2967
  static const char __pyx_k_world_to_cam_mat[] = "world_to_cam_mat";
2968
- static const char __pyx_k_pyvale_cameradata[] = "pyvale.cameradata";
2969
2968
  static const char __pyx_k_pyx_unpickle_Enum[] = "__pyx_unpickle_Enum";
2970
2969
  static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines";
2971
2970
  static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
@@ -2977,16 +2976,15 @@ static const char __pyx_k_Invalid_shape_in_axis[] = "Invalid shape in axis ";
2977
2976
  static const char __pyx_k_contiguous_and_direct[] = "<contiguous and direct>";
2978
2977
  static const char __pyx_k_Cannot_index_with_type[] = "Cannot index with type '";
2979
2978
  static const char __pyx_k_contiguous_and_indirect[] = "<contiguous and indirect>";
2980
- static const char __pyx_k_pyvale_cython_rastercyth[] = "pyvale.cython.rastercyth";
2981
2979
  static const char __pyx_k_Dimension_d_is_not_direct[] = "Dimension %d is not direct";
2982
2980
  static const char __pyx_k_Index_out_of_bounds_axis_d[] = "Index out of bounds (axis %d)";
2983
2981
  static const char __pyx_k_Step_may_not_be_zero_axis_d[] = "Step may not be zero (axis %d)";
2984
2982
  static const char __pyx_k_itemsize_0_for_cython_array[] = "itemsize <= 0 for cython.array";
2983
+ static const char __pyx_k_pyvale_sensorsim_cameradata[] = "pyvale.sensorsim.cameradata";
2985
2984
  static const char __pyx_k_unable_to_allocate_array_data[] = "unable to allocate array data.";
2986
- static const char __pyx_k_81_81_81_G6_0_aq_Jar_Jar_r_1Cz[] = "\200\001\360\010\000!\"\330!\"\330*+\330\"#\360\010\000\005,\2508\2601\330\004 \240\010\250\001\330\004#\2408\2501\330\004 \240\010\250\001\330\004\033\2308\2401\340\004$\240G\2506\260\021\260!\330\004 \320 0\260\006\260a\260q\330\004\034\230J\240a\240r\250\021\250!\330\004\034\230J\240a\240r\250\021\250!\360\010\000\005\031\230\002\230%\230r\240\032\2501\250C\250z\270\021\270#\270\\\310\024\310V\320SU\320UV\330\004+\2501\340\004\030\230\002\230%\230r\240\032\2501\250C\250z\270\021\270$\270d\300&\310\002\310!\330\004)\250\021\360\010\000\005\027\220b\230\005\230R\230z\250\033\260F\270&\300\002\300!\330\004+\2501\340\004\026\220b\230\005\230R\230z\250\032\260<\270t\3006\310\022\3101\330\004-\250Q\360\006\000\005\027\220b\230\006\230b\240\017\250s\260&\270\002\270!\330\004,\250A\340\004\026\220b\230\006\230b\320 1\260\026\260r\270\021\330\004*\250!\340\004\021\220\022\2206\230\022\320\033,\250B\250a\330\004%\240Q\360\006\000\005\023\220\"\220F\230\"\230D\240\002\240!\330\004&\240a\360\n\000\005%\240M\260\021\260&\270\001\33007\260q\3300@\300\001\3300@\300\001\3300:\270!\3300:\270!\33001\33001\3300>\270a\3300>\270a\3300@\300\001\3300@\300\001\3300A\300\021\3300A\300\021\3300=\270Q\3300<\270A\340\004\014\320\014\036\320\0360\260\001";
2985
+ static const char __pyx_k_81_81_81_G6_0_aq_Jar_Jar_r_1Cz[] = "\200\001\360\010\000!\"\330!\"\330*+\330\"#\360\010\000\005,\2508\2601\330\004 \240\010\250\001\330\004#\2408\2501\330\004 \240\010\250\001\330\004\033\2308\2401\340\004$\240G\2506\260\021\260!\330\004 \320 0\260\006\260a\260q\330\004\034\230J\240a\240r\250\021\250!\330\004\034\230J\240a\240r\250\021\250!\360\010\000\005\031\230\002\230%\230r\240\032\2501\250C\250z\270\021\270#\270\\\310\024\310V\320SU\320UV\330\004+\2501\340\004\030\230\002\230%\230r\240\032\2501\250C\250z\270\021\270$\270d\300&\310\002\310!\330\004)\250\021\360\010\000\005\027\220b\230\005\230R\230z\250\033\260F\270&\300\002\300!\330\004+\2501\340\004\026\220b\230\005\230R\230z\250\032\260<\270t\3006\310\022\3101\330\004-\250Q\360\006\000\005\027\220b\230\006\230b\240\017\250s\260&\270\002\270!\330\004,\250A\340\004\026\220b\230\006\230b\320 1\260\026\260r\270\021\330\004*\250!\340\004\021\220\022\2206\230\022\320\033,\250B\250a\330\004%\240Q\360\006\000\005\023\220\"\220F\230\"\230D\240\002\240!\330\004&\240a\360\010\000\005%\240M\260\021\260&\270\001\33029\270\021\3302B\300!\3302B\300!\3302<\270A\3302<\270A\33023\33023\3302@\300\001\3302@\300\001\3302B\300!\3302B\300!\3302C\3001\3302C\3001\3302?\270q\3302>\270a\340\004\014\320\014\036\320\0360\260\001";
2987
2986
  static const char __pyx_k_strided_and_direct_or_indirect[] = "<strided and direct or indirect>";
2988
2987
  static const char __pyx_k_NOTE_this_module_is_a_feature_u[] = "\nNOTE: this module is a feature under developement.\n";
2989
- static const char __pyx_k_src_pyvale_cython_rastercyth_py[] = "src/pyvale/cython/rastercyth.py";
2990
2988
  static const char __pyx_k_y_1_r_Q_c_a_1A_c_a_1A_r_D_b_F_1[] = "\200\001\360\010\000 !\330\034\035\360\006\000\005\010\200y\220\003\2201\330\010\017\210r\220\030\230\021\230+\240Q\340\004\036\230c\240\021\240$\240a\240{\260&\270\001\270\022\2701\270A\330\004\036\230c\240\021\240$\240a\240{\260&\270\001\270\022\2701\270A\340\004\030\230\002\230%\230r\240\031\250*\260D\270\006\270b\300\001\330\004)\250\021\340\004!\240\033\250F\260!\2601\330\004!\240\033\250F\260!\2601\330\004\"\240%\240q\250\010\260\001\260\021\330\004\035\230Q\340\004\036\230c\240\021\240+\250Q\250a\330\004\036\230c\240\021\240+\250Q\250a\340\004\034\230A\340\004\030\230\001\330\004\030\230\001\330\004\030\230\001\330\004\030\230\001\340\004\010\210\006\210e\2201\220A\330\010\014\210F\220%\220q\230\001\330\014\025\220Q\330\014\020\220\006\220e\2301\230A\330\020\024\220F\230%\230q\240\001\330\024\036\230k\250\021\250'\260\021\260\"\260A\260S\270\007\270q\300\002\300!\3001\340\014\032\230!\2303\230f\240G\2502\250Q\340\004\013\2101";
2991
2989
  static const char __pyx_k_All_dimensions_preceding_dimensi[] = "All dimensions preceding dimension %d must be indexed and not sliced";
2992
2990
  static const char __pyx_k_Buffer_view_does_not_expose_stri[] = "Buffer view does not expose strides";
@@ -3003,6 +3001,8 @@ static const char __pyx_k_Out_of_bounds_on_buffer_access_a[] = "Out of bounds on
3003
3001
  static const char __pyx_k_Unable_to_convert_item_to_object[] = "Unable to convert item to object";
3004
3002
  static const char __pyx_k_got_differing_extents_in_dimensi[] = "got differing extents in dimension ";
3005
3003
  static const char __pyx_k_no_default___reduce___due_to_non[] = "no default __reduce__ due to non-trivial __cinit__";
3004
+ static const char __pyx_k_pyvale_sensorsim_cython_rastercy[] = "pyvale.sensorsim.cython.rastercyth";
3005
+ static const char __pyx_k_src_pyvale_sensorsim_cython_rast[] = "src/pyvale/sensorsim/cython/rastercyth.py";
3006
3006
  static const char __pyx_k_unable_to_allocate_shape_and_str[] = "unable to allocate shape and strides.";
3007
3007
  /* #### Code section: decls ### */
3008
3008
  static int __pyx_array___pyx_pf_15View_dot_MemoryView_5array___cinit__(struct __pyx_array_obj *__pyx_v_self, PyObject *__pyx_v_shape, Py_ssize_t __pyx_v_itemsize, PyObject *__pyx_v_format, PyObject *__pyx_v_mode, int __pyx_v_allocate_buffer); /* proto */
@@ -3046,9 +3046,9 @@ static void __pyx_memoryviewslice___pyx_pf_15View_dot_MemoryView_16_memoryviewsl
3046
3046
  static PyObject *__pyx_pf___pyx_memoryviewslice___reduce_cython__(CYTHON_UNUSED struct __pyx_memoryviewslice_obj *__pyx_v_self); /* proto */
3047
3047
  static PyObject *__pyx_pf___pyx_memoryviewslice_2__setstate_cython__(CYTHON_UNUSED struct __pyx_memoryviewslice_obj *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v___pyx_state); /* proto */
3048
3048
  static PyObject *__pyx_pf_15View_dot_MemoryView___pyx_unpickle_Enum(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v___pyx_type, long __pyx_v___pyx_checksum, PyObject *__pyx_v___pyx_state); /* proto */
3049
- static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_average_image(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_image_subpx, int __pyx_v_sub_samp); /* proto */
3050
- static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_2raster_static_frame(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_coords, __Pyx_memviewslice __pyx_v_connect, __Pyx_memviewslice __pyx_v_fields_to_render, PyObject *__pyx_v_cam_data); /* proto */
3051
- static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_4raster_deform_frame(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_coords, __Pyx_memviewslice __pyx_v_connect, __Pyx_memviewslice __pyx_v_fields_to_render, PyObject *__pyx_v_cam_data, __Pyx_memviewslice __pyx_v_field_disp); /* proto */
3049
+ static PyObject *__pyx_pf_6pyvale_9sensorsim_6cython_10rastercyth_average_image(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_image_subpx, int __pyx_v_sub_samp); /* proto */
3050
+ static PyObject *__pyx_pf_6pyvale_9sensorsim_6cython_10rastercyth_2raster_static_frame(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_coords, __Pyx_memviewslice __pyx_v_connect, __Pyx_memviewslice __pyx_v_fields_to_render, PyObject *__pyx_v_cam_data); /* proto */
3051
+ static PyObject *__pyx_pf_6pyvale_9sensorsim_6cython_10rastercyth_4raster_deform_frame(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_coords, __Pyx_memviewslice __pyx_v_connect, __Pyx_memviewslice __pyx_v_fields_to_render, PyObject *__pyx_v_cam_data, __Pyx_memviewslice __pyx_v_field_disp); /* proto */
3052
3052
  static PyObject *__pyx_tp_new_array(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3053
3053
  static PyObject *__pyx_tp_new_Enum(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
3054
3054
  static PyObject *__pyx_tp_new_memoryview(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
@@ -3260,8 +3260,8 @@ static __pyx_mstatetype * const __pyx_mstate_global = &__pyx_mstate_global_stati
3260
3260
  #define __pyx_n_u_pickle __pyx_string_tab[106]
3261
3261
  #define __pyx_n_u_pixels_num __pyx_string_tab[107]
3262
3262
  #define __pyx_n_u_pop __pyx_string_tab[108]
3263
- #define __pyx_n_u_pyvale_cameradata __pyx_string_tab[109]
3264
- #define __pyx_n_u_pyvale_cython_rastercyth __pyx_string_tab[110]
3263
+ #define __pyx_n_u_pyvale_sensorsim_cameradata __pyx_string_tab[109]
3264
+ #define __pyx_n_u_pyvale_sensorsim_cython_rastercy __pyx_string_tab[110]
3265
3265
  #define __pyx_n_u_pyx_checksum __pyx_string_tab[111]
3266
3266
  #define __pyx_n_u_pyx_state __pyx_string_tab[112]
3267
3267
  #define __pyx_n_u_pyx_type __pyx_string_tab[113]
@@ -3281,7 +3281,7 @@ static __pyx_mstatetype * const __pyx_mstate_global = &__pyx_mstate_global_stati
3281
3281
  #define __pyx_n_u_shape __pyx_string_tab[127]
3282
3282
  #define __pyx_n_u_size __pyx_string_tab[128]
3283
3283
  #define __pyx_n_u_spec __pyx_string_tab[129]
3284
- #define __pyx_kp_u_src_pyvale_cython_rastercyth_py __pyx_string_tab[130]
3284
+ #define __pyx_kp_u_src_pyvale_sensorsim_cython_rast __pyx_string_tab[130]
3285
3285
  #define __pyx_n_u_start __pyx_string_tab[131]
3286
3286
  #define __pyx_n_u_step __pyx_string_tab[132]
3287
3287
  #define __pyx_n_u_stop __pyx_string_tab[133]
@@ -16749,7 +16749,7 @@ static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *__
16749
16749
  return __pyx_r;
16750
16750
  }
16751
16751
 
16752
- /* "pyvale/cython/rastercyth.py":19
16752
+ /* "pyvale/sensorsim/cython/rastercyth.py":19
16753
16753
  * # NOTE: This module is a feature under developement.
16754
16754
  *
16755
16755
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -16757,10 +16757,10 @@ static PyObject *__pyx_unpickle_Enum__set_state(struct __pyx_MemviewEnum_obj *__
16757
16757
  * @cython.boundscheck(False) # Turn off array bounds checking
16758
16758
  */
16759
16759
 
16760
- static CYTHON_INLINE size_t __pyx_f_6pyvale_6cython_10rastercyth_range_len_double(double __pyx_v_start, double __pyx_v_stop, double __pyx_v_step) {
16760
+ static CYTHON_INLINE size_t __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_range_len_double(double __pyx_v_start, double __pyx_v_stop, double __pyx_v_step) {
16761
16761
  size_t __pyx_r;
16762
16762
 
16763
- /* "pyvale/cython/rastercyth.py":29
16763
+ /* "pyvale/sensorsim/cython/rastercyth.py":29
16764
16764
  * stop: cython.double,
16765
16765
  * step: cython.double) -> cython.size_t:
16766
16766
  * return int(ceil((stop - start) / step)) # <<<<<<<<<<<<<<
@@ -16770,7 +16770,7 @@ static CYTHON_INLINE size_t __pyx_f_6pyvale_6cython_10rastercyth_range_len_doubl
16770
16770
  __pyx_r = ((size_t)ceil(((__pyx_v_stop - __pyx_v_start) / __pyx_v_step)));
16771
16771
  goto __pyx_L0;
16772
16772
 
16773
- /* "pyvale/cython/rastercyth.py":19
16773
+ /* "pyvale/sensorsim/cython/rastercyth.py":19
16774
16774
  * # NOTE: This module is a feature under developement.
16775
16775
  *
16776
16776
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -16783,7 +16783,7 @@ static CYTHON_INLINE size_t __pyx_f_6pyvale_6cython_10rastercyth_range_len_doubl
16783
16783
  return __pyx_r;
16784
16784
  }
16785
16785
 
16786
- /* "pyvale/cython/rastercyth.py":32
16786
+ /* "pyvale/sensorsim/cython/rastercyth.py":32
16787
16787
  *
16788
16788
  *
16789
16789
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -16791,7 +16791,7 @@ static CYTHON_INLINE size_t __pyx_f_6pyvale_6cython_10rastercyth_range_len_doubl
16791
16791
  * @cython.boundscheck(False) # Turn off array bounds checking
16792
16792
  */
16793
16793
 
16794
- static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_vec_range_int(int __pyx_v_start, int __pyx_v_stop, int __pyx_v_step, __Pyx_memviewslice __pyx_v_vec_buffer) {
16794
+ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_vec_range_int(int __pyx_v_start, int __pyx_v_stop, int __pyx_v_step, __Pyx_memviewslice __pyx_v_vec_buffer) {
16795
16795
  size_t __pyx_v_num_vals;
16796
16796
  size_t __pyx_v_ii;
16797
16797
  __Pyx_memviewslice __pyx_r = { 0, 0, { 0 }, { 0 }, { 0 } };
@@ -16808,7 +16808,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_vec
16808
16808
  int __pyx_clineno = 0;
16809
16809
  PyGILState_STATE __pyx_gilstate_save;
16810
16810
 
16811
- /* "pyvale/cython/rastercyth.py":44
16811
+ /* "pyvale/sensorsim/cython/rastercyth.py":44
16812
16812
  * vec_buffer: cython.long[:]) -> cython.long[:]:
16813
16813
  *
16814
16814
  * num_vals: cython.size_t = int(ceil((stop - start) / step)) # <<<<<<<<<<<<<<
@@ -16817,7 +16817,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_vec
16817
16817
  */
16818
16818
  __pyx_v_num_vals = ((size_t)ceil(((__pyx_v_stop - __pyx_v_start) / __pyx_v_step)));
16819
16819
 
16820
- /* "pyvale/cython/rastercyth.py":46
16820
+ /* "pyvale/sensorsim/cython/rastercyth.py":46
16821
16821
  * num_vals: cython.size_t = int(ceil((stop - start) / step))
16822
16822
  *
16823
16823
  * vec_buffer[0] = start # <<<<<<<<<<<<<<
@@ -16827,7 +16827,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_vec
16827
16827
  __pyx_t_1 = 0;
16828
16828
  *((long *) ( /* dim=0 */ (__pyx_v_vec_buffer.data + __pyx_t_1 * __pyx_v_vec_buffer.strides[0]) )) = __pyx_v_start;
16829
16829
 
16830
- /* "pyvale/cython/rastercyth.py":48
16830
+ /* "pyvale/sensorsim/cython/rastercyth.py":48
16831
16831
  * vec_buffer[0] = start
16832
16832
  * ii: cython.size_t
16833
16833
  * for ii in range(1,num_vals): # <<<<<<<<<<<<<<
@@ -16839,7 +16839,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_vec
16839
16839
  for (__pyx_t_4 = 1; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
16840
16840
  __pyx_v_ii = __pyx_t_4;
16841
16841
 
16842
- /* "pyvale/cython/rastercyth.py":49
16842
+ /* "pyvale/sensorsim/cython/rastercyth.py":49
16843
16843
  * ii: cython.size_t
16844
16844
  * for ii in range(1,num_vals):
16845
16845
  * vec_buffer[ii] = vec_buffer[ii-1] + step # <<<<<<<<<<<<<<
@@ -16851,7 +16851,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_vec
16851
16851
  *((long *) ( /* dim=0 */ (__pyx_v_vec_buffer.data + __pyx_t_6 * __pyx_v_vec_buffer.strides[0]) )) = ((*((long *) ( /* dim=0 */ (__pyx_v_vec_buffer.data + __pyx_t_5 * __pyx_v_vec_buffer.strides[0]) ))) + __pyx_v_step);
16852
16852
  }
16853
16853
 
16854
- /* "pyvale/cython/rastercyth.py":51
16854
+ /* "pyvale/sensorsim/cython/rastercyth.py":51
16855
16855
  * vec_buffer[ii] = vec_buffer[ii-1] + step
16856
16856
  *
16857
16857
  * return vec_buffer[0:num_vals] # <<<<<<<<<<<<<<
@@ -16884,7 +16884,7 @@ __pyx_r = __pyx_t_7;
16884
16884
  __pyx_t_7.data = NULL;
16885
16885
  goto __pyx_L0;
16886
16886
 
16887
- /* "pyvale/cython/rastercyth.py":32
16887
+ /* "pyvale/sensorsim/cython/rastercyth.py":32
16888
16888
  *
16889
16889
  *
16890
16890
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -16898,7 +16898,7 @@ __pyx_r = __pyx_t_7;
16898
16898
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_7, 1);
16899
16899
  __pyx_r.data = NULL;
16900
16900
  __pyx_r.memview = NULL;
16901
- __Pyx_AddTraceback("pyvale.cython.rastercyth.vec_range_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
16901
+ __Pyx_AddTraceback("pyvale.sensorsim.cython.rastercyth.vec_range_int", __pyx_clineno, __pyx_lineno, __pyx_filename);
16902
16902
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
16903
16903
  goto __pyx_L2;
16904
16904
  __pyx_L0:;
@@ -16911,7 +16911,7 @@ __pyx_r = __pyx_t_7;
16911
16911
  return __pyx_r;
16912
16912
  }
16913
16913
 
16914
- /* "pyvale/cython/rastercyth.py":54
16914
+ /* "pyvale/sensorsim/cython/rastercyth.py":54
16915
16915
  *
16916
16916
  *
16917
16917
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -16919,7 +16919,7 @@ __pyx_r = __pyx_t_7;
16919
16919
  * @cython.boundscheck(False) # Turn off array bounds checking
16920
16920
  */
16921
16921
 
16922
- static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_max_double(__Pyx_memviewslice __pyx_v_vals) {
16922
+ static CYTHON_INLINE double __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_vec_max_double(__Pyx_memviewslice __pyx_v_vals) {
16923
16923
  size_t __pyx_v_num_vals;
16924
16924
  size_t __pyx_v_ii;
16925
16925
  double __pyx_v_max_val;
@@ -16930,7 +16930,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_max_double(
16930
16930
  size_t __pyx_t_4;
16931
16931
  int __pyx_t_5;
16932
16932
 
16933
- /* "pyvale/cython/rastercyth.py":63
16933
+ /* "pyvale/sensorsim/cython/rastercyth.py":63
16934
16934
  * def vec_max_double(vals: cython.double[:]) -> cython.double:
16935
16935
  *
16936
16936
  * num_vals: cython.size_t = vals.shape[0] # <<<<<<<<<<<<<<
@@ -16939,7 +16939,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_max_double(
16939
16939
  */
16940
16940
  __pyx_v_num_vals = (__pyx_v_vals.shape[0]);
16941
16941
 
16942
- /* "pyvale/cython/rastercyth.py":65
16942
+ /* "pyvale/sensorsim/cython/rastercyth.py":65
16943
16943
  * num_vals: cython.size_t = vals.shape[0]
16944
16944
  *
16945
16945
  * ii: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -16948,7 +16948,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_max_double(
16948
16948
  */
16949
16949
  __pyx_v_ii = 0;
16950
16950
 
16951
- /* "pyvale/cython/rastercyth.py":66
16951
+ /* "pyvale/sensorsim/cython/rastercyth.py":66
16952
16952
  *
16953
16953
  * ii: cython.size_t = 0
16954
16954
  * max_val: cython.double = vals[ii] # <<<<<<<<<<<<<<
@@ -16958,7 +16958,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_max_double(
16958
16958
  __pyx_t_1 = __pyx_v_ii;
16959
16959
  __pyx_v_max_val = (*((double *) ( /* dim=0 */ (__pyx_v_vals.data + __pyx_t_1 * __pyx_v_vals.strides[0]) )));
16960
16960
 
16961
- /* "pyvale/cython/rastercyth.py":68
16961
+ /* "pyvale/sensorsim/cython/rastercyth.py":68
16962
16962
  * max_val: cython.double = vals[ii]
16963
16963
  *
16964
16964
  * for ii in range(1,num_vals): # <<<<<<<<<<<<<<
@@ -16970,7 +16970,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_max_double(
16970
16970
  for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
16971
16971
  __pyx_v_ii = __pyx_t_3;
16972
16972
 
16973
- /* "pyvale/cython/rastercyth.py":69
16973
+ /* "pyvale/sensorsim/cython/rastercyth.py":69
16974
16974
  *
16975
16975
  * for ii in range(1,num_vals):
16976
16976
  * if vals[ii] > max_val: # <<<<<<<<<<<<<<
@@ -16981,7 +16981,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_max_double(
16981
16981
  __pyx_t_5 = ((*((double *) ( /* dim=0 */ (__pyx_v_vals.data + __pyx_t_4 * __pyx_v_vals.strides[0]) ))) > __pyx_v_max_val);
16982
16982
  if (__pyx_t_5) {
16983
16983
 
16984
- /* "pyvale/cython/rastercyth.py":70
16984
+ /* "pyvale/sensorsim/cython/rastercyth.py":70
16985
16985
  * for ii in range(1,num_vals):
16986
16986
  * if vals[ii] > max_val:
16987
16987
  * max_val = vals[ii] # <<<<<<<<<<<<<<
@@ -16991,7 +16991,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_max_double(
16991
16991
  __pyx_t_4 = __pyx_v_ii;
16992
16992
  __pyx_v_max_val = (*((double *) ( /* dim=0 */ (__pyx_v_vals.data + __pyx_t_4 * __pyx_v_vals.strides[0]) )));
16993
16993
 
16994
- /* "pyvale/cython/rastercyth.py":69
16994
+ /* "pyvale/sensorsim/cython/rastercyth.py":69
16995
16995
  *
16996
16996
  * for ii in range(1,num_vals):
16997
16997
  * if vals[ii] > max_val: # <<<<<<<<<<<<<<
@@ -17001,7 +17001,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_max_double(
17001
17001
  }
17002
17002
  }
17003
17003
 
17004
- /* "pyvale/cython/rastercyth.py":72
17004
+ /* "pyvale/sensorsim/cython/rastercyth.py":72
17005
17005
  * max_val = vals[ii]
17006
17006
  *
17007
17007
  * return max_val # <<<<<<<<<<<<<<
@@ -17011,7 +17011,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_max_double(
17011
17011
  __pyx_r = __pyx_v_max_val;
17012
17012
  goto __pyx_L0;
17013
17013
 
17014
- /* "pyvale/cython/rastercyth.py":54
17014
+ /* "pyvale/sensorsim/cython/rastercyth.py":54
17015
17015
  *
17016
17016
  *
17017
17017
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -17024,7 +17024,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_max_double(
17024
17024
  return __pyx_r;
17025
17025
  }
17026
17026
 
17027
- /* "pyvale/cython/rastercyth.py":75
17027
+ /* "pyvale/sensorsim/cython/rastercyth.py":75
17028
17028
  *
17029
17029
  *
17030
17030
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -17032,7 +17032,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_max_double(
17032
17032
  * @cython.boundscheck(False) # Turn off array bounds checking
17033
17033
  */
17034
17034
 
17035
- static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_min_double(__Pyx_memviewslice __pyx_v_vals) {
17035
+ static CYTHON_INLINE double __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_vec_min_double(__Pyx_memviewslice __pyx_v_vals) {
17036
17036
  size_t __pyx_v_num_vals;
17037
17037
  size_t __pyx_v_ii;
17038
17038
  double __pyx_v_min_val;
@@ -17043,7 +17043,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_min_double(
17043
17043
  size_t __pyx_t_4;
17044
17044
  int __pyx_t_5;
17045
17045
 
17046
- /* "pyvale/cython/rastercyth.py":84
17046
+ /* "pyvale/sensorsim/cython/rastercyth.py":84
17047
17047
  * def vec_min_double(vals: cython.double[:]) -> cython.double:
17048
17048
  *
17049
17049
  * num_vals: cython.size_t = vals.shape[0] # <<<<<<<<<<<<<<
@@ -17052,7 +17052,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_min_double(
17052
17052
  */
17053
17053
  __pyx_v_num_vals = (__pyx_v_vals.shape[0]);
17054
17054
 
17055
- /* "pyvale/cython/rastercyth.py":86
17055
+ /* "pyvale/sensorsim/cython/rastercyth.py":86
17056
17056
  * num_vals: cython.size_t = vals.shape[0]
17057
17057
  *
17058
17058
  * ii: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -17061,7 +17061,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_min_double(
17061
17061
  */
17062
17062
  __pyx_v_ii = 0;
17063
17063
 
17064
- /* "pyvale/cython/rastercyth.py":87
17064
+ /* "pyvale/sensorsim/cython/rastercyth.py":87
17065
17065
  *
17066
17066
  * ii: cython.size_t = 0
17067
17067
  * min_val: cython.double = vals[ii] # <<<<<<<<<<<<<<
@@ -17071,7 +17071,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_min_double(
17071
17071
  __pyx_t_1 = __pyx_v_ii;
17072
17072
  __pyx_v_min_val = (*((double *) ( /* dim=0 */ (__pyx_v_vals.data + __pyx_t_1 * __pyx_v_vals.strides[0]) )));
17073
17073
 
17074
- /* "pyvale/cython/rastercyth.py":89
17074
+ /* "pyvale/sensorsim/cython/rastercyth.py":89
17075
17075
  * min_val: cython.double = vals[ii]
17076
17076
  *
17077
17077
  * for ii in range(1,num_vals): # <<<<<<<<<<<<<<
@@ -17083,7 +17083,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_min_double(
17083
17083
  for (__pyx_t_3 = 1; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
17084
17084
  __pyx_v_ii = __pyx_t_3;
17085
17085
 
17086
- /* "pyvale/cython/rastercyth.py":90
17086
+ /* "pyvale/sensorsim/cython/rastercyth.py":90
17087
17087
  *
17088
17088
  * for ii in range(1,num_vals):
17089
17089
  * if vals[ii] < min_val: # <<<<<<<<<<<<<<
@@ -17094,7 +17094,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_min_double(
17094
17094
  __pyx_t_5 = ((*((double *) ( /* dim=0 */ (__pyx_v_vals.data + __pyx_t_4 * __pyx_v_vals.strides[0]) ))) < __pyx_v_min_val);
17095
17095
  if (__pyx_t_5) {
17096
17096
 
17097
- /* "pyvale/cython/rastercyth.py":91
17097
+ /* "pyvale/sensorsim/cython/rastercyth.py":91
17098
17098
  * for ii in range(1,num_vals):
17099
17099
  * if vals[ii] < min_val:
17100
17100
  * min_val = vals[ii] # <<<<<<<<<<<<<<
@@ -17104,7 +17104,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_min_double(
17104
17104
  __pyx_t_4 = __pyx_v_ii;
17105
17105
  __pyx_v_min_val = (*((double *) ( /* dim=0 */ (__pyx_v_vals.data + __pyx_t_4 * __pyx_v_vals.strides[0]) )));
17106
17106
 
17107
- /* "pyvale/cython/rastercyth.py":90
17107
+ /* "pyvale/sensorsim/cython/rastercyth.py":90
17108
17108
  *
17109
17109
  * for ii in range(1,num_vals):
17110
17110
  * if vals[ii] < min_val: # <<<<<<<<<<<<<<
@@ -17114,7 +17114,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_min_double(
17114
17114
  }
17115
17115
  }
17116
17116
 
17117
- /* "pyvale/cython/rastercyth.py":93
17117
+ /* "pyvale/sensorsim/cython/rastercyth.py":93
17118
17118
  * min_val = vals[ii]
17119
17119
  *
17120
17120
  * return min_val # <<<<<<<<<<<<<<
@@ -17124,7 +17124,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_min_double(
17124
17124
  __pyx_r = __pyx_v_min_val;
17125
17125
  goto __pyx_L0;
17126
17126
 
17127
- /* "pyvale/cython/rastercyth.py":75
17127
+ /* "pyvale/sensorsim/cython/rastercyth.py":75
17128
17128
  *
17129
17129
  *
17130
17130
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -17137,7 +17137,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_min_double(
17137
17137
  return __pyx_r;
17138
17138
  }
17139
17139
 
17140
- /* "pyvale/cython/rastercyth.py":96
17140
+ /* "pyvale/sensorsim/cython/rastercyth.py":96
17141
17141
  *
17142
17142
  *
17143
17143
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -17145,7 +17145,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_min_double(
17145
17145
  * @cython.boundscheck(False) # Turn off array bounds checking
17146
17146
  */
17147
17147
 
17148
- static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(__Pyx_memviewslice __pyx_v_vec0, __Pyx_memviewslice __pyx_v_vec1) {
17148
+ static CYTHON_INLINE double __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_vec_dot_double(__Pyx_memviewslice __pyx_v_vec0, __Pyx_memviewslice __pyx_v_vec1) {
17149
17149
  size_t __pyx_v_vec0_len;
17150
17150
  size_t __pyx_v_vec1_len;
17151
17151
  size_t __pyx_v_ii;
@@ -17158,7 +17158,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(
17158
17158
  size_t __pyx_t_5;
17159
17159
  size_t __pyx_t_6;
17160
17160
 
17161
- /* "pyvale/cython/rastercyth.py":105
17161
+ /* "pyvale/sensorsim/cython/rastercyth.py":105
17162
17162
  * def vec_dot_double(vec0: cython.double[:], vec1: cython.double[:]
17163
17163
  * ) -> cython.double:
17164
17164
  * vec0_len: cython.size_t = vec0.shape[0] # <<<<<<<<<<<<<<
@@ -17167,7 +17167,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(
17167
17167
  */
17168
17168
  __pyx_v_vec0_len = (__pyx_v_vec0.shape[0]);
17169
17169
 
17170
- /* "pyvale/cython/rastercyth.py":106
17170
+ /* "pyvale/sensorsim/cython/rastercyth.py":106
17171
17171
  * ) -> cython.double:
17172
17172
  * vec0_len: cython.size_t = vec0.shape[0]
17173
17173
  * vec1_len: cython.size_t = vec1.shape[0] # <<<<<<<<<<<<<<
@@ -17176,7 +17176,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(
17176
17176
  */
17177
17177
  __pyx_v_vec1_len = (__pyx_v_vec1.shape[0]);
17178
17178
 
17179
- /* "pyvale/cython/rastercyth.py":107
17179
+ /* "pyvale/sensorsim/cython/rastercyth.py":107
17180
17180
  * vec0_len: cython.size_t = vec0.shape[0]
17181
17181
  * vec1_len: cython.size_t = vec1.shape[0]
17182
17182
  * if vec0_len != vec1_len: # <<<<<<<<<<<<<<
@@ -17186,7 +17186,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(
17186
17186
  __pyx_t_1 = (__pyx_v_vec0_len != __pyx_v_vec1_len);
17187
17187
  if (__pyx_t_1) {
17188
17188
 
17189
- /* "pyvale/cython/rastercyth.py":108
17189
+ /* "pyvale/sensorsim/cython/rastercyth.py":108
17190
17190
  * vec1_len: cython.size_t = vec1.shape[0]
17191
17191
  * if vec0_len != vec1_len:
17192
17192
  * return 0.0 # <<<<<<<<<<<<<<
@@ -17196,7 +17196,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(
17196
17196
  __pyx_r = 0.0;
17197
17197
  goto __pyx_L0;
17198
17198
 
17199
- /* "pyvale/cython/rastercyth.py":107
17199
+ /* "pyvale/sensorsim/cython/rastercyth.py":107
17200
17200
  * vec0_len: cython.size_t = vec0.shape[0]
17201
17201
  * vec1_len: cython.size_t = vec1.shape[0]
17202
17202
  * if vec0_len != vec1_len: # <<<<<<<<<<<<<<
@@ -17205,7 +17205,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(
17205
17205
  */
17206
17206
  }
17207
17207
 
17208
- /* "pyvale/cython/rastercyth.py":110
17208
+ /* "pyvale/sensorsim/cython/rastercyth.py":110
17209
17209
  * return 0.0
17210
17210
  *
17211
17211
  * ii: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -17214,7 +17214,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(
17214
17214
  */
17215
17215
  __pyx_v_ii = 0;
17216
17216
 
17217
- /* "pyvale/cython/rastercyth.py":111
17217
+ /* "pyvale/sensorsim/cython/rastercyth.py":111
17218
17218
  *
17219
17219
  * ii: cython.size_t = 0
17220
17220
  * dot: cython.double = 0.0 # <<<<<<<<<<<<<<
@@ -17223,7 +17223,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(
17223
17223
  */
17224
17224
  __pyx_v_dot = 0.0;
17225
17225
 
17226
- /* "pyvale/cython/rastercyth.py":112
17226
+ /* "pyvale/sensorsim/cython/rastercyth.py":112
17227
17227
  * ii: cython.size_t = 0
17228
17228
  * dot: cython.double = 0.0
17229
17229
  * for ii in range(vec0_len): # <<<<<<<<<<<<<<
@@ -17235,7 +17235,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(
17235
17235
  for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
17236
17236
  __pyx_v_ii = __pyx_t_4;
17237
17237
 
17238
- /* "pyvale/cython/rastercyth.py":113
17238
+ /* "pyvale/sensorsim/cython/rastercyth.py":113
17239
17239
  * dot: cython.double = 0.0
17240
17240
  * for ii in range(vec0_len):
17241
17241
  * dot += vec0[ii]*vec1[ii] # <<<<<<<<<<<<<<
@@ -17247,7 +17247,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(
17247
17247
  __pyx_v_dot = (__pyx_v_dot + ((*((double *) ( /* dim=0 */ (__pyx_v_vec0.data + __pyx_t_5 * __pyx_v_vec0.strides[0]) ))) * (*((double *) ( /* dim=0 */ (__pyx_v_vec1.data + __pyx_t_6 * __pyx_v_vec1.strides[0]) )))));
17248
17248
  }
17249
17249
 
17250
- /* "pyvale/cython/rastercyth.py":115
17250
+ /* "pyvale/sensorsim/cython/rastercyth.py":115
17251
17251
  * dot += vec0[ii]*vec1[ii]
17252
17252
  *
17253
17253
  * return dot # <<<<<<<<<<<<<<
@@ -17257,7 +17257,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(
17257
17257
  __pyx_r = __pyx_v_dot;
17258
17258
  goto __pyx_L0;
17259
17259
 
17260
- /* "pyvale/cython/rastercyth.py":96
17260
+ /* "pyvale/sensorsim/cython/rastercyth.py":96
17261
17261
  *
17262
17262
  *
17263
17263
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -17270,7 +17270,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(
17270
17270
  return __pyx_r;
17271
17271
  }
17272
17272
 
17273
- /* "pyvale/cython/rastercyth.py":118
17273
+ /* "pyvale/sensorsim/cython/rastercyth.py":118
17274
17274
  *
17275
17275
  *
17276
17276
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -17278,12 +17278,12 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(
17278
17278
  * @cython.boundscheck(False) # Turn off array bounds checking
17279
17279
  */
17280
17280
 
17281
- static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_min(double __pyx_v_min_val) {
17281
+ static CYTHON_INLINE int __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_bound_index_min(double __pyx_v_min_val) {
17282
17282
  int __pyx_v_min_ind;
17283
17283
  int __pyx_r;
17284
17284
  int __pyx_t_1;
17285
17285
 
17286
- /* "pyvale/cython/rastercyth.py":126
17286
+ /* "pyvale/sensorsim/cython/rastercyth.py":126
17287
17287
  * @cython.exceptval(check=False)
17288
17288
  * def bound_index_min(min_val: cython.double) -> cython.int:
17289
17289
  * min_ind: cython.int = int(floor(min_val)) # <<<<<<<<<<<<<<
@@ -17292,7 +17292,7 @@ static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_min(do
17292
17292
  */
17293
17293
  __pyx_v_min_ind = ((int)floor(__pyx_v_min_val));
17294
17294
 
17295
- /* "pyvale/cython/rastercyth.py":127
17295
+ /* "pyvale/sensorsim/cython/rastercyth.py":127
17296
17296
  * def bound_index_min(min_val: cython.double) -> cython.int:
17297
17297
  * min_ind: cython.int = int(floor(min_val))
17298
17298
  * if min_ind < 0: # <<<<<<<<<<<<<<
@@ -17302,7 +17302,7 @@ static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_min(do
17302
17302
  __pyx_t_1 = (__pyx_v_min_ind < 0);
17303
17303
  if (__pyx_t_1) {
17304
17304
 
17305
- /* "pyvale/cython/rastercyth.py":128
17305
+ /* "pyvale/sensorsim/cython/rastercyth.py":128
17306
17306
  * min_ind: cython.int = int(floor(min_val))
17307
17307
  * if min_ind < 0:
17308
17308
  * min_ind = 0 # <<<<<<<<<<<<<<
@@ -17311,7 +17311,7 @@ static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_min(do
17311
17311
  */
17312
17312
  __pyx_v_min_ind = 0;
17313
17313
 
17314
- /* "pyvale/cython/rastercyth.py":127
17314
+ /* "pyvale/sensorsim/cython/rastercyth.py":127
17315
17315
  * def bound_index_min(min_val: cython.double) -> cython.int:
17316
17316
  * min_ind: cython.int = int(floor(min_val))
17317
17317
  * if min_ind < 0: # <<<<<<<<<<<<<<
@@ -17320,7 +17320,7 @@ static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_min(do
17320
17320
  */
17321
17321
  }
17322
17322
 
17323
- /* "pyvale/cython/rastercyth.py":129
17323
+ /* "pyvale/sensorsim/cython/rastercyth.py":129
17324
17324
  * if min_ind < 0:
17325
17325
  * min_ind = 0
17326
17326
  * return min_ind # <<<<<<<<<<<<<<
@@ -17330,7 +17330,7 @@ static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_min(do
17330
17330
  __pyx_r = __pyx_v_min_ind;
17331
17331
  goto __pyx_L0;
17332
17332
 
17333
- /* "pyvale/cython/rastercyth.py":118
17333
+ /* "pyvale/sensorsim/cython/rastercyth.py":118
17334
17334
  *
17335
17335
  *
17336
17336
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -17343,7 +17343,7 @@ static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_min(do
17343
17343
  return __pyx_r;
17344
17344
  }
17345
17345
 
17346
- /* "pyvale/cython/rastercyth.py":132
17346
+ /* "pyvale/sensorsim/cython/rastercyth.py":132
17347
17347
  *
17348
17348
  *
17349
17349
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -17351,12 +17351,12 @@ static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_min(do
17351
17351
  * @cython.boundscheck(False) # Turn off array bounds checking
17352
17352
  */
17353
17353
 
17354
- static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_max(double __pyx_v_max_val, int __pyx_v_num_pixels) {
17354
+ static CYTHON_INLINE int __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_bound_index_max(double __pyx_v_max_val, int __pyx_v_num_pixels) {
17355
17355
  int __pyx_v_max_ind;
17356
17356
  int __pyx_r;
17357
17357
  int __pyx_t_1;
17358
17358
 
17359
- /* "pyvale/cython/rastercyth.py":141
17359
+ /* "pyvale/sensorsim/cython/rastercyth.py":141
17360
17360
  * def bound_index_max(max_val: cython.double,
17361
17361
  * num_pixels: cython.int) -> cython.int:
17362
17362
  * max_ind: cython.int = int(ceil(max_val)) # <<<<<<<<<<<<<<
@@ -17365,7 +17365,7 @@ static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_max(do
17365
17365
  */
17366
17366
  __pyx_v_max_ind = ((int)ceil(__pyx_v_max_val));
17367
17367
 
17368
- /* "pyvale/cython/rastercyth.py":142
17368
+ /* "pyvale/sensorsim/cython/rastercyth.py":142
17369
17369
  * num_pixels: cython.int) -> cython.int:
17370
17370
  * max_ind: cython.int = int(ceil(max_val))
17371
17371
  * if max_ind > (num_pixels-1): # <<<<<<<<<<<<<<
@@ -17375,7 +17375,7 @@ static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_max(do
17375
17375
  __pyx_t_1 = (__pyx_v_max_ind > (__pyx_v_num_pixels - 1));
17376
17376
  if (__pyx_t_1) {
17377
17377
 
17378
- /* "pyvale/cython/rastercyth.py":143
17378
+ /* "pyvale/sensorsim/cython/rastercyth.py":143
17379
17379
  * max_ind: cython.int = int(ceil(max_val))
17380
17380
  * if max_ind > (num_pixels-1):
17381
17381
  * max_ind = (num_pixels-1) # <<<<<<<<<<<<<<
@@ -17384,7 +17384,7 @@ static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_max(do
17384
17384
  */
17385
17385
  __pyx_v_max_ind = (__pyx_v_num_pixels - 1);
17386
17386
 
17387
- /* "pyvale/cython/rastercyth.py":142
17387
+ /* "pyvale/sensorsim/cython/rastercyth.py":142
17388
17388
  * num_pixels: cython.int) -> cython.int:
17389
17389
  * max_ind: cython.int = int(ceil(max_val))
17390
17390
  * if max_ind > (num_pixels-1): # <<<<<<<<<<<<<<
@@ -17393,7 +17393,7 @@ static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_max(do
17393
17393
  */
17394
17394
  }
17395
17395
 
17396
- /* "pyvale/cython/rastercyth.py":144
17396
+ /* "pyvale/sensorsim/cython/rastercyth.py":144
17397
17397
  * if max_ind > (num_pixels-1):
17398
17398
  * max_ind = (num_pixels-1)
17399
17399
  * return max_ind # <<<<<<<<<<<<<<
@@ -17403,7 +17403,7 @@ static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_max(do
17403
17403
  __pyx_r = __pyx_v_max_ind;
17404
17404
  goto __pyx_L0;
17405
17405
 
17406
- /* "pyvale/cython/rastercyth.py":132
17406
+ /* "pyvale/sensorsim/cython/rastercyth.py":132
17407
17407
  *
17408
17408
  *
17409
17409
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -17416,7 +17416,7 @@ static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_max(do
17416
17416
  return __pyx_r;
17417
17417
  }
17418
17418
 
17419
- /* "pyvale/cython/rastercyth.py":147
17419
+ /* "pyvale/sensorsim/cython/rastercyth.py":147
17420
17420
  *
17421
17421
  *
17422
17422
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -17424,7 +17424,7 @@ static CYTHON_INLINE int __pyx_f_6pyvale_6cython_10rastercyth_bound_index_max(do
17424
17424
  * @cython.boundscheck(False) # Turn off array bounds checking
17425
17425
  */
17426
17426
 
17427
- static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mult_mat44_by_vec3(__Pyx_memviewslice __pyx_v_mat44, __Pyx_memviewslice __pyx_v_vec3_in, __Pyx_memviewslice __pyx_v_vec3_out) {
17427
+ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_mult_mat44_by_vec3(__Pyx_memviewslice __pyx_v_mat44, __Pyx_memviewslice __pyx_v_vec3_in, __Pyx_memviewslice __pyx_v_vec3_out) {
17428
17428
  __Pyx_memviewslice __pyx_r = { 0, 0, { 0 }, { 0 }, { 0 } };
17429
17429
  Py_ssize_t __pyx_t_1;
17430
17430
  Py_ssize_t __pyx_t_2;
@@ -17439,7 +17439,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17439
17439
  Py_ssize_t __pyx_t_11;
17440
17440
  Py_ssize_t __pyx_t_12;
17441
17441
 
17442
- /* "pyvale/cython/rastercyth.py":157
17442
+ /* "pyvale/sensorsim/cython/rastercyth.py":157
17443
17443
  * vec3_out: cython.double[:]) -> cython.double[:]:
17444
17444
  *
17445
17445
  * vec3_out[0] = (mat44[0,0]*vec3_in[0] # <<<<<<<<<<<<<<
@@ -17450,7 +17450,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17450
17450
  __pyx_t_2 = 0;
17451
17451
  __pyx_t_3 = 0;
17452
17452
 
17453
- /* "pyvale/cython/rastercyth.py":158
17453
+ /* "pyvale/sensorsim/cython/rastercyth.py":158
17454
17454
  *
17455
17455
  * vec3_out[0] = (mat44[0,0]*vec3_in[0]
17456
17456
  * + mat44[0,1]*vec3_in[1] # <<<<<<<<<<<<<<
@@ -17461,7 +17461,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17461
17461
  __pyx_t_5 = 1;
17462
17462
  __pyx_t_6 = 1;
17463
17463
 
17464
- /* "pyvale/cython/rastercyth.py":159
17464
+ /* "pyvale/sensorsim/cython/rastercyth.py":159
17465
17465
  * vec3_out[0] = (mat44[0,0]*vec3_in[0]
17466
17466
  * + mat44[0,1]*vec3_in[1]
17467
17467
  * + mat44[0,2]*vec3_in[2] # <<<<<<<<<<<<<<
@@ -17472,7 +17472,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17472
17472
  __pyx_t_8 = 2;
17473
17473
  __pyx_t_9 = 2;
17474
17474
 
17475
- /* "pyvale/cython/rastercyth.py":160
17475
+ /* "pyvale/sensorsim/cython/rastercyth.py":160
17476
17476
  * + mat44[0,1]*vec3_in[1]
17477
17477
  * + mat44[0,2]*vec3_in[2]
17478
17478
  * + mat44[0,3]) # <<<<<<<<<<<<<<
@@ -17482,7 +17482,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17482
17482
  __pyx_t_10 = 0;
17483
17483
  __pyx_t_11 = 3;
17484
17484
 
17485
- /* "pyvale/cython/rastercyth.py":157
17485
+ /* "pyvale/sensorsim/cython/rastercyth.py":157
17486
17486
  * vec3_out: cython.double[:]) -> cython.double[:]:
17487
17487
  *
17488
17488
  * vec3_out[0] = (mat44[0,0]*vec3_in[0] # <<<<<<<<<<<<<<
@@ -17492,7 +17492,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17492
17492
  __pyx_t_12 = 0;
17493
17493
  *((double *) ( /* dim=0 */ (__pyx_v_vec3_out.data + __pyx_t_12 * __pyx_v_vec3_out.strides[0]) )) = (((((*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_mat44.data + __pyx_t_1 * __pyx_v_mat44.strides[0]) ) + __pyx_t_2 * __pyx_v_mat44.strides[1]) ))) * (*((double *) ( /* dim=0 */ (__pyx_v_vec3_in.data + __pyx_t_3 * __pyx_v_vec3_in.strides[0]) )))) + ((*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_mat44.data + __pyx_t_4 * __pyx_v_mat44.strides[0]) ) + __pyx_t_5 * __pyx_v_mat44.strides[1]) ))) * (*((double *) ( /* dim=0 */ (__pyx_v_vec3_in.data + __pyx_t_6 * __pyx_v_vec3_in.strides[0]) ))))) + ((*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_mat44.data + __pyx_t_7 * __pyx_v_mat44.strides[0]) ) + __pyx_t_8 * __pyx_v_mat44.strides[1]) ))) * (*((double *) ( /* dim=0 */ (__pyx_v_vec3_in.data + __pyx_t_9 * __pyx_v_vec3_in.strides[0]) ))))) + (*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_mat44.data + __pyx_t_10 * __pyx_v_mat44.strides[0]) ) + __pyx_t_11 * __pyx_v_mat44.strides[1]) ))));
17494
17494
 
17495
- /* "pyvale/cython/rastercyth.py":161
17495
+ /* "pyvale/sensorsim/cython/rastercyth.py":161
17496
17496
  * + mat44[0,2]*vec3_in[2]
17497
17497
  * + mat44[0,3])
17498
17498
  * vec3_out[1] = (mat44[1,0]*vec3_in[0] # <<<<<<<<<<<<<<
@@ -17503,7 +17503,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17503
17503
  __pyx_t_10 = 0;
17504
17504
  __pyx_t_9 = 0;
17505
17505
 
17506
- /* "pyvale/cython/rastercyth.py":162
17506
+ /* "pyvale/sensorsim/cython/rastercyth.py":162
17507
17507
  * + mat44[0,3])
17508
17508
  * vec3_out[1] = (mat44[1,0]*vec3_in[0]
17509
17509
  * + mat44[1,1]*vec3_in[1] # <<<<<<<<<<<<<<
@@ -17514,7 +17514,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17514
17514
  __pyx_t_7 = 1;
17515
17515
  __pyx_t_6 = 1;
17516
17516
 
17517
- /* "pyvale/cython/rastercyth.py":163
17517
+ /* "pyvale/sensorsim/cython/rastercyth.py":163
17518
17518
  * vec3_out[1] = (mat44[1,0]*vec3_in[0]
17519
17519
  * + mat44[1,1]*vec3_in[1]
17520
17520
  * + mat44[1,2]*vec3_in[2] # <<<<<<<<<<<<<<
@@ -17525,7 +17525,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17525
17525
  __pyx_t_4 = 2;
17526
17526
  __pyx_t_3 = 2;
17527
17527
 
17528
- /* "pyvale/cython/rastercyth.py":164
17528
+ /* "pyvale/sensorsim/cython/rastercyth.py":164
17529
17529
  * + mat44[1,1]*vec3_in[1]
17530
17530
  * + mat44[1,2]*vec3_in[2]
17531
17531
  * + mat44[1,3]) # <<<<<<<<<<<<<<
@@ -17535,7 +17535,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17535
17535
  __pyx_t_2 = 1;
17536
17536
  __pyx_t_1 = 3;
17537
17537
 
17538
- /* "pyvale/cython/rastercyth.py":161
17538
+ /* "pyvale/sensorsim/cython/rastercyth.py":161
17539
17539
  * + mat44[0,2]*vec3_in[2]
17540
17540
  * + mat44[0,3])
17541
17541
  * vec3_out[1] = (mat44[1,0]*vec3_in[0] # <<<<<<<<<<<<<<
@@ -17545,7 +17545,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17545
17545
  __pyx_t_12 = 1;
17546
17546
  *((double *) ( /* dim=0 */ (__pyx_v_vec3_out.data + __pyx_t_12 * __pyx_v_vec3_out.strides[0]) )) = (((((*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_mat44.data + __pyx_t_11 * __pyx_v_mat44.strides[0]) ) + __pyx_t_10 * __pyx_v_mat44.strides[1]) ))) * (*((double *) ( /* dim=0 */ (__pyx_v_vec3_in.data + __pyx_t_9 * __pyx_v_vec3_in.strides[0]) )))) + ((*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_mat44.data + __pyx_t_8 * __pyx_v_mat44.strides[0]) ) + __pyx_t_7 * __pyx_v_mat44.strides[1]) ))) * (*((double *) ( /* dim=0 */ (__pyx_v_vec3_in.data + __pyx_t_6 * __pyx_v_vec3_in.strides[0]) ))))) + ((*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_mat44.data + __pyx_t_5 * __pyx_v_mat44.strides[0]) ) + __pyx_t_4 * __pyx_v_mat44.strides[1]) ))) * (*((double *) ( /* dim=0 */ (__pyx_v_vec3_in.data + __pyx_t_3 * __pyx_v_vec3_in.strides[0]) ))))) + (*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_mat44.data + __pyx_t_2 * __pyx_v_mat44.strides[0]) ) + __pyx_t_1 * __pyx_v_mat44.strides[1]) ))));
17547
17547
 
17548
- /* "pyvale/cython/rastercyth.py":165
17548
+ /* "pyvale/sensorsim/cython/rastercyth.py":165
17549
17549
  * + mat44[1,2]*vec3_in[2]
17550
17550
  * + mat44[1,3])
17551
17551
  * vec3_out[2] = (mat44[2,0]*vec3_in[0] # <<<<<<<<<<<<<<
@@ -17556,7 +17556,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17556
17556
  __pyx_t_2 = 0;
17557
17557
  __pyx_t_3 = 0;
17558
17558
 
17559
- /* "pyvale/cython/rastercyth.py":166
17559
+ /* "pyvale/sensorsim/cython/rastercyth.py":166
17560
17560
  * + mat44[1,3])
17561
17561
  * vec3_out[2] = (mat44[2,0]*vec3_in[0]
17562
17562
  * + mat44[2,1]*vec3_in[1] # <<<<<<<<<<<<<<
@@ -17567,7 +17567,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17567
17567
  __pyx_t_5 = 1;
17568
17568
  __pyx_t_6 = 1;
17569
17569
 
17570
- /* "pyvale/cython/rastercyth.py":167
17570
+ /* "pyvale/sensorsim/cython/rastercyth.py":167
17571
17571
  * vec3_out[2] = (mat44[2,0]*vec3_in[0]
17572
17572
  * + mat44[2,1]*vec3_in[1]
17573
17573
  * + mat44[2,2]*vec3_in[2] # <<<<<<<<<<<<<<
@@ -17578,7 +17578,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17578
17578
  __pyx_t_8 = 2;
17579
17579
  __pyx_t_9 = 2;
17580
17580
 
17581
- /* "pyvale/cython/rastercyth.py":168
17581
+ /* "pyvale/sensorsim/cython/rastercyth.py":168
17582
17582
  * + mat44[2,1]*vec3_in[1]
17583
17583
  * + mat44[2,2]*vec3_in[2]
17584
17584
  * + mat44[2,3]) # <<<<<<<<<<<<<<
@@ -17588,7 +17588,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17588
17588
  __pyx_t_10 = 2;
17589
17589
  __pyx_t_11 = 3;
17590
17590
 
17591
- /* "pyvale/cython/rastercyth.py":165
17591
+ /* "pyvale/sensorsim/cython/rastercyth.py":165
17592
17592
  * + mat44[1,2]*vec3_in[2]
17593
17593
  * + mat44[1,3])
17594
17594
  * vec3_out[2] = (mat44[2,0]*vec3_in[0] # <<<<<<<<<<<<<<
@@ -17598,7 +17598,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17598
17598
  __pyx_t_12 = 2;
17599
17599
  *((double *) ( /* dim=0 */ (__pyx_v_vec3_out.data + __pyx_t_12 * __pyx_v_vec3_out.strides[0]) )) = (((((*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_mat44.data + __pyx_t_1 * __pyx_v_mat44.strides[0]) ) + __pyx_t_2 * __pyx_v_mat44.strides[1]) ))) * (*((double *) ( /* dim=0 */ (__pyx_v_vec3_in.data + __pyx_t_3 * __pyx_v_vec3_in.strides[0]) )))) + ((*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_mat44.data + __pyx_t_4 * __pyx_v_mat44.strides[0]) ) + __pyx_t_5 * __pyx_v_mat44.strides[1]) ))) * (*((double *) ( /* dim=0 */ (__pyx_v_vec3_in.data + __pyx_t_6 * __pyx_v_vec3_in.strides[0]) ))))) + ((*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_mat44.data + __pyx_t_7 * __pyx_v_mat44.strides[0]) ) + __pyx_t_8 * __pyx_v_mat44.strides[1]) ))) * (*((double *) ( /* dim=0 */ (__pyx_v_vec3_in.data + __pyx_t_9 * __pyx_v_vec3_in.strides[0]) ))))) + (*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_mat44.data + __pyx_t_10 * __pyx_v_mat44.strides[0]) ) + __pyx_t_11 * __pyx_v_mat44.strides[1]) ))));
17600
17600
 
17601
- /* "pyvale/cython/rastercyth.py":169
17601
+ /* "pyvale/sensorsim/cython/rastercyth.py":169
17602
17602
  * + mat44[2,2]*vec3_in[2]
17603
17603
  * + mat44[2,3])
17604
17604
  * vec3_out[3] = (mat44[3,0]*vec3_in[0] # <<<<<<<<<<<<<<
@@ -17609,7 +17609,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17609
17609
  __pyx_t_10 = 0;
17610
17610
  __pyx_t_9 = 0;
17611
17611
 
17612
- /* "pyvale/cython/rastercyth.py":170
17612
+ /* "pyvale/sensorsim/cython/rastercyth.py":170
17613
17613
  * + mat44[2,3])
17614
17614
  * vec3_out[3] = (mat44[3,0]*vec3_in[0]
17615
17615
  * + mat44[3,1]*vec3_in[1] # <<<<<<<<<<<<<<
@@ -17620,7 +17620,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17620
17620
  __pyx_t_7 = 1;
17621
17621
  __pyx_t_6 = 1;
17622
17622
 
17623
- /* "pyvale/cython/rastercyth.py":171
17623
+ /* "pyvale/sensorsim/cython/rastercyth.py":171
17624
17624
  * vec3_out[3] = (mat44[3,0]*vec3_in[0]
17625
17625
  * + mat44[3,1]*vec3_in[1]
17626
17626
  * + mat44[3,2]*vec3_in[2] # <<<<<<<<<<<<<<
@@ -17631,7 +17631,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17631
17631
  __pyx_t_4 = 2;
17632
17632
  __pyx_t_3 = 2;
17633
17633
 
17634
- /* "pyvale/cython/rastercyth.py":172
17634
+ /* "pyvale/sensorsim/cython/rastercyth.py":172
17635
17635
  * + mat44[3,1]*vec3_in[1]
17636
17636
  * + mat44[3,2]*vec3_in[2]
17637
17637
  * + mat44[3,3]) # <<<<<<<<<<<<<<
@@ -17641,7 +17641,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17641
17641
  __pyx_t_2 = 3;
17642
17642
  __pyx_t_1 = 3;
17643
17643
 
17644
- /* "pyvale/cython/rastercyth.py":169
17644
+ /* "pyvale/sensorsim/cython/rastercyth.py":169
17645
17645
  * + mat44[2,2]*vec3_in[2]
17646
17646
  * + mat44[2,3])
17647
17647
  * vec3_out[3] = (mat44[3,0]*vec3_in[0] # <<<<<<<<<<<<<<
@@ -17651,7 +17651,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17651
17651
  __pyx_t_12 = 3;
17652
17652
  *((double *) ( /* dim=0 */ (__pyx_v_vec3_out.data + __pyx_t_12 * __pyx_v_vec3_out.strides[0]) )) = (((((*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_mat44.data + __pyx_t_11 * __pyx_v_mat44.strides[0]) ) + __pyx_t_10 * __pyx_v_mat44.strides[1]) ))) * (*((double *) ( /* dim=0 */ (__pyx_v_vec3_in.data + __pyx_t_9 * __pyx_v_vec3_in.strides[0]) )))) + ((*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_mat44.data + __pyx_t_8 * __pyx_v_mat44.strides[0]) ) + __pyx_t_7 * __pyx_v_mat44.strides[1]) ))) * (*((double *) ( /* dim=0 */ (__pyx_v_vec3_in.data + __pyx_t_6 * __pyx_v_vec3_in.strides[0]) ))))) + ((*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_mat44.data + __pyx_t_5 * __pyx_v_mat44.strides[0]) ) + __pyx_t_4 * __pyx_v_mat44.strides[1]) ))) * (*((double *) ( /* dim=0 */ (__pyx_v_vec3_in.data + __pyx_t_3 * __pyx_v_vec3_in.strides[0]) ))))) + (*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_mat44.data + __pyx_t_2 * __pyx_v_mat44.strides[0]) ) + __pyx_t_1 * __pyx_v_mat44.strides[1]) ))));
17653
17653
 
17654
- /* "pyvale/cython/rastercyth.py":174
17654
+ /* "pyvale/sensorsim/cython/rastercyth.py":174
17655
17655
  * + mat44[3,3])
17656
17656
  *
17657
17657
  * return vec3_out # <<<<<<<<<<<<<<
@@ -17662,7 +17662,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17662
17662
  __pyx_r = __pyx_v_vec3_out;
17663
17663
  goto __pyx_L0;
17664
17664
 
17665
- /* "pyvale/cython/rastercyth.py":147
17665
+ /* "pyvale/sensorsim/cython/rastercyth.py":147
17666
17666
  *
17667
17667
  *
17668
17668
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -17680,7 +17680,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17680
17680
  return __pyx_r;
17681
17681
  }
17682
17682
 
17683
- /* "pyvale/cython/rastercyth.py":177
17683
+ /* "pyvale/sensorsim/cython/rastercyth.py":177
17684
17684
  *
17685
17685
  *
17686
17686
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -17688,7 +17688,7 @@ static CYTHON_INLINE __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_mul
17688
17688
  * @cython.boundscheck(False) # Turn off array bounds checking
17689
17689
  */
17690
17690
 
17691
- static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_coords(__Pyx_memviewslice __pyx_v_coords_world, __Pyx_memviewslice __pyx_v_world_to_cam_mat, double __pyx_v_image_dist, __Pyx_memviewslice __pyx_v_image_dims, __Pyx_memviewslice __pyx_v_num_pixels, __Pyx_memviewslice __pyx_v_coords_raster) {
17691
+ static __Pyx_memviewslice __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_world_to_raster_coords(__Pyx_memviewslice __pyx_v_coords_world, __Pyx_memviewslice __pyx_v_world_to_cam_mat, double __pyx_v_image_dist, __Pyx_memviewslice __pyx_v_image_dims, __Pyx_memviewslice __pyx_v_num_pixels, __Pyx_memviewslice __pyx_v_coords_raster) {
17692
17692
  size_t __pyx_v_xx;
17693
17693
  size_t __pyx_v_yy;
17694
17694
  size_t __pyx_v_zz;
@@ -17704,7 +17704,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17704
17704
  PyGILState_STATE __pyx_gilstate_save;
17705
17705
  __PYX_INC_MEMVIEW(&__pyx_v_coords_raster, 0);
17706
17706
 
17707
- /* "pyvale/cython/rastercyth.py":190
17707
+ /* "pyvale/sensorsim/cython/rastercyth.py":190
17708
17708
  * coords_raster: cython.double[:]
17709
17709
  * ) -> cython.double[:]:
17710
17710
  * xx: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -17713,7 +17713,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17713
17713
  */
17714
17714
  __pyx_v_xx = 0;
17715
17715
 
17716
- /* "pyvale/cython/rastercyth.py":191
17716
+ /* "pyvale/sensorsim/cython/rastercyth.py":191
17717
17717
  * ) -> cython.double[:]:
17718
17718
  * xx: cython.size_t = 0
17719
17719
  * yy: cython.size_t = 1 # <<<<<<<<<<<<<<
@@ -17722,7 +17722,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17722
17722
  */
17723
17723
  __pyx_v_yy = 1;
17724
17724
 
17725
- /* "pyvale/cython/rastercyth.py":192
17725
+ /* "pyvale/sensorsim/cython/rastercyth.py":192
17726
17726
  * xx: cython.size_t = 0
17727
17727
  * yy: cython.size_t = 1
17728
17728
  * zz: cython.size_t = 2 # <<<<<<<<<<<<<<
@@ -17731,7 +17731,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17731
17731
  */
17732
17732
  __pyx_v_zz = 2;
17733
17733
 
17734
- /* "pyvale/cython/rastercyth.py":193
17734
+ /* "pyvale/sensorsim/cython/rastercyth.py":193
17735
17735
  * yy: cython.size_t = 1
17736
17736
  * zz: cython.size_t = 2
17737
17737
  * ww: cython.size_t = 3 # <<<<<<<<<<<<<<
@@ -17740,20 +17740,20 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17740
17740
  */
17741
17741
  __pyx_v_ww = 3;
17742
17742
 
17743
- /* "pyvale/cython/rastercyth.py":195
17743
+ /* "pyvale/sensorsim/cython/rastercyth.py":195
17744
17744
  * ww: cython.size_t = 3
17745
17745
  *
17746
17746
  * coords_raster = mult_mat44_by_vec3(world_to_cam_mat, # <<<<<<<<<<<<<<
17747
17747
  * coords_world,
17748
17748
  * coords_raster)
17749
17749
  */
17750
- __pyx_t_1 = __pyx_f_6pyvale_6cython_10rastercyth_mult_mat44_by_vec3(__pyx_v_world_to_cam_mat, __pyx_v_coords_world, __pyx_v_coords_raster); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 195, __pyx_L1_error)
17750
+ __pyx_t_1 = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_mult_mat44_by_vec3(__pyx_v_world_to_cam_mat, __pyx_v_coords_world, __pyx_v_coords_raster); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 195, __pyx_L1_error)
17751
17751
  __PYX_XCLEAR_MEMVIEW(&__pyx_v_coords_raster, 0);
17752
17752
  __pyx_v_coords_raster = __pyx_t_1;
17753
17753
  __pyx_t_1.memview = NULL;
17754
17754
  __pyx_t_1.data = NULL;
17755
17755
 
17756
- /* "pyvale/cython/rastercyth.py":199
17756
+ /* "pyvale/sensorsim/cython/rastercyth.py":199
17757
17757
  * coords_raster)
17758
17758
  *
17759
17759
  * coords_raster[xx] = coords_raster[xx] / coords_raster[ww] # <<<<<<<<<<<<<<
@@ -17765,7 +17765,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17765
17765
  __pyx_t_4 = __pyx_v_xx;
17766
17766
  *((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_4 * __pyx_v_coords_raster.strides[0]) )) = ((*((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_2 * __pyx_v_coords_raster.strides[0]) ))) / (*((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_3 * __pyx_v_coords_raster.strides[0]) ))));
17767
17767
 
17768
- /* "pyvale/cython/rastercyth.py":200
17768
+ /* "pyvale/sensorsim/cython/rastercyth.py":200
17769
17769
  *
17770
17770
  * coords_raster[xx] = coords_raster[xx] / coords_raster[ww]
17771
17771
  * coords_raster[yy] = coords_raster[yy] / coords_raster[ww] # <<<<<<<<<<<<<<
@@ -17777,7 +17777,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17777
17777
  __pyx_t_4 = __pyx_v_yy;
17778
17778
  *((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_4 * __pyx_v_coords_raster.strides[0]) )) = ((*((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_3 * __pyx_v_coords_raster.strides[0]) ))) / (*((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_2 * __pyx_v_coords_raster.strides[0]) ))));
17779
17779
 
17780
- /* "pyvale/cython/rastercyth.py":201
17780
+ /* "pyvale/sensorsim/cython/rastercyth.py":201
17781
17781
  * coords_raster[xx] = coords_raster[xx] / coords_raster[ww]
17782
17782
  * coords_raster[yy] = coords_raster[yy] / coords_raster[ww]
17783
17783
  * coords_raster[zz] = coords_raster[zz] / coords_raster[ww] # <<<<<<<<<<<<<<
@@ -17789,7 +17789,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17789
17789
  __pyx_t_4 = __pyx_v_zz;
17790
17790
  *((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_4 * __pyx_v_coords_raster.strides[0]) )) = ((*((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_2 * __pyx_v_coords_raster.strides[0]) ))) / (*((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_3 * __pyx_v_coords_raster.strides[0]) ))));
17791
17791
 
17792
- /* "pyvale/cython/rastercyth.py":203
17792
+ /* "pyvale/sensorsim/cython/rastercyth.py":203
17793
17793
  * coords_raster[zz] = coords_raster[zz] / coords_raster[ww]
17794
17794
  *
17795
17795
  * coords_raster[xx] = (image_dist * coords_raster[xx] # <<<<<<<<<<<<<<
@@ -17798,7 +17798,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17798
17798
  */
17799
17799
  __pyx_t_3 = __pyx_v_xx;
17800
17800
 
17801
- /* "pyvale/cython/rastercyth.py":204
17801
+ /* "pyvale/sensorsim/cython/rastercyth.py":204
17802
17802
  *
17803
17803
  * coords_raster[xx] = (image_dist * coords_raster[xx]
17804
17804
  * / -coords_raster[zz]) # <<<<<<<<<<<<<<
@@ -17807,7 +17807,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17807
17807
  */
17808
17808
  __pyx_t_2 = __pyx_v_zz;
17809
17809
 
17810
- /* "pyvale/cython/rastercyth.py":203
17810
+ /* "pyvale/sensorsim/cython/rastercyth.py":203
17811
17811
  * coords_raster[zz] = coords_raster[zz] / coords_raster[ww]
17812
17812
  *
17813
17813
  * coords_raster[xx] = (image_dist * coords_raster[xx] # <<<<<<<<<<<<<<
@@ -17817,7 +17817,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17817
17817
  __pyx_t_4 = __pyx_v_xx;
17818
17818
  *((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_4 * __pyx_v_coords_raster.strides[0]) )) = ((__pyx_v_image_dist * (*((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_3 * __pyx_v_coords_raster.strides[0]) )))) / (-(*((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_2 * __pyx_v_coords_raster.strides[0]) )))));
17819
17819
 
17820
- /* "pyvale/cython/rastercyth.py":205
17820
+ /* "pyvale/sensorsim/cython/rastercyth.py":205
17821
17821
  * coords_raster[xx] = (image_dist * coords_raster[xx]
17822
17822
  * / -coords_raster[zz])
17823
17823
  * coords_raster[yy] = (image_dist * coords_raster[yy] # <<<<<<<<<<<<<<
@@ -17826,7 +17826,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17826
17826
  */
17827
17827
  __pyx_t_2 = __pyx_v_yy;
17828
17828
 
17829
- /* "pyvale/cython/rastercyth.py":206
17829
+ /* "pyvale/sensorsim/cython/rastercyth.py":206
17830
17830
  * / -coords_raster[zz])
17831
17831
  * coords_raster[yy] = (image_dist * coords_raster[yy]
17832
17832
  * / -coords_raster[zz]) # <<<<<<<<<<<<<<
@@ -17835,7 +17835,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17835
17835
  */
17836
17836
  __pyx_t_3 = __pyx_v_zz;
17837
17837
 
17838
- /* "pyvale/cython/rastercyth.py":205
17838
+ /* "pyvale/sensorsim/cython/rastercyth.py":205
17839
17839
  * coords_raster[xx] = (image_dist * coords_raster[xx]
17840
17840
  * / -coords_raster[zz])
17841
17841
  * coords_raster[yy] = (image_dist * coords_raster[yy] # <<<<<<<<<<<<<<
@@ -17845,7 +17845,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17845
17845
  __pyx_t_4 = __pyx_v_yy;
17846
17846
  *((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_4 * __pyx_v_coords_raster.strides[0]) )) = ((__pyx_v_image_dist * (*((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_2 * __pyx_v_coords_raster.strides[0]) )))) / (-(*((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_3 * __pyx_v_coords_raster.strides[0]) )))));
17847
17847
 
17848
- /* "pyvale/cython/rastercyth.py":208
17848
+ /* "pyvale/sensorsim/cython/rastercyth.py":208
17849
17849
  * / -coords_raster[zz])
17850
17850
  *
17851
17851
  * coords_raster[xx] = 2*coords_raster[xx] / image_dims[xx] # <<<<<<<<<<<<<<
@@ -17857,7 +17857,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17857
17857
  __pyx_t_4 = __pyx_v_xx;
17858
17858
  *((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_4 * __pyx_v_coords_raster.strides[0]) )) = ((2.0 * (*((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_3 * __pyx_v_coords_raster.strides[0]) )))) / (*((double *) ( /* dim=0 */ (__pyx_v_image_dims.data + __pyx_t_2 * __pyx_v_image_dims.strides[0]) ))));
17859
17859
 
17860
- /* "pyvale/cython/rastercyth.py":209
17860
+ /* "pyvale/sensorsim/cython/rastercyth.py":209
17861
17861
  *
17862
17862
  * coords_raster[xx] = 2*coords_raster[xx] / image_dims[xx]
17863
17863
  * coords_raster[yy] = 2*coords_raster[yy] / image_dims[yy] # <<<<<<<<<<<<<<
@@ -17869,7 +17869,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17869
17869
  __pyx_t_4 = __pyx_v_yy;
17870
17870
  *((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_4 * __pyx_v_coords_raster.strides[0]) )) = ((2.0 * (*((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_2 * __pyx_v_coords_raster.strides[0]) )))) / (*((double *) ( /* dim=0 */ (__pyx_v_image_dims.data + __pyx_t_3 * __pyx_v_image_dims.strides[0]) ))));
17871
17871
 
17872
- /* "pyvale/cython/rastercyth.py":211
17872
+ /* "pyvale/sensorsim/cython/rastercyth.py":211
17873
17873
  * coords_raster[yy] = 2*coords_raster[yy] / image_dims[yy]
17874
17874
  *
17875
17875
  * coords_raster[xx] = (coords_raster[xx] + 1)/2 * num_pixels[xx] # <<<<<<<<<<<<<<
@@ -17881,7 +17881,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17881
17881
  __pyx_t_4 = __pyx_v_xx;
17882
17882
  *((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_4 * __pyx_v_coords_raster.strides[0]) )) = ((((*((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_3 * __pyx_v_coords_raster.strides[0]) ))) + 1.0) / 2.0) * (*((int *) ( /* dim=0 */ (__pyx_v_num_pixels.data + __pyx_t_2 * __pyx_v_num_pixels.strides[0]) ))));
17883
17883
 
17884
- /* "pyvale/cython/rastercyth.py":212
17884
+ /* "pyvale/sensorsim/cython/rastercyth.py":212
17885
17885
  *
17886
17886
  * coords_raster[xx] = (coords_raster[xx] + 1)/2 * num_pixels[xx]
17887
17887
  * coords_raster[yy] = (1-coords_raster[yy])/2 * num_pixels[yy] # <<<<<<<<<<<<<<
@@ -17893,7 +17893,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17893
17893
  __pyx_t_4 = __pyx_v_yy;
17894
17894
  *((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_4 * __pyx_v_coords_raster.strides[0]) )) = (((1.0 - (*((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_2 * __pyx_v_coords_raster.strides[0]) )))) / 2.0) * (*((int *) ( /* dim=0 */ (__pyx_v_num_pixels.data + __pyx_t_3 * __pyx_v_num_pixels.strides[0]) ))));
17895
17895
 
17896
- /* "pyvale/cython/rastercyth.py":213
17896
+ /* "pyvale/sensorsim/cython/rastercyth.py":213
17897
17897
  * coords_raster[xx] = (coords_raster[xx] + 1)/2 * num_pixels[xx]
17898
17898
  * coords_raster[yy] = (1-coords_raster[yy])/2 * num_pixels[yy]
17899
17899
  * coords_raster[zz] = -coords_raster[zz] # <<<<<<<<<<<<<<
@@ -17904,7 +17904,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17904
17904
  __pyx_t_2 = __pyx_v_zz;
17905
17905
  *((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_2 * __pyx_v_coords_raster.strides[0]) )) = (-(*((double *) ( /* dim=0 */ (__pyx_v_coords_raster.data + __pyx_t_3 * __pyx_v_coords_raster.strides[0]) ))));
17906
17906
 
17907
- /* "pyvale/cython/rastercyth.py":215
17907
+ /* "pyvale/sensorsim/cython/rastercyth.py":215
17908
17908
  * coords_raster[zz] = -coords_raster[zz]
17909
17909
  *
17910
17910
  * return coords_raster # <<<<<<<<<<<<<<
@@ -17915,7 +17915,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17915
17915
  __pyx_r = __pyx_v_coords_raster;
17916
17916
  goto __pyx_L0;
17917
17917
 
17918
- /* "pyvale/cython/rastercyth.py":177
17918
+ /* "pyvale/sensorsim/cython/rastercyth.py":177
17919
17919
  *
17920
17920
  *
17921
17921
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -17929,7 +17929,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17929
17929
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
17930
17930
  __pyx_r.data = NULL;
17931
17931
  __pyx_r.memview = NULL;
17932
- __Pyx_AddTraceback("pyvale.cython.rastercyth.world_to_raster_coords", __pyx_clineno, __pyx_lineno, __pyx_filename);
17932
+ __Pyx_AddTraceback("pyvale.sensorsim.cython.rastercyth.world_to_raster_coords", __pyx_clineno, __pyx_lineno, __pyx_filename);
17933
17933
  __Pyx_PyGILState_Release(__pyx_gilstate_save);
17934
17934
  goto __pyx_L2;
17935
17935
  __pyx_L0:;
@@ -17943,7 +17943,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17943
17943
  return __pyx_r;
17944
17944
  }
17945
17945
 
17946
- /* "pyvale/cython/rastercyth.py":217
17946
+ /* "pyvale/sensorsim/cython/rastercyth.py":217
17947
17947
  * return coords_raster
17948
17948
  *
17949
17949
  * @cython.cfunc # <<<<<<<<<<<<<<
@@ -17951,7 +17951,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_c
17951
17951
  * @cython.boundscheck(False)
17952
17952
  */
17953
17953
 
17954
- static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_edge_function(__Pyx_memviewslice __pyx_v_vert_0, __Pyx_memviewslice __pyx_v_vert_1, __Pyx_memviewslice __pyx_v_vert_2) {
17954
+ static CYTHON_INLINE double __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_edge_function(__Pyx_memviewslice __pyx_v_vert_0, __Pyx_memviewslice __pyx_v_vert_1, __Pyx_memviewslice __pyx_v_vert_2) {
17955
17955
  double __pyx_v_edge_fun;
17956
17956
  double __pyx_r;
17957
17957
  Py_ssize_t __pyx_t_1;
@@ -17963,7 +17963,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_edge_function(_
17963
17963
  Py_ssize_t __pyx_t_7;
17964
17964
  Py_ssize_t __pyx_t_8;
17965
17965
 
17966
- /* "pyvale/cython/rastercyth.py":227
17966
+ /* "pyvale/sensorsim/cython/rastercyth.py":227
17967
17967
  * vert_2: cython.double[:]) -> cython.double:
17968
17968
  * edge_fun: cython.double = (
17969
17969
  * (vert_2[0] - vert_0[0]) * (vert_1[1] - vert_0[1]) # <<<<<<<<<<<<<<
@@ -17975,7 +17975,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_edge_function(_
17975
17975
  __pyx_t_3 = 1;
17976
17976
  __pyx_t_4 = 1;
17977
17977
 
17978
- /* "pyvale/cython/rastercyth.py":228
17978
+ /* "pyvale/sensorsim/cython/rastercyth.py":228
17979
17979
  * edge_fun: cython.double = (
17980
17980
  * (vert_2[0] - vert_0[0]) * (vert_1[1] - vert_0[1])
17981
17981
  * - (vert_2[1] - vert_0[1]) * (vert_1[0] - vert_0[0])) # <<<<<<<<<<<<<<
@@ -17988,7 +17988,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_edge_function(_
17988
17988
  __pyx_t_8 = 0;
17989
17989
  __pyx_v_edge_fun = ((((*((double *) ( /* dim=0 */ (__pyx_v_vert_2.data + __pyx_t_1 * __pyx_v_vert_2.strides[0]) ))) - (*((double *) ( /* dim=0 */ (__pyx_v_vert_0.data + __pyx_t_2 * __pyx_v_vert_0.strides[0]) )))) * ((*((double *) ( /* dim=0 */ (__pyx_v_vert_1.data + __pyx_t_3 * __pyx_v_vert_1.strides[0]) ))) - (*((double *) ( /* dim=0 */ (__pyx_v_vert_0.data + __pyx_t_4 * __pyx_v_vert_0.strides[0]) ))))) - (((*((double *) ( /* dim=0 */ (__pyx_v_vert_2.data + __pyx_t_5 * __pyx_v_vert_2.strides[0]) ))) - (*((double *) ( /* dim=0 */ (__pyx_v_vert_0.data + __pyx_t_6 * __pyx_v_vert_0.strides[0]) )))) * ((*((double *) ( /* dim=0 */ (__pyx_v_vert_1.data + __pyx_t_7 * __pyx_v_vert_1.strides[0]) ))) - (*((double *) ( /* dim=0 */ (__pyx_v_vert_0.data + __pyx_t_8 * __pyx_v_vert_0.strides[0]) ))))));
17990
17990
 
17991
- /* "pyvale/cython/rastercyth.py":229
17991
+ /* "pyvale/sensorsim/cython/rastercyth.py":229
17992
17992
  * (vert_2[0] - vert_0[0]) * (vert_1[1] - vert_0[1])
17993
17993
  * - (vert_2[1] - vert_0[1]) * (vert_1[0] - vert_0[0]))
17994
17994
  * return edge_fun # <<<<<<<<<<<<<<
@@ -17998,7 +17998,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_edge_function(_
17998
17998
  __pyx_r = __pyx_v_edge_fun;
17999
17999
  goto __pyx_L0;
18000
18000
 
18001
- /* "pyvale/cython/rastercyth.py":217
18001
+ /* "pyvale/sensorsim/cython/rastercyth.py":217
18002
18002
  * return coords_raster
18003
18003
  *
18004
18004
  * @cython.cfunc # <<<<<<<<<<<<<<
@@ -18011,7 +18011,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_edge_function(_
18011
18011
  return __pyx_r;
18012
18012
  }
18013
18013
 
18014
- /* "pyvale/cython/rastercyth.py":232
18014
+ /* "pyvale/sensorsim/cython/rastercyth.py":232
18015
18015
  *
18016
18016
  *
18017
18017
  * @cython.cfunc # <<<<<<<<<<<<<<
@@ -18019,7 +18019,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_edge_function(_
18019
18019
  * @cython.boundscheck(False)
18020
18020
  */
18021
18021
 
18022
- static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_edge_function_pt(__Pyx_memviewslice __pyx_v_vert_0, __Pyx_memviewslice __pyx_v_vert_1, double __pyx_v_vert_2_x, double __pyx_v_vert_2_y) {
18022
+ static CYTHON_INLINE double __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_edge_function_pt(__Pyx_memviewslice __pyx_v_vert_0, __Pyx_memviewslice __pyx_v_vert_1, double __pyx_v_vert_2_x, double __pyx_v_vert_2_y) {
18023
18023
  double __pyx_v_edge_fun;
18024
18024
  double __pyx_r;
18025
18025
  Py_ssize_t __pyx_t_1;
@@ -18029,7 +18029,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_edge_function_p
18029
18029
  Py_ssize_t __pyx_t_5;
18030
18030
  Py_ssize_t __pyx_t_6;
18031
18031
 
18032
- /* "pyvale/cython/rastercyth.py":243
18032
+ /* "pyvale/sensorsim/cython/rastercyth.py":243
18033
18033
  * vert_2_y: cython.double) -> cython.double:
18034
18034
  * edge_fun: cython.double = (
18035
18035
  * (vert_2_x - vert_0[0]) * (vert_1[1] - vert_0[1]) # <<<<<<<<<<<<<<
@@ -18040,7 +18040,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_edge_function_p
18040
18040
  __pyx_t_2 = 1;
18041
18041
  __pyx_t_3 = 1;
18042
18042
 
18043
- /* "pyvale/cython/rastercyth.py":244
18043
+ /* "pyvale/sensorsim/cython/rastercyth.py":244
18044
18044
  * edge_fun: cython.double = (
18045
18045
  * (vert_2_x - vert_0[0]) * (vert_1[1] - vert_0[1])
18046
18046
  * - (vert_2_y - vert_0[1]) * (vert_1[0] - vert_0[0])) # <<<<<<<<<<<<<<
@@ -18052,7 +18052,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_edge_function_p
18052
18052
  __pyx_t_6 = 0;
18053
18053
  __pyx_v_edge_fun = (((__pyx_v_vert_2_x - (*((double *) ( /* dim=0 */ (__pyx_v_vert_0.data + __pyx_t_1 * __pyx_v_vert_0.strides[0]) )))) * ((*((double *) ( /* dim=0 */ (__pyx_v_vert_1.data + __pyx_t_2 * __pyx_v_vert_1.strides[0]) ))) - (*((double *) ( /* dim=0 */ (__pyx_v_vert_0.data + __pyx_t_3 * __pyx_v_vert_0.strides[0]) ))))) - ((__pyx_v_vert_2_y - (*((double *) ( /* dim=0 */ (__pyx_v_vert_0.data + __pyx_t_4 * __pyx_v_vert_0.strides[0]) )))) * ((*((double *) ( /* dim=0 */ (__pyx_v_vert_1.data + __pyx_t_5 * __pyx_v_vert_1.strides[0]) ))) - (*((double *) ( /* dim=0 */ (__pyx_v_vert_0.data + __pyx_t_6 * __pyx_v_vert_0.strides[0]) ))))));
18054
18054
 
18055
- /* "pyvale/cython/rastercyth.py":245
18055
+ /* "pyvale/sensorsim/cython/rastercyth.py":245
18056
18056
  * (vert_2_x - vert_0[0]) * (vert_1[1] - vert_0[1])
18057
18057
  * - (vert_2_y - vert_0[1]) * (vert_1[0] - vert_0[0]))
18058
18058
  * return edge_fun # <<<<<<<<<<<<<<
@@ -18062,7 +18062,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_edge_function_p
18062
18062
  __pyx_r = __pyx_v_edge_fun;
18063
18063
  goto __pyx_L0;
18064
18064
 
18065
- /* "pyvale/cython/rastercyth.py":232
18065
+ /* "pyvale/sensorsim/cython/rastercyth.py":232
18066
18066
  *
18067
18067
  *
18068
18068
  * @cython.cfunc # <<<<<<<<<<<<<<
@@ -18075,7 +18075,7 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_edge_function_p
18075
18075
  return __pyx_r;
18076
18076
  }
18077
18077
 
18078
- /* "pyvale/cython/rastercyth.py":248
18078
+ /* "pyvale/sensorsim/cython/rastercyth.py":248
18079
18079
  *
18080
18080
  *
18081
18081
  * @cython.ccall # <<<<<<<<<<<<<<
@@ -18083,14 +18083,14 @@ static CYTHON_INLINE double __pyx_f_6pyvale_6cython_10rastercyth_edge_function_p
18083
18083
  * @cython.wraparound(False)
18084
18084
  */
18085
18085
 
18086
- static PyObject *__pyx_pw_6pyvale_6cython_10rastercyth_1average_image(PyObject *__pyx_self,
18086
+ static PyObject *__pyx_pw_6pyvale_9sensorsim_6cython_10rastercyth_1average_image(PyObject *__pyx_self,
18087
18087
  #if CYTHON_METH_FASTCALL
18088
18088
  PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
18089
18089
  #else
18090
18090
  PyObject *__pyx_args, PyObject *__pyx_kwds
18091
18091
  #endif
18092
18092
  ); /*proto*/
18093
- static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__Pyx_memviewslice __pyx_v_image_subpx, int __pyx_v_sub_samp, CYTHON_UNUSED int __pyx_skip_dispatch) {
18093
+ static __Pyx_memviewslice __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_average_image(__Pyx_memviewslice __pyx_v_image_subpx, int __pyx_v_sub_samp, CYTHON_UNUSED int __pyx_skip_dispatch) {
18094
18094
  size_t __pyx_v_px_num_y;
18095
18095
  size_t __pyx_v_px_num_x;
18096
18096
  PyObject *__pyx_v_image_buff_avg_np = NULL;
@@ -18135,7 +18135,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18135
18135
  int __pyx_clineno = 0;
18136
18136
  __Pyx_RefNannySetupContext("average_image", 0);
18137
18137
 
18138
- /* "pyvale/cython/rastercyth.py":256
18138
+ /* "pyvale/sensorsim/cython/rastercyth.py":256
18139
18139
  * ) -> cython.double[:,:]:
18140
18140
  *
18141
18141
  * if sub_samp <= 1: # <<<<<<<<<<<<<<
@@ -18145,7 +18145,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18145
18145
  __pyx_t_1 = (__pyx_v_sub_samp <= 1);
18146
18146
  if (__pyx_t_1) {
18147
18147
 
18148
- /* "pyvale/cython/rastercyth.py":257
18148
+ /* "pyvale/sensorsim/cython/rastercyth.py":257
18149
18149
  *
18150
18150
  * if sub_samp <= 1:
18151
18151
  * return np.asarray(image_subpx[:,:]) # <<<<<<<<<<<<<<
@@ -18188,7 +18188,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18188
18188
  __pyx_t_7.data = NULL;
18189
18189
  goto __pyx_L0;
18190
18190
 
18191
- /* "pyvale/cython/rastercyth.py":256
18191
+ /* "pyvale/sensorsim/cython/rastercyth.py":256
18192
18192
  * ) -> cython.double[:,:]:
18193
18193
  *
18194
18194
  * if sub_samp <= 1: # <<<<<<<<<<<<<<
@@ -18197,7 +18197,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18197
18197
  */
18198
18198
  }
18199
18199
 
18200
- /* "pyvale/cython/rastercyth.py":259
18200
+ /* "pyvale/sensorsim/cython/rastercyth.py":259
18201
18201
  * return np.asarray(image_subpx[:,:])
18202
18202
  *
18203
18203
  * px_num_y: cython.size_t = int(ceil(image_subpx.shape[0]/sub_samp)) # <<<<<<<<<<<<<<
@@ -18206,7 +18206,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18206
18206
  */
18207
18207
  __pyx_v_px_num_y = ((size_t)ceil(((__pyx_v_image_subpx.shape[0]) / ((Py_ssize_t)__pyx_v_sub_samp))));
18208
18208
 
18209
- /* "pyvale/cython/rastercyth.py":260
18209
+ /* "pyvale/sensorsim/cython/rastercyth.py":260
18210
18210
  *
18211
18211
  * px_num_y: cython.size_t = int(ceil(image_subpx.shape[0]/sub_samp))
18212
18212
  * px_num_x: cython.size_t = int(ceil(image_subpx.shape[1]/sub_samp)) # <<<<<<<<<<<<<<
@@ -18215,7 +18215,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18215
18215
  */
18216
18216
  __pyx_v_px_num_x = ((size_t)ceil(((__pyx_v_image_subpx.shape[1]) / ((Py_ssize_t)__pyx_v_sub_samp))));
18217
18217
 
18218
- /* "pyvale/cython/rastercyth.py":262
18218
+ /* "pyvale/sensorsim/cython/rastercyth.py":262
18219
18219
  * px_num_x: cython.size_t = int(ceil(image_subpx.shape[1]/sub_samp))
18220
18220
  *
18221
18221
  * image_buff_avg_np = np.full((px_num_y,px_num_x),0.0,dtype=np.float64) # <<<<<<<<<<<<<<
@@ -18274,7 +18274,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18274
18274
  __pyx_v_image_buff_avg_np = __pyx_t_2;
18275
18275
  __pyx_t_2 = 0;
18276
18276
 
18277
- /* "pyvale/cython/rastercyth.py":263
18277
+ /* "pyvale/sensorsim/cython/rastercyth.py":263
18278
18278
  *
18279
18279
  * image_buff_avg_np = np.full((px_num_y,px_num_x),0.0,dtype=np.float64)
18280
18280
  * image_buff_avg: cython.double[:,:] = image_buff_avg_np # <<<<<<<<<<<<<<
@@ -18286,7 +18286,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18286
18286
  __pyx_t_7.memview = NULL;
18287
18287
  __pyx_t_7.data = NULL;
18288
18288
 
18289
- /* "pyvale/cython/rastercyth.py":265
18289
+ /* "pyvale/sensorsim/cython/rastercyth.py":265
18290
18290
  * image_buff_avg: cython.double[:,:] = image_buff_avg_np
18291
18291
  *
18292
18292
  * num_subpx_y: cython.size_t = image_subpx.shape[0] # <<<<<<<<<<<<<<
@@ -18295,7 +18295,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18295
18295
  */
18296
18296
  __pyx_v_num_subpx_y = (__pyx_v_image_subpx.shape[0]);
18297
18297
 
18298
- /* "pyvale/cython/rastercyth.py":266
18298
+ /* "pyvale/sensorsim/cython/rastercyth.py":266
18299
18299
  *
18300
18300
  * num_subpx_y: cython.size_t = image_subpx.shape[0]
18301
18301
  * num_subpx_x: cython.size_t = image_subpx.shape[1] # <<<<<<<<<<<<<<
@@ -18304,7 +18304,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18304
18304
  */
18305
18305
  __pyx_v_num_subpx_x = (__pyx_v_image_subpx.shape[1]);
18306
18306
 
18307
- /* "pyvale/cython/rastercyth.py":267
18307
+ /* "pyvale/sensorsim/cython/rastercyth.py":267
18308
18308
  * num_subpx_y: cython.size_t = image_subpx.shape[0]
18309
18309
  * num_subpx_x: cython.size_t = image_subpx.shape[1]
18310
18310
  * subpx_per_px: cython.double = float(sub_samp*sub_samp) # <<<<<<<<<<<<<<
@@ -18313,7 +18313,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18313
18313
  */
18314
18314
  __pyx_v_subpx_per_px = ((double)(__pyx_v_sub_samp * __pyx_v_sub_samp));
18315
18315
 
18316
- /* "pyvale/cython/rastercyth.py":268
18316
+ /* "pyvale/sensorsim/cython/rastercyth.py":268
18317
18317
  * num_subpx_x: cython.size_t = image_subpx.shape[1]
18318
18318
  * subpx_per_px: cython.double = float(sub_samp*sub_samp)
18319
18319
  * ss_size: cython.size_t = sub_samp # <<<<<<<<<<<<<<
@@ -18322,7 +18322,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18322
18322
  */
18323
18323
  __pyx_v_ss_size = __pyx_v_sub_samp;
18324
18324
 
18325
- /* "pyvale/cython/rastercyth.py":270
18325
+ /* "pyvale/sensorsim/cython/rastercyth.py":270
18326
18326
  * ss_size: cython.size_t = sub_samp
18327
18327
  *
18328
18328
  * num_px_y: cython.size_t = int(num_subpx_y/sub_samp) # <<<<<<<<<<<<<<
@@ -18331,7 +18331,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18331
18331
  */
18332
18332
  __pyx_v_num_px_y = (__pyx_v_num_subpx_y / ((size_t)__pyx_v_sub_samp));
18333
18333
 
18334
- /* "pyvale/cython/rastercyth.py":271
18334
+ /* "pyvale/sensorsim/cython/rastercyth.py":271
18335
18335
  *
18336
18336
  * num_px_y: cython.size_t = int(num_subpx_y/sub_samp)
18337
18337
  * num_px_x: cython.size_t = int(num_subpx_x/sub_samp) # <<<<<<<<<<<<<<
@@ -18340,7 +18340,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18340
18340
  */
18341
18341
  __pyx_v_num_px_x = (__pyx_v_num_subpx_x / ((size_t)__pyx_v_sub_samp));
18342
18342
 
18343
- /* "pyvale/cython/rastercyth.py":273
18343
+ /* "pyvale/sensorsim/cython/rastercyth.py":273
18344
18344
  * num_px_x: cython.size_t = int(num_subpx_x/sub_samp)
18345
18345
  *
18346
18346
  * px_sum: cython.double = 0.0 # <<<<<<<<<<<<<<
@@ -18349,7 +18349,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18349
18349
  */
18350
18350
  __pyx_v_px_sum = 0.0;
18351
18351
 
18352
- /* "pyvale/cython/rastercyth.py":275
18352
+ /* "pyvale/sensorsim/cython/rastercyth.py":275
18353
18353
  * px_sum: cython.double = 0.0
18354
18354
  *
18355
18355
  * ix: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -18358,7 +18358,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18358
18358
  */
18359
18359
  __pyx_v_ix = 0;
18360
18360
 
18361
- /* "pyvale/cython/rastercyth.py":276
18361
+ /* "pyvale/sensorsim/cython/rastercyth.py":276
18362
18362
  *
18363
18363
  * ix: cython.size_t = 0
18364
18364
  * iy: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -18367,7 +18367,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18367
18367
  */
18368
18368
  __pyx_v_iy = 0;
18369
18369
 
18370
- /* "pyvale/cython/rastercyth.py":277
18370
+ /* "pyvale/sensorsim/cython/rastercyth.py":277
18371
18371
  * ix: cython.size_t = 0
18372
18372
  * iy: cython.size_t = 0
18373
18373
  * sx: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -18376,7 +18376,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18376
18376
  */
18377
18377
  __pyx_v_sx = 0;
18378
18378
 
18379
- /* "pyvale/cython/rastercyth.py":278
18379
+ /* "pyvale/sensorsim/cython/rastercyth.py":278
18380
18380
  * iy: cython.size_t = 0
18381
18381
  * sx: cython.size_t = 0
18382
18382
  * sy: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -18385,7 +18385,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18385
18385
  */
18386
18386
  __pyx_v_sy = 0;
18387
18387
 
18388
- /* "pyvale/cython/rastercyth.py":280
18388
+ /* "pyvale/sensorsim/cython/rastercyth.py":280
18389
18389
  * sy: cython.size_t = 0
18390
18390
  *
18391
18391
  * for iy in range(num_px_y): # <<<<<<<<<<<<<<
@@ -18397,7 +18397,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18397
18397
  for (__pyx_t_11 = 0; __pyx_t_11 < __pyx_t_10; __pyx_t_11+=1) {
18398
18398
  __pyx_v_iy = __pyx_t_11;
18399
18399
 
18400
- /* "pyvale/cython/rastercyth.py":281
18400
+ /* "pyvale/sensorsim/cython/rastercyth.py":281
18401
18401
  *
18402
18402
  * for iy in range(num_px_y):
18403
18403
  * for ix in range(num_px_x): # <<<<<<<<<<<<<<
@@ -18409,7 +18409,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18409
18409
  for (__pyx_t_14 = 0; __pyx_t_14 < __pyx_t_13; __pyx_t_14+=1) {
18410
18410
  __pyx_v_ix = __pyx_t_14;
18411
18411
 
18412
- /* "pyvale/cython/rastercyth.py":282
18412
+ /* "pyvale/sensorsim/cython/rastercyth.py":282
18413
18413
  * for iy in range(num_px_y):
18414
18414
  * for ix in range(num_px_x):
18415
18415
  * px_sum = 0.0 # <<<<<<<<<<<<<<
@@ -18418,7 +18418,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18418
18418
  */
18419
18419
  __pyx_v_px_sum = 0.0;
18420
18420
 
18421
- /* "pyvale/cython/rastercyth.py":283
18421
+ /* "pyvale/sensorsim/cython/rastercyth.py":283
18422
18422
  * for ix in range(num_px_x):
18423
18423
  * px_sum = 0.0
18424
18424
  * for sy in range(ss_size): # <<<<<<<<<<<<<<
@@ -18430,7 +18430,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18430
18430
  for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_16; __pyx_t_17+=1) {
18431
18431
  __pyx_v_sy = __pyx_t_17;
18432
18432
 
18433
- /* "pyvale/cython/rastercyth.py":284
18433
+ /* "pyvale/sensorsim/cython/rastercyth.py":284
18434
18434
  * px_sum = 0.0
18435
18435
  * for sy in range(ss_size):
18436
18436
  * for sx in range(ss_size): # <<<<<<<<<<<<<<
@@ -18442,7 +18442,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18442
18442
  for (__pyx_t_20 = 0; __pyx_t_20 < __pyx_t_19; __pyx_t_20+=1) {
18443
18443
  __pyx_v_sx = __pyx_t_20;
18444
18444
 
18445
- /* "pyvale/cython/rastercyth.py":285
18445
+ /* "pyvale/sensorsim/cython/rastercyth.py":285
18446
18446
  * for sy in range(ss_size):
18447
18447
  * for sx in range(ss_size):
18448
18448
  * px_sum += image_subpx[ss_size*iy+sy,ss_size*ix+sx] # <<<<<<<<<<<<<<
@@ -18455,7 +18455,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18455
18455
  }
18456
18456
  }
18457
18457
 
18458
- /* "pyvale/cython/rastercyth.py":287
18458
+ /* "pyvale/sensorsim/cython/rastercyth.py":287
18459
18459
  * px_sum += image_subpx[ss_size*iy+sy,ss_size*ix+sx]
18460
18460
  *
18461
18461
  * image_buff_avg[iy,ix] = px_sum / subpx_per_px # <<<<<<<<<<<<<<
@@ -18468,7 +18468,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18468
18468
  }
18469
18469
  }
18470
18470
 
18471
- /* "pyvale/cython/rastercyth.py":289
18471
+ /* "pyvale/sensorsim/cython/rastercyth.py":289
18472
18472
  * image_buff_avg[iy,ix] = px_sum / subpx_per_px
18473
18473
  *
18474
18474
  * return image_buff_avg # <<<<<<<<<<<<<<
@@ -18479,7 +18479,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18479
18479
  __pyx_r = __pyx_v_image_buff_avg;
18480
18480
  goto __pyx_L0;
18481
18481
 
18482
- /* "pyvale/cython/rastercyth.py":248
18482
+ /* "pyvale/sensorsim/cython/rastercyth.py":248
18483
18483
  *
18484
18484
  *
18485
18485
  * @cython.ccall # <<<<<<<<<<<<<<
@@ -18498,7 +18498,7 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18498
18498
  __Pyx_XDECREF(__pyx_t_9);
18499
18499
  __pyx_r.data = NULL;
18500
18500
  __pyx_r.memview = NULL;
18501
- __Pyx_AddTraceback("pyvale.cython.rastercyth.average_image", __pyx_clineno, __pyx_lineno, __pyx_filename);
18501
+ __Pyx_AddTraceback("pyvale.sensorsim.cython.rastercyth.average_image", __pyx_clineno, __pyx_lineno, __pyx_filename);
18502
18502
  goto __pyx_L2;
18503
18503
  __pyx_L0:;
18504
18504
  if (unlikely(!__pyx_r.memview)) {
@@ -18512,15 +18512,15 @@ static __Pyx_memviewslice __pyx_f_6pyvale_6cython_10rastercyth_average_image(__P
18512
18512
  }
18513
18513
 
18514
18514
  /* Python wrapper */
18515
- static PyObject *__pyx_pw_6pyvale_6cython_10rastercyth_1average_image(PyObject *__pyx_self,
18515
+ static PyObject *__pyx_pw_6pyvale_9sensorsim_6cython_10rastercyth_1average_image(PyObject *__pyx_self,
18516
18516
  #if CYTHON_METH_FASTCALL
18517
18517
  PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
18518
18518
  #else
18519
18519
  PyObject *__pyx_args, PyObject *__pyx_kwds
18520
18520
  #endif
18521
18521
  ); /*proto*/
18522
- static PyMethodDef __pyx_mdef_6pyvale_6cython_10rastercyth_1average_image = {"average_image", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6pyvale_6cython_10rastercyth_1average_image, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
18523
- static PyObject *__pyx_pw_6pyvale_6cython_10rastercyth_1average_image(PyObject *__pyx_self,
18522
+ static PyMethodDef __pyx_mdef_6pyvale_9sensorsim_6cython_10rastercyth_1average_image = {"average_image", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6pyvale_9sensorsim_6cython_10rastercyth_1average_image, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
18523
+ static PyObject *__pyx_pw_6pyvale_9sensorsim_6cython_10rastercyth_1average_image(PyObject *__pyx_self,
18524
18524
  #if CYTHON_METH_FASTCALL
18525
18525
  PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
18526
18526
  #else
@@ -18591,14 +18591,14 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
18591
18591
  Py_XDECREF(values[__pyx_temp]);
18592
18592
  }
18593
18593
  __PYX_XCLEAR_MEMVIEW(&__pyx_v_image_subpx, 1);
18594
- __Pyx_AddTraceback("pyvale.cython.rastercyth.average_image", __pyx_clineno, __pyx_lineno, __pyx_filename);
18594
+ __Pyx_AddTraceback("pyvale.sensorsim.cython.rastercyth.average_image", __pyx_clineno, __pyx_lineno, __pyx_filename);
18595
18595
  __Pyx_RefNannyFinishContext();
18596
18596
  return NULL;
18597
18597
  __pyx_L4_argument_unpacking_done:;
18598
18598
  if (unlikely(((PyObject *)__pyx_v_image_subpx.memview) == Py_None)) {
18599
18599
  PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "image_subpx"); __PYX_ERR(0, 252, __pyx_L1_error)
18600
18600
  }
18601
- __pyx_r = __pyx_pf_6pyvale_6cython_10rastercyth_average_image(__pyx_self, __pyx_v_image_subpx, __pyx_v_sub_samp);
18601
+ __pyx_r = __pyx_pf_6pyvale_9sensorsim_6cython_10rastercyth_average_image(__pyx_self, __pyx_v_image_subpx, __pyx_v_sub_samp);
18602
18602
 
18603
18603
  /* function exit code */
18604
18604
  goto __pyx_L0;
@@ -18618,7 +18618,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
18618
18618
  return __pyx_r;
18619
18619
  }
18620
18620
 
18621
- static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_average_image(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_image_subpx, int __pyx_v_sub_samp) {
18621
+ static PyObject *__pyx_pf_6pyvale_9sensorsim_6cython_10rastercyth_average_image(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_image_subpx, int __pyx_v_sub_samp) {
18622
18622
  PyObject *__pyx_r = NULL;
18623
18623
  __Pyx_RefNannyDeclarations
18624
18624
  __Pyx_memviewslice __pyx_t_1 = { 0, 0, { 0 }, { 0 }, { 0 } };
@@ -18633,7 +18633,7 @@ static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_average_image(CYTHON_UNUS
18633
18633
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
18634
18634
  __PYX_ERR(0, 248, __pyx_L1_error)
18635
18635
  }
18636
- __pyx_t_1 = __pyx_f_6pyvale_6cython_10rastercyth_average_image(__pyx_v_image_subpx, __pyx_v_sub_samp, 1); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 248, __pyx_L1_error)
18636
+ __pyx_t_1 = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_average_image(__pyx_v_image_subpx, __pyx_v_sub_samp, 1); if (unlikely(!__pyx_t_1.memview)) __PYX_ERR(0, 248, __pyx_L1_error)
18637
18637
  __pyx_t_2 = __pyx_memoryview_fromslice(__pyx_t_1, 2, (PyObject *(*)(char *)) __pyx_memview_get_double, (int (*)(char *, PyObject *)) __pyx_memview_set_double, 0);; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 248, __pyx_L1_error)
18638
18638
  __Pyx_GOTREF(__pyx_t_2);
18639
18639
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
@@ -18646,7 +18646,7 @@ static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_average_image(CYTHON_UNUS
18646
18646
  __pyx_L1_error:;
18647
18647
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_1, 1);
18648
18648
  __Pyx_XDECREF(__pyx_t_2);
18649
- __Pyx_AddTraceback("pyvale.cython.rastercyth.average_image", __pyx_clineno, __pyx_lineno, __pyx_filename);
18649
+ __Pyx_AddTraceback("pyvale.sensorsim.cython.rastercyth.average_image", __pyx_clineno, __pyx_lineno, __pyx_filename);
18650
18650
  __pyx_r = NULL;
18651
18651
  __pyx_L0:;
18652
18652
  __Pyx_XGIVEREF(__pyx_r);
@@ -18654,7 +18654,7 @@ static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_average_image(CYTHON_UNUS
18654
18654
  return __pyx_r;
18655
18655
  }
18656
18656
 
18657
- /* "pyvale/cython/rastercyth.py":292
18657
+ /* "pyvale/sensorsim/cython/rastercyth.py":292
18658
18658
  *
18659
18659
  *
18660
18660
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -18662,7 +18662,7 @@ static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_average_image(CYTHON_UNUS
18662
18662
  * @cython.boundscheck(False)
18663
18663
  */
18664
18664
 
18665
- static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslice __pyx_v_image_buff_subpx_in, int __pyx_v_sub_samp, __Pyx_memviewslice __pyx_v_image_buff_avg_out) {
18665
+ static int __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth__average_image(__Pyx_memviewslice __pyx_v_image_buff_subpx_in, int __pyx_v_sub_samp, __Pyx_memviewslice __pyx_v_image_buff_avg_out) {
18666
18666
  size_t __pyx_v_num_subpx_y;
18667
18667
  size_t __pyx_v_num_subpx_x;
18668
18668
  double __pyx_v_subpx_per_px;
@@ -18690,7 +18690,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18690
18690
  size_t __pyx_t_13;
18691
18691
  size_t __pyx_t_14;
18692
18692
 
18693
- /* "pyvale/cython/rastercyth.py":303
18693
+ /* "pyvale/sensorsim/cython/rastercyth.py":303
18694
18694
  * ) -> cython.int:
18695
18695
  *
18696
18696
  * num_subpx_y: cython.size_t = image_buff_subpx_in.shape[0] # <<<<<<<<<<<<<<
@@ -18699,7 +18699,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18699
18699
  */
18700
18700
  __pyx_v_num_subpx_y = (__pyx_v_image_buff_subpx_in.shape[0]);
18701
18701
 
18702
- /* "pyvale/cython/rastercyth.py":304
18702
+ /* "pyvale/sensorsim/cython/rastercyth.py":304
18703
18703
  *
18704
18704
  * num_subpx_y: cython.size_t = image_buff_subpx_in.shape[0]
18705
18705
  * num_subpx_x: cython.size_t = image_buff_subpx_in.shape[1] # <<<<<<<<<<<<<<
@@ -18708,7 +18708,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18708
18708
  */
18709
18709
  __pyx_v_num_subpx_x = (__pyx_v_image_buff_subpx_in.shape[1]);
18710
18710
 
18711
- /* "pyvale/cython/rastercyth.py":305
18711
+ /* "pyvale/sensorsim/cython/rastercyth.py":305
18712
18712
  * num_subpx_y: cython.size_t = image_buff_subpx_in.shape[0]
18713
18713
  * num_subpx_x: cython.size_t = image_buff_subpx_in.shape[1]
18714
18714
  * subpx_per_px: cython.double = float(sub_samp*sub_samp) # <<<<<<<<<<<<<<
@@ -18717,7 +18717,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18717
18717
  */
18718
18718
  __pyx_v_subpx_per_px = ((double)(__pyx_v_sub_samp * __pyx_v_sub_samp));
18719
18719
 
18720
- /* "pyvale/cython/rastercyth.py":306
18720
+ /* "pyvale/sensorsim/cython/rastercyth.py":306
18721
18721
  * num_subpx_x: cython.size_t = image_buff_subpx_in.shape[1]
18722
18722
  * subpx_per_px: cython.double = float(sub_samp*sub_samp)
18723
18723
  * ss_size: cython.size_t = sub_samp # <<<<<<<<<<<<<<
@@ -18726,7 +18726,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18726
18726
  */
18727
18727
  __pyx_v_ss_size = __pyx_v_sub_samp;
18728
18728
 
18729
- /* "pyvale/cython/rastercyth.py":308
18729
+ /* "pyvale/sensorsim/cython/rastercyth.py":308
18730
18730
  * ss_size: cython.size_t = sub_samp
18731
18731
  *
18732
18732
  * num_px_y: cython.size_t = int(num_subpx_y/sub_samp) # <<<<<<<<<<<<<<
@@ -18735,7 +18735,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18735
18735
  */
18736
18736
  __pyx_v_num_px_y = (__pyx_v_num_subpx_y / ((size_t)__pyx_v_sub_samp));
18737
18737
 
18738
- /* "pyvale/cython/rastercyth.py":309
18738
+ /* "pyvale/sensorsim/cython/rastercyth.py":309
18739
18739
  *
18740
18740
  * num_px_y: cython.size_t = int(num_subpx_y/sub_samp)
18741
18741
  * num_px_x: cython.size_t = int(num_subpx_x/sub_samp) # <<<<<<<<<<<<<<
@@ -18744,7 +18744,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18744
18744
  */
18745
18745
  __pyx_v_num_px_x = (__pyx_v_num_subpx_x / ((size_t)__pyx_v_sub_samp));
18746
18746
 
18747
- /* "pyvale/cython/rastercyth.py":311
18747
+ /* "pyvale/sensorsim/cython/rastercyth.py":311
18748
18748
  * num_px_x: cython.size_t = int(num_subpx_x/sub_samp)
18749
18749
  *
18750
18750
  * px_sum: cython.double = 0.0 # <<<<<<<<<<<<<<
@@ -18753,7 +18753,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18753
18753
  */
18754
18754
  __pyx_v_px_sum = 0.0;
18755
18755
 
18756
- /* "pyvale/cython/rastercyth.py":313
18756
+ /* "pyvale/sensorsim/cython/rastercyth.py":313
18757
18757
  * px_sum: cython.double = 0.0
18758
18758
  *
18759
18759
  * ix: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -18762,7 +18762,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18762
18762
  */
18763
18763
  __pyx_v_ix = 0;
18764
18764
 
18765
- /* "pyvale/cython/rastercyth.py":314
18765
+ /* "pyvale/sensorsim/cython/rastercyth.py":314
18766
18766
  *
18767
18767
  * ix: cython.size_t = 0
18768
18768
  * iy: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -18771,7 +18771,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18771
18771
  */
18772
18772
  __pyx_v_iy = 0;
18773
18773
 
18774
- /* "pyvale/cython/rastercyth.py":315
18774
+ /* "pyvale/sensorsim/cython/rastercyth.py":315
18775
18775
  * ix: cython.size_t = 0
18776
18776
  * iy: cython.size_t = 0
18777
18777
  * sx: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -18780,7 +18780,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18780
18780
  */
18781
18781
  __pyx_v_sx = 0;
18782
18782
 
18783
- /* "pyvale/cython/rastercyth.py":316
18783
+ /* "pyvale/sensorsim/cython/rastercyth.py":316
18784
18784
  * iy: cython.size_t = 0
18785
18785
  * sx: cython.size_t = 0
18786
18786
  * sy: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -18789,7 +18789,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18789
18789
  */
18790
18790
  __pyx_v_sy = 0;
18791
18791
 
18792
- /* "pyvale/cython/rastercyth.py":318
18792
+ /* "pyvale/sensorsim/cython/rastercyth.py":318
18793
18793
  * sy: cython.size_t = 0
18794
18794
  *
18795
18795
  * for iy in range(num_px_y): # <<<<<<<<<<<<<<
@@ -18801,7 +18801,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18801
18801
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
18802
18802
  __pyx_v_iy = __pyx_t_3;
18803
18803
 
18804
- /* "pyvale/cython/rastercyth.py":319
18804
+ /* "pyvale/sensorsim/cython/rastercyth.py":319
18805
18805
  *
18806
18806
  * for iy in range(num_px_y):
18807
18807
  * for ix in range(num_px_x): # <<<<<<<<<<<<<<
@@ -18813,7 +18813,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18813
18813
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
18814
18814
  __pyx_v_ix = __pyx_t_6;
18815
18815
 
18816
- /* "pyvale/cython/rastercyth.py":320
18816
+ /* "pyvale/sensorsim/cython/rastercyth.py":320
18817
18817
  * for iy in range(num_px_y):
18818
18818
  * for ix in range(num_px_x):
18819
18819
  * px_sum = 0.0 # <<<<<<<<<<<<<<
@@ -18822,7 +18822,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18822
18822
  */
18823
18823
  __pyx_v_px_sum = 0.0;
18824
18824
 
18825
- /* "pyvale/cython/rastercyth.py":321
18825
+ /* "pyvale/sensorsim/cython/rastercyth.py":321
18826
18826
  * for ix in range(num_px_x):
18827
18827
  * px_sum = 0.0
18828
18828
  * for sy in range(ss_size): # <<<<<<<<<<<<<<
@@ -18834,7 +18834,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18834
18834
  for (__pyx_t_9 = 0; __pyx_t_9 < __pyx_t_8; __pyx_t_9+=1) {
18835
18835
  __pyx_v_sy = __pyx_t_9;
18836
18836
 
18837
- /* "pyvale/cython/rastercyth.py":322
18837
+ /* "pyvale/sensorsim/cython/rastercyth.py":322
18838
18838
  * px_sum = 0.0
18839
18839
  * for sy in range(ss_size):
18840
18840
  * for sx in range(ss_size): # <<<<<<<<<<<<<<
@@ -18846,7 +18846,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18846
18846
  for (__pyx_t_12 = 0; __pyx_t_12 < __pyx_t_11; __pyx_t_12+=1) {
18847
18847
  __pyx_v_sx = __pyx_t_12;
18848
18848
 
18849
- /* "pyvale/cython/rastercyth.py":323
18849
+ /* "pyvale/sensorsim/cython/rastercyth.py":323
18850
18850
  * for sy in range(ss_size):
18851
18851
  * for sx in range(ss_size):
18852
18852
  * px_sum += image_buff_subpx_in[ss_size*iy+sy,ss_size*ix+sx] # <<<<<<<<<<<<<<
@@ -18859,7 +18859,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18859
18859
  }
18860
18860
  }
18861
18861
 
18862
- /* "pyvale/cython/rastercyth.py":325
18862
+ /* "pyvale/sensorsim/cython/rastercyth.py":325
18863
18863
  * px_sum += image_buff_subpx_in[ss_size*iy+sy,ss_size*ix+sx]
18864
18864
  *
18865
18865
  * image_buff_avg_out[iy,ix] = px_sum / subpx_per_px # <<<<<<<<<<<<<<
@@ -18872,7 +18872,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18872
18872
  }
18873
18873
  }
18874
18874
 
18875
- /* "pyvale/cython/rastercyth.py":327
18875
+ /* "pyvale/sensorsim/cython/rastercyth.py":327
18876
18876
  * image_buff_avg_out[iy,ix] = px_sum / subpx_per_px
18877
18877
  *
18878
18878
  * return 0 # <<<<<<<<<<<<<<
@@ -18882,7 +18882,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18882
18882
  __pyx_r = 0;
18883
18883
  goto __pyx_L0;
18884
18884
 
18885
- /* "pyvale/cython/rastercyth.py":292
18885
+ /* "pyvale/sensorsim/cython/rastercyth.py":292
18886
18886
  *
18887
18887
  *
18888
18888
  * @cython.nogil # <<<<<<<<<<<<<<
@@ -18895,7 +18895,7 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18895
18895
  return __pyx_r;
18896
18896
  }
18897
18897
 
18898
- /* "pyvale/cython/rastercyth.py":331
18898
+ /* "pyvale/sensorsim/cython/rastercyth.py":331
18899
18899
  *
18900
18900
  * #///////////////////////////////////////////////////////////////////////////////
18901
18901
  * @cython.ccall # python+C or cython.cfunc for C only # <<<<<<<<<<<<<<
@@ -18903,14 +18903,14 @@ static int __pyx_f_6pyvale_6cython_10rastercyth__average_image(__Pyx_memviewslic
18903
18903
  * @cython.wraparound(False) # Turn off negative indexing
18904
18904
  */
18905
18905
 
18906
- static PyObject *__pyx_pw_6pyvale_6cython_10rastercyth_3raster_static_frame(PyObject *__pyx_self,
18906
+ static PyObject *__pyx_pw_6pyvale_9sensorsim_6cython_10rastercyth_3raster_static_frame(PyObject *__pyx_self,
18907
18907
  #if CYTHON_METH_FASTCALL
18908
18908
  PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
18909
18909
  #else
18910
18910
  PyObject *__pyx_args, PyObject *__pyx_kwds
18911
18911
  #endif
18912
18912
  ); /*proto*/
18913
- static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_memviewslice __pyx_v_coords, __Pyx_memviewslice __pyx_v_connect, __Pyx_memviewslice __pyx_v_fields_to_render, PyObject *__pyx_v_cam_data, CYTHON_UNUSED int __pyx_skip_dispatch) {
18913
+ static PyObject *__pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_raster_static_frame(__Pyx_memviewslice __pyx_v_coords, __Pyx_memviewslice __pyx_v_connect, __Pyx_memviewslice __pyx_v_fields_to_render, PyObject *__pyx_v_cam_data, CYTHON_UNUSED int __pyx_skip_dispatch) {
18914
18914
  __Pyx_memviewslice __pyx_v_world_to_cam_mat = { 0, 0, { 0 }, { 0 }, { 0 } };
18915
18915
  __Pyx_memviewslice __pyx_v_pixels_num = { 0, 0, { 0 }, { 0 }, { 0 } };
18916
18916
  __Pyx_memviewslice __pyx_v_image_dims = { 0, 0, { 0 }, { 0 }, { 0 } };
@@ -18959,7 +18959,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
18959
18959
  int __pyx_clineno = 0;
18960
18960
  __Pyx_RefNannySetupContext("raster_static_frame", 0);
18961
18961
 
18962
- /* "pyvale/cython/rastercyth.py":342
18962
+ /* "pyvale/sensorsim/cython/rastercyth.py":342
18963
18963
  *
18964
18964
  *
18965
18965
  * world_to_cam_mat: cython.double[:,:] = cam_data.world_to_cam_mat # <<<<<<<<<<<<<<
@@ -18974,7 +18974,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
18974
18974
  __pyx_t_2.memview = NULL;
18975
18975
  __pyx_t_2.data = NULL;
18976
18976
 
18977
- /* "pyvale/cython/rastercyth.py":343
18977
+ /* "pyvale/sensorsim/cython/rastercyth.py":343
18978
18978
  *
18979
18979
  * world_to_cam_mat: cython.double[:,:] = cam_data.world_to_cam_mat
18980
18980
  * pixels_num: cython.int[:] = cam_data.pixels_num # <<<<<<<<<<<<<<
@@ -18989,7 +18989,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
18989
18989
  __pyx_t_3.memview = NULL;
18990
18990
  __pyx_t_3.data = NULL;
18991
18991
 
18992
- /* "pyvale/cython/rastercyth.py":344
18992
+ /* "pyvale/sensorsim/cython/rastercyth.py":344
18993
18993
  * world_to_cam_mat: cython.double[:,:] = cam_data.world_to_cam_mat
18994
18994
  * pixels_num: cython.int[:] = cam_data.pixels_num
18995
18995
  * image_dims: cython.double[:] = cam_data.image_dims # <<<<<<<<<<<<<<
@@ -19004,7 +19004,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19004
19004
  __pyx_t_4.memview = NULL;
19005
19005
  __pyx_t_4.data = NULL;
19006
19006
 
19007
- /* "pyvale/cython/rastercyth.py":345
19007
+ /* "pyvale/sensorsim/cython/rastercyth.py":345
19008
19008
  * pixels_num: cython.int[:] = cam_data.pixels_num
19009
19009
  * image_dims: cython.double[:] = cam_data.image_dims
19010
19010
  * image_dist: cython.double = cam_data.image_dist # <<<<<<<<<<<<<<
@@ -19017,7 +19017,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19017
19017
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
19018
19018
  __pyx_v_image_dist = __pyx_t_5;
19019
19019
 
19020
- /* "pyvale/cython/rastercyth.py":346
19020
+ /* "pyvale/sensorsim/cython/rastercyth.py":346
19021
19021
  * image_dims: cython.double[:] = cam_data.image_dims
19022
19022
  * image_dist: cython.double = cam_data.image_dist
19023
19023
  * sub_samp: cython.int = cam_data.sub_samp # <<<<<<<<<<<<<<
@@ -19030,7 +19030,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19030
19030
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
19031
19031
  __pyx_v_sub_samp = __pyx_t_6;
19032
19032
 
19033
- /* "pyvale/cython/rastercyth.py":348
19033
+ /* "pyvale/sensorsim/cython/rastercyth.py":348
19034
19034
  * sub_samp: cython.int = cam_data.sub_samp
19035
19035
  *
19036
19036
  * nodes_per_elem: cython.size_t = connect.shape[1] # <<<<<<<<<<<<<<
@@ -19039,7 +19039,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19039
19039
  */
19040
19040
  __pyx_v_nodes_per_elem = (__pyx_v_connect.shape[1]);
19041
19041
 
19042
- /* "pyvale/cython/rastercyth.py":349
19042
+ /* "pyvale/sensorsim/cython/rastercyth.py":349
19043
19043
  *
19044
19044
  * nodes_per_elem: cython.size_t = connect.shape[1]
19045
19045
  * fields_num: cython.size_t = fields_to_render.shape[1] # <<<<<<<<<<<<<<
@@ -19048,7 +19048,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19048
19048
  */
19049
19049
  __pyx_v_fields_num = (__pyx_v_fields_to_render.shape[1]);
19050
19050
 
19051
- /* "pyvale/cython/rastercyth.py":350
19051
+ /* "pyvale/sensorsim/cython/rastercyth.py":350
19052
19052
  * nodes_per_elem: cython.size_t = connect.shape[1]
19053
19053
  * fields_num: cython.size_t = fields_to_render.shape[1]
19054
19054
  * sub_pix_x: cython.int = pixels_num[0]*sub_samp # <<<<<<<<<<<<<<
@@ -19058,7 +19058,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19058
19058
  __pyx_t_7 = 0;
19059
19059
  __pyx_v_sub_pix_x = ((*((int *) ( /* dim=0 */ (__pyx_v_pixels_num.data + __pyx_t_7 * __pyx_v_pixels_num.strides[0]) ))) * __pyx_v_sub_samp);
19060
19060
 
19061
- /* "pyvale/cython/rastercyth.py":351
19061
+ /* "pyvale/sensorsim/cython/rastercyth.py":351
19062
19062
  * fields_num: cython.size_t = fields_to_render.shape[1]
19063
19063
  * sub_pix_x: cython.int = pixels_num[0]*sub_samp
19064
19064
  * sub_pix_y: cython.int = pixels_num[1]*sub_samp # <<<<<<<<<<<<<<
@@ -19068,7 +19068,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19068
19068
  __pyx_t_7 = 1;
19069
19069
  __pyx_v_sub_pix_y = ((*((int *) ( /* dim=0 */ (__pyx_v_pixels_num.data + __pyx_t_7 * __pyx_v_pixels_num.strides[0]) ))) * __pyx_v_sub_samp);
19070
19070
 
19071
- /* "pyvale/cython/rastercyth.py":355
19071
+ /* "pyvale/sensorsim/cython/rastercyth.py":355
19072
19072
  * #---------------------------------------------------------------------------
19073
19073
  * # Final image buffer memory allocation
19074
19074
  * image_buff_avg_np = np.full((pixels_num[1],pixels_num[0],fields_num),0.0,dtype=np.float64) # <<<<<<<<<<<<<<
@@ -19134,7 +19134,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19134
19134
  __pyx_v_image_buff_avg_np = __pyx_t_1;
19135
19135
  __pyx_t_1 = 0;
19136
19136
 
19137
- /* "pyvale/cython/rastercyth.py":356
19137
+ /* "pyvale/sensorsim/cython/rastercyth.py":356
19138
19138
  * # Final image buffer memory allocation
19139
19139
  * image_buff_avg_np = np.full((pixels_num[1],pixels_num[0],fields_num),0.0,dtype=np.float64)
19140
19140
  * image_buff_avg: cython.double[:,:,:] = image_buff_avg_np # <<<<<<<<<<<<<<
@@ -19146,7 +19146,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19146
19146
  __pyx_t_15.memview = NULL;
19147
19147
  __pyx_t_15.data = NULL;
19148
19148
 
19149
- /* "pyvale/cython/rastercyth.py":358
19149
+ /* "pyvale/sensorsim/cython/rastercyth.py":358
19150
19150
  * image_buff_avg: cython.double[:,:,:] = image_buff_avg_np
19151
19151
  *
19152
19152
  * depth_buff_avg_np = np.full((pixels_num[1],pixels_num[0]),0.0,dtype=np.float64) # <<<<<<<<<<<<<<
@@ -19207,7 +19207,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19207
19207
  __pyx_v_depth_buff_avg_np = __pyx_t_1;
19208
19208
  __pyx_t_1 = 0;
19209
19209
 
19210
- /* "pyvale/cython/rastercyth.py":359
19210
+ /* "pyvale/sensorsim/cython/rastercyth.py":359
19211
19211
  *
19212
19212
  * depth_buff_avg_np = np.full((pixels_num[1],pixels_num[0]),0.0,dtype=np.float64)
19213
19213
  * depth_buff_avg: cython.double[:,:] = depth_buff_avg_np # <<<<<<<<<<<<<<
@@ -19219,7 +19219,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19219
19219
  __pyx_t_2.memview = NULL;
19220
19220
  __pyx_t_2.data = NULL;
19221
19221
 
19222
- /* "pyvale/cython/rastercyth.py":363
19222
+ /* "pyvale/sensorsim/cython/rastercyth.py":363
19223
19223
  * #---------------------------------------------------------------------------
19224
19224
  * # Per-thread scratch memory allocations
19225
19225
  * depth_buffer_np = np.full((sub_pix_y,sub_pix_x),1.0e6,dtype=np.float64) # <<<<<<<<<<<<<<
@@ -19278,7 +19278,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19278
19278
  __pyx_v_depth_buffer_np = __pyx_t_1;
19279
19279
  __pyx_t_1 = 0;
19280
19280
 
19281
- /* "pyvale/cython/rastercyth.py":364
19281
+ /* "pyvale/sensorsim/cython/rastercyth.py":364
19282
19282
  * # Per-thread scratch memory allocations
19283
19283
  * depth_buffer_np = np.full((sub_pix_y,sub_pix_x),1.0e6,dtype=np.float64)
19284
19284
  * depth_buff_subpx: cython.double[:,:] = depth_buffer_np # <<<<<<<<<<<<<<
@@ -19290,7 +19290,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19290
19290
  __pyx_t_2.memview = NULL;
19291
19291
  __pyx_t_2.data = NULL;
19292
19292
 
19293
- /* "pyvale/cython/rastercyth.py":366
19293
+ /* "pyvale/sensorsim/cython/rastercyth.py":366
19294
19294
  * depth_buff_subpx: cython.double[:,:] = depth_buffer_np
19295
19295
  *
19296
19296
  * image_buffer_np = np.full((sub_pix_y,sub_pix_x,fields_num),0.0,dtype=np.float64) # <<<<<<<<<<<<<<
@@ -19354,7 +19354,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19354
19354
  __pyx_v_image_buffer_np = __pyx_t_1;
19355
19355
  __pyx_t_1 = 0;
19356
19356
 
19357
- /* "pyvale/cython/rastercyth.py":367
19357
+ /* "pyvale/sensorsim/cython/rastercyth.py":367
19358
19358
  *
19359
19359
  * image_buffer_np = np.full((sub_pix_y,sub_pix_x,fields_num),0.0,dtype=np.float64)
19360
19360
  * image_buff_subpx: cython.double[:,:,:] = image_buffer_np # <<<<<<<<<<<<<<
@@ -19366,7 +19366,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19366
19366
  __pyx_t_15.memview = NULL;
19367
19367
  __pyx_t_15.data = NULL;
19368
19368
 
19369
- /* "pyvale/cython/rastercyth.py":370
19369
+ /* "pyvale/sensorsim/cython/rastercyth.py":370
19370
19370
  *
19371
19371
  * # shape=(nodes_per_elem, coord[X,Y,Z,W])
19372
19372
  * nodes_raster_np = np.empty((nodes_per_elem,4),dtype=np.float64) # <<<<<<<<<<<<<<
@@ -19423,7 +19423,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19423
19423
  __pyx_v_nodes_raster_np = __pyx_t_1;
19424
19424
  __pyx_t_1 = 0;
19425
19425
 
19426
- /* "pyvale/cython/rastercyth.py":371
19426
+ /* "pyvale/sensorsim/cython/rastercyth.py":371
19427
19427
  * # shape=(nodes_per_elem, coord[X,Y,Z,W])
19428
19428
  * nodes_raster_np = np.empty((nodes_per_elem,4),dtype=np.float64)
19429
19429
  * nodes_raster_buff: cython.double[:,:] = nodes_raster_np # <<<<<<<<<<<<<<
@@ -19435,7 +19435,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19435
19435
  __pyx_t_2.memview = NULL;
19436
19436
  __pyx_t_2.data = NULL;
19437
19437
 
19438
- /* "pyvale/cython/rastercyth.py":373
19438
+ /* "pyvale/sensorsim/cython/rastercyth.py":373
19439
19439
  * nodes_raster_buff: cython.double[:,:] = nodes_raster_np
19440
19440
  *
19441
19441
  * field_raster_np = np.empty((nodes_per_elem,),dtype=np.float64) # <<<<<<<<<<<<<<
@@ -19489,7 +19489,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19489
19489
  __pyx_v_field_raster_np = __pyx_t_1;
19490
19490
  __pyx_t_1 = 0;
19491
19491
 
19492
- /* "pyvale/cython/rastercyth.py":374
19492
+ /* "pyvale/sensorsim/cython/rastercyth.py":374
19493
19493
  *
19494
19494
  * field_raster_np = np.empty((nodes_per_elem,),dtype=np.float64)
19495
19495
  * field_raster_buff: cython.double[:] = field_raster_np # <<<<<<<<<<<<<<
@@ -19501,7 +19501,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19501
19501
  __pyx_t_4.memview = NULL;
19502
19502
  __pyx_t_4.data = NULL;
19503
19503
 
19504
- /* "pyvale/cython/rastercyth.py":376
19504
+ /* "pyvale/sensorsim/cython/rastercyth.py":376
19505
19505
  * field_raster_buff: cython.double[:] = field_raster_np
19506
19506
  *
19507
19507
  * weights_np = np.zeros((nodes_per_elem,),np.float64) # <<<<<<<<<<<<<<
@@ -19551,7 +19551,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19551
19551
  __pyx_v_weights_np = __pyx_t_1;
19552
19552
  __pyx_t_1 = 0;
19553
19553
 
19554
- /* "pyvale/cython/rastercyth.py":377
19554
+ /* "pyvale/sensorsim/cython/rastercyth.py":377
19555
19555
  *
19556
19556
  * weights_np = np.zeros((nodes_per_elem,),np.float64)
19557
19557
  * weights_buff: cython.double[:] = weights_np # <<<<<<<<<<<<<<
@@ -19563,7 +19563,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19563
19563
  __pyx_t_4.memview = NULL;
19564
19564
  __pyx_t_4.data = NULL;
19565
19565
 
19566
- /* "pyvale/cython/rastercyth.py":380
19566
+ /* "pyvale/sensorsim/cython/rastercyth.py":380
19567
19567
  *
19568
19568
  * # Only used for edge function in raster coords - need x,y
19569
19569
  * px_coord_np = np.zeros((2,),np.float64) # <<<<<<<<<<<<<<
@@ -19605,7 +19605,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19605
19605
  __pyx_v_px_coord_np = __pyx_t_1;
19606
19606
  __pyx_t_1 = 0;
19607
19607
 
19608
- /* "pyvale/cython/rastercyth.py":381
19608
+ /* "pyvale/sensorsim/cython/rastercyth.py":381
19609
19609
  * # Only used for edge function in raster coords - need x,y
19610
19610
  * px_coord_np = np.zeros((2,),np.float64)
19611
19611
  * px_coord_buff: cython.double[:] = px_coord_np # <<<<<<<<<<<<<<
@@ -19617,209 +19617,209 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19617
19617
  __pyx_t_4.memview = NULL;
19618
19618
  __pyx_t_4.data = NULL;
19619
19619
 
19620
- /* "pyvale/cython/rastercyth.py":386
19621
- * #---------------------------------------------------------------------------
19620
+ /* "pyvale/sensorsim/cython/rastercyth.py":385
19622
19621
  *
19622
+ * #---------------------------------------------------------------------------
19623
19623
  * elems_in_image: cython.size_t = _raster_frame(coords[:,:], # <<<<<<<<<<<<<<
19624
- * connect[:,:],
19625
- * fields_to_render[:,:],
19624
+ * connect[:,:],
19625
+ * fields_to_render[:,:],
19626
19626
  */
19627
19627
  if (unlikely(((PyObject *) __pyx_v_coords.memview) == Py_None)) {
19628
19628
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
19629
- __PYX_ERR(0, 386, __pyx_L1_error)
19629
+ __PYX_ERR(0, 385, __pyx_L1_error)
19630
19630
  }
19631
19631
 
19632
- /* "pyvale/cython/rastercyth.py":387
19633
- *
19632
+ /* "pyvale/sensorsim/cython/rastercyth.py":386
19633
+ * #---------------------------------------------------------------------------
19634
19634
  * elems_in_image: cython.size_t = _raster_frame(coords[:,:],
19635
- * connect[:,:], # <<<<<<<<<<<<<<
19636
- * fields_to_render[:,:],
19637
- * world_to_cam_mat[:,:],
19635
+ * connect[:,:], # <<<<<<<<<<<<<<
19636
+ * fields_to_render[:,:],
19637
+ * world_to_cam_mat[:,:],
19638
19638
  */
19639
19639
  if (unlikely(((PyObject *) __pyx_v_connect.memview) == Py_None)) {
19640
19640
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
19641
- __PYX_ERR(0, 387, __pyx_L1_error)
19641
+ __PYX_ERR(0, 386, __pyx_L1_error)
19642
19642
  }
19643
19643
 
19644
- /* "pyvale/cython/rastercyth.py":388
19644
+ /* "pyvale/sensorsim/cython/rastercyth.py":387
19645
19645
  * elems_in_image: cython.size_t = _raster_frame(coords[:,:],
19646
- * connect[:,:],
19647
- * fields_to_render[:,:], # <<<<<<<<<<<<<<
19648
- * world_to_cam_mat[:,:],
19649
- * pixels_num[:],
19646
+ * connect[:,:],
19647
+ * fields_to_render[:,:], # <<<<<<<<<<<<<<
19648
+ * world_to_cam_mat[:,:],
19649
+ * pixels_num[:],
19650
19650
  */
19651
19651
  if (unlikely(((PyObject *) __pyx_v_fields_to_render.memview) == Py_None)) {
19652
19652
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
19653
- __PYX_ERR(0, 388, __pyx_L1_error)
19653
+ __PYX_ERR(0, 387, __pyx_L1_error)
19654
19654
  }
19655
19655
 
19656
- /* "pyvale/cython/rastercyth.py":389
19657
- * connect[:,:],
19658
- * fields_to_render[:,:],
19659
- * world_to_cam_mat[:,:], # <<<<<<<<<<<<<<
19660
- * pixels_num[:],
19661
- * image_dims[:],
19656
+ /* "pyvale/sensorsim/cython/rastercyth.py":388
19657
+ * connect[:,:],
19658
+ * fields_to_render[:,:],
19659
+ * world_to_cam_mat[:,:], # <<<<<<<<<<<<<<
19660
+ * pixels_num[:],
19661
+ * image_dims[:],
19662
19662
  */
19663
19663
  if (unlikely(((PyObject *) __pyx_v_world_to_cam_mat.memview) == Py_None)) {
19664
19664
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
19665
- __PYX_ERR(0, 389, __pyx_L1_error)
19665
+ __PYX_ERR(0, 388, __pyx_L1_error)
19666
19666
  }
19667
19667
 
19668
- /* "pyvale/cython/rastercyth.py":390
19669
- * fields_to_render[:,:],
19670
- * world_to_cam_mat[:,:],
19671
- * pixels_num[:], # <<<<<<<<<<<<<<
19672
- * image_dims[:],
19673
- * image_dist,
19668
+ /* "pyvale/sensorsim/cython/rastercyth.py":389
19669
+ * fields_to_render[:,:],
19670
+ * world_to_cam_mat[:,:],
19671
+ * pixels_num[:], # <<<<<<<<<<<<<<
19672
+ * image_dims[:],
19673
+ * image_dist,
19674
19674
  */
19675
19675
  if (unlikely(((PyObject *) __pyx_v_pixels_num.memview) == Py_None)) {
19676
19676
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
19677
- __PYX_ERR(0, 390, __pyx_L1_error)
19677
+ __PYX_ERR(0, 389, __pyx_L1_error)
19678
19678
  }
19679
19679
 
19680
- /* "pyvale/cython/rastercyth.py":391
19681
- * world_to_cam_mat[:,:],
19682
- * pixels_num[:],
19683
- * image_dims[:], # <<<<<<<<<<<<<<
19684
- * image_dist,
19685
- * sub_samp,
19680
+ /* "pyvale/sensorsim/cython/rastercyth.py":390
19681
+ * world_to_cam_mat[:,:],
19682
+ * pixels_num[:],
19683
+ * image_dims[:], # <<<<<<<<<<<<<<
19684
+ * image_dist,
19685
+ * sub_samp,
19686
19686
  */
19687
19687
  if (unlikely(((PyObject *) __pyx_v_image_dims.memview) == Py_None)) {
19688
19688
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
19689
- __PYX_ERR(0, 391, __pyx_L1_error)
19689
+ __PYX_ERR(0, 390, __pyx_L1_error)
19690
19690
  }
19691
19691
 
19692
- /* "pyvale/cython/rastercyth.py":394
19693
- * image_dist,
19694
- * sub_samp,
19695
- * image_buff_avg[:,:,:], # <<<<<<<<<<<<<<
19696
- * depth_buff_avg[:,:],
19697
- * image_buff_subpx[:,:,:],
19692
+ /* "pyvale/sensorsim/cython/rastercyth.py":393
19693
+ * image_dist,
19694
+ * sub_samp,
19695
+ * image_buff_avg[:,:,:], # <<<<<<<<<<<<<<
19696
+ * depth_buff_avg[:,:],
19697
+ * image_buff_subpx[:,:,:],
19698
19698
  */
19699
19699
  if (unlikely(((PyObject *) __pyx_v_image_buff_avg.memview) == Py_None)) {
19700
19700
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
19701
- __PYX_ERR(0, 394, __pyx_L1_error)
19701
+ __PYX_ERR(0, 393, __pyx_L1_error)
19702
19702
  }
19703
19703
 
19704
- /* "pyvale/cython/rastercyth.py":395
19705
- * sub_samp,
19706
- * image_buff_avg[:,:,:],
19707
- * depth_buff_avg[:,:], # <<<<<<<<<<<<<<
19708
- * image_buff_subpx[:,:,:],
19709
- * depth_buff_subpx[:,:],
19704
+ /* "pyvale/sensorsim/cython/rastercyth.py":394
19705
+ * sub_samp,
19706
+ * image_buff_avg[:,:,:],
19707
+ * depth_buff_avg[:,:], # <<<<<<<<<<<<<<
19708
+ * image_buff_subpx[:,:,:],
19709
+ * depth_buff_subpx[:,:],
19710
19710
  */
19711
19711
  if (unlikely(((PyObject *) __pyx_v_depth_buff_avg.memview) == Py_None)) {
19712
19712
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
19713
- __PYX_ERR(0, 395, __pyx_L1_error)
19713
+ __PYX_ERR(0, 394, __pyx_L1_error)
19714
19714
  }
19715
19715
 
19716
- /* "pyvale/cython/rastercyth.py":396
19717
- * image_buff_avg[:,:,:],
19718
- * depth_buff_avg[:,:],
19719
- * image_buff_subpx[:,:,:], # <<<<<<<<<<<<<<
19720
- * depth_buff_subpx[:,:],
19721
- * nodes_raster_buff[:,:],
19716
+ /* "pyvale/sensorsim/cython/rastercyth.py":395
19717
+ * image_buff_avg[:,:,:],
19718
+ * depth_buff_avg[:,:],
19719
+ * image_buff_subpx[:,:,:], # <<<<<<<<<<<<<<
19720
+ * depth_buff_subpx[:,:],
19721
+ * nodes_raster_buff[:,:],
19722
19722
  */
19723
19723
  if (unlikely(((PyObject *) __pyx_v_image_buff_subpx.memview) == Py_None)) {
19724
19724
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
19725
- __PYX_ERR(0, 396, __pyx_L1_error)
19725
+ __PYX_ERR(0, 395, __pyx_L1_error)
19726
19726
  }
19727
19727
 
19728
- /* "pyvale/cython/rastercyth.py":397
19729
- * depth_buff_avg[:,:],
19730
- * image_buff_subpx[:,:,:],
19731
- * depth_buff_subpx[:,:], # <<<<<<<<<<<<<<
19732
- * nodes_raster_buff[:,:],
19733
- * field_raster_buff[:],
19728
+ /* "pyvale/sensorsim/cython/rastercyth.py":396
19729
+ * depth_buff_avg[:,:],
19730
+ * image_buff_subpx[:,:,:],
19731
+ * depth_buff_subpx[:,:], # <<<<<<<<<<<<<<
19732
+ * nodes_raster_buff[:,:],
19733
+ * field_raster_buff[:],
19734
19734
  */
19735
19735
  if (unlikely(((PyObject *) __pyx_v_depth_buff_subpx.memview) == Py_None)) {
19736
19736
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
19737
- __PYX_ERR(0, 397, __pyx_L1_error)
19737
+ __PYX_ERR(0, 396, __pyx_L1_error)
19738
19738
  }
19739
19739
 
19740
- /* "pyvale/cython/rastercyth.py":398
19741
- * image_buff_subpx[:,:,:],
19742
- * depth_buff_subpx[:,:],
19743
- * nodes_raster_buff[:,:], # <<<<<<<<<<<<<<
19744
- * field_raster_buff[:],
19745
- * px_coord_buff[:],
19740
+ /* "pyvale/sensorsim/cython/rastercyth.py":397
19741
+ * image_buff_subpx[:,:,:],
19742
+ * depth_buff_subpx[:,:],
19743
+ * nodes_raster_buff[:,:], # <<<<<<<<<<<<<<
19744
+ * field_raster_buff[:],
19745
+ * px_coord_buff[:],
19746
19746
  */
19747
19747
  if (unlikely(((PyObject *) __pyx_v_nodes_raster_buff.memview) == Py_None)) {
19748
19748
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
19749
- __PYX_ERR(0, 398, __pyx_L1_error)
19749
+ __PYX_ERR(0, 397, __pyx_L1_error)
19750
19750
  }
19751
19751
 
19752
- /* "pyvale/cython/rastercyth.py":399
19753
- * depth_buff_subpx[:,:],
19754
- * nodes_raster_buff[:,:],
19755
- * field_raster_buff[:], # <<<<<<<<<<<<<<
19756
- * px_coord_buff[:],
19757
- * weights_buff[:])
19752
+ /* "pyvale/sensorsim/cython/rastercyth.py":398
19753
+ * depth_buff_subpx[:,:],
19754
+ * nodes_raster_buff[:,:],
19755
+ * field_raster_buff[:], # <<<<<<<<<<<<<<
19756
+ * px_coord_buff[:],
19757
+ * weights_buff[:])
19758
19758
  */
19759
19759
  if (unlikely(((PyObject *) __pyx_v_field_raster_buff.memview) == Py_None)) {
19760
19760
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
19761
- __PYX_ERR(0, 399, __pyx_L1_error)
19761
+ __PYX_ERR(0, 398, __pyx_L1_error)
19762
19762
  }
19763
19763
 
19764
- /* "pyvale/cython/rastercyth.py":400
19765
- * nodes_raster_buff[:,:],
19766
- * field_raster_buff[:],
19767
- * px_coord_buff[:], # <<<<<<<<<<<<<<
19768
- * weights_buff[:])
19764
+ /* "pyvale/sensorsim/cython/rastercyth.py":399
19765
+ * nodes_raster_buff[:,:],
19766
+ * field_raster_buff[:],
19767
+ * px_coord_buff[:], # <<<<<<<<<<<<<<
19768
+ * weights_buff[:])
19769
19769
  *
19770
19770
  */
19771
19771
  if (unlikely(((PyObject *) __pyx_v_px_coord_buff.memview) == Py_None)) {
19772
19772
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
19773
- __PYX_ERR(0, 400, __pyx_L1_error)
19773
+ __PYX_ERR(0, 399, __pyx_L1_error)
19774
19774
  }
19775
19775
 
19776
- /* "pyvale/cython/rastercyth.py":401
19777
- * field_raster_buff[:],
19778
- * px_coord_buff[:],
19779
- * weights_buff[:]) # <<<<<<<<<<<<<<
19776
+ /* "pyvale/sensorsim/cython/rastercyth.py":400
19777
+ * field_raster_buff[:],
19778
+ * px_coord_buff[:],
19779
+ * weights_buff[:]) # <<<<<<<<<<<<<<
19780
19780
  *
19781
19781
  * return (image_buff_avg_np,depth_buff_avg_np,elems_in_image)
19782
19782
  */
19783
19783
  if (unlikely(((PyObject *) __pyx_v_weights_buff.memview) == Py_None)) {
19784
19784
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
19785
- __PYX_ERR(0, 401, __pyx_L1_error)
19785
+ __PYX_ERR(0, 400, __pyx_L1_error)
19786
19786
  }
19787
19787
 
19788
- /* "pyvale/cython/rastercyth.py":386
19789
- * #---------------------------------------------------------------------------
19788
+ /* "pyvale/sensorsim/cython/rastercyth.py":385
19790
19789
  *
19790
+ * #---------------------------------------------------------------------------
19791
19791
  * elems_in_image: cython.size_t = _raster_frame(coords[:,:], # <<<<<<<<<<<<<<
19792
- * connect[:,:],
19793
- * fields_to_render[:,:],
19792
+ * connect[:,:],
19793
+ * fields_to_render[:,:],
19794
19794
  */
19795
- __pyx_v_elems_in_image = __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__pyx_v_coords, __pyx_v_connect, __pyx_v_fields_to_render, __pyx_v_world_to_cam_mat, __pyx_v_pixels_num, __pyx_v_image_dims, __pyx_v_image_dist, __pyx_v_sub_samp, __pyx_v_image_buff_avg, __pyx_v_depth_buff_avg, __pyx_v_image_buff_subpx, __pyx_v_depth_buff_subpx, __pyx_v_nodes_raster_buff, __pyx_v_field_raster_buff, __pyx_v_px_coord_buff, __pyx_v_weights_buff);
19795
+ __pyx_v_elems_in_image = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth__raster_frame(__pyx_v_coords, __pyx_v_connect, __pyx_v_fields_to_render, __pyx_v_world_to_cam_mat, __pyx_v_pixels_num, __pyx_v_image_dims, __pyx_v_image_dist, __pyx_v_sub_samp, __pyx_v_image_buff_avg, __pyx_v_depth_buff_avg, __pyx_v_image_buff_subpx, __pyx_v_depth_buff_subpx, __pyx_v_nodes_raster_buff, __pyx_v_field_raster_buff, __pyx_v_px_coord_buff, __pyx_v_weights_buff);
19796
19796
 
19797
- /* "pyvale/cython/rastercyth.py":403
19798
- * weights_buff[:])
19797
+ /* "pyvale/sensorsim/cython/rastercyth.py":402
19798
+ * weights_buff[:])
19799
19799
  *
19800
19800
  * return (image_buff_avg_np,depth_buff_avg_np,elems_in_image) # <<<<<<<<<<<<<<
19801
19801
  *
19802
19802
  * #///////////////////////////////////////////////////////////////////////////////
19803
19803
  */
19804
19804
  __Pyx_XDECREF(__pyx_r);
19805
- __pyx_t_1 = __Pyx_PyLong_FromSize_t(__pyx_v_elems_in_image); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 403, __pyx_L1_error)
19805
+ __pyx_t_1 = __Pyx_PyLong_FromSize_t(__pyx_v_elems_in_image); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 402, __pyx_L1_error)
19806
19806
  __Pyx_GOTREF(__pyx_t_1);
19807
- __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 403, __pyx_L1_error)
19807
+ __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 402, __pyx_L1_error)
19808
19808
  __Pyx_GOTREF(__pyx_t_9);
19809
19809
  __Pyx_INCREF(__pyx_v_image_buff_avg_np);
19810
19810
  __Pyx_GIVEREF(__pyx_v_image_buff_avg_np);
19811
- if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_v_image_buff_avg_np) != (0)) __PYX_ERR(0, 403, __pyx_L1_error);
19811
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_v_image_buff_avg_np) != (0)) __PYX_ERR(0, 402, __pyx_L1_error);
19812
19812
  __Pyx_INCREF(__pyx_v_depth_buff_avg_np);
19813
19813
  __Pyx_GIVEREF(__pyx_v_depth_buff_avg_np);
19814
- if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_v_depth_buff_avg_np) != (0)) __PYX_ERR(0, 403, __pyx_L1_error);
19814
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_v_depth_buff_avg_np) != (0)) __PYX_ERR(0, 402, __pyx_L1_error);
19815
19815
  __Pyx_GIVEREF(__pyx_t_1);
19816
- if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_1) != (0)) __PYX_ERR(0, 403, __pyx_L1_error);
19816
+ if (__Pyx_PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_1) != (0)) __PYX_ERR(0, 402, __pyx_L1_error);
19817
19817
  __pyx_t_1 = 0;
19818
19818
  __pyx_r = ((PyObject*)__pyx_t_9);
19819
19819
  __pyx_t_9 = 0;
19820
19820
  goto __pyx_L0;
19821
19821
 
19822
- /* "pyvale/cython/rastercyth.py":331
19822
+ /* "pyvale/sensorsim/cython/rastercyth.py":331
19823
19823
  *
19824
19824
  * #///////////////////////////////////////////////////////////////////////////////
19825
19825
  * @cython.ccall # python+C or cython.cfunc for C only # <<<<<<<<<<<<<<
@@ -19840,7 +19840,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19840
19840
  __Pyx_XDECREF(__pyx_t_12);
19841
19841
  __Pyx_XDECREF(__pyx_t_13);
19842
19842
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_15, 1);
19843
- __Pyx_AddTraceback("pyvale.cython.rastercyth.raster_static_frame", __pyx_clineno, __pyx_lineno, __pyx_filename);
19843
+ __Pyx_AddTraceback("pyvale.sensorsim.cython.rastercyth.raster_static_frame", __pyx_clineno, __pyx_lineno, __pyx_filename);
19844
19844
  __pyx_r = 0;
19845
19845
  __pyx_L0:;
19846
19846
  __PYX_XCLEAR_MEMVIEW(&__pyx_v_world_to_cam_mat, 1);
@@ -19868,15 +19868,15 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__Pyx_
19868
19868
  }
19869
19869
 
19870
19870
  /* Python wrapper */
19871
- static PyObject *__pyx_pw_6pyvale_6cython_10rastercyth_3raster_static_frame(PyObject *__pyx_self,
19871
+ static PyObject *__pyx_pw_6pyvale_9sensorsim_6cython_10rastercyth_3raster_static_frame(PyObject *__pyx_self,
19872
19872
  #if CYTHON_METH_FASTCALL
19873
19873
  PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
19874
19874
  #else
19875
19875
  PyObject *__pyx_args, PyObject *__pyx_kwds
19876
19876
  #endif
19877
19877
  ); /*proto*/
19878
- static PyMethodDef __pyx_mdef_6pyvale_6cython_10rastercyth_3raster_static_frame = {"raster_static_frame", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6pyvale_6cython_10rastercyth_3raster_static_frame, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
19879
- static PyObject *__pyx_pw_6pyvale_6cython_10rastercyth_3raster_static_frame(PyObject *__pyx_self,
19878
+ static PyMethodDef __pyx_mdef_6pyvale_9sensorsim_6cython_10rastercyth_3raster_static_frame = {"raster_static_frame", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6pyvale_9sensorsim_6cython_10rastercyth_3raster_static_frame, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
19879
+ static PyObject *__pyx_pw_6pyvale_9sensorsim_6cython_10rastercyth_3raster_static_frame(PyObject *__pyx_self,
19880
19880
  #if CYTHON_METH_FASTCALL
19881
19881
  PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
19882
19882
  #else
@@ -19965,7 +19965,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
19965
19965
  __PYX_XCLEAR_MEMVIEW(&__pyx_v_coords, 1);
19966
19966
  __PYX_XCLEAR_MEMVIEW(&__pyx_v_connect, 1);
19967
19967
  __PYX_XCLEAR_MEMVIEW(&__pyx_v_fields_to_render, 1);
19968
- __Pyx_AddTraceback("pyvale.cython.rastercyth.raster_static_frame", __pyx_clineno, __pyx_lineno, __pyx_filename);
19968
+ __Pyx_AddTraceback("pyvale.sensorsim.cython.rastercyth.raster_static_frame", __pyx_clineno, __pyx_lineno, __pyx_filename);
19969
19969
  __Pyx_RefNannyFinishContext();
19970
19970
  return NULL;
19971
19971
  __pyx_L4_argument_unpacking_done:;
@@ -19978,7 +19978,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
19978
19978
  if (unlikely(((PyObject *)__pyx_v_fields_to_render.memview) == Py_None)) {
19979
19979
  PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "fields_to_render"); __PYX_ERR(0, 337, __pyx_L1_error)
19980
19980
  }
19981
- __pyx_r = __pyx_pf_6pyvale_6cython_10rastercyth_2raster_static_frame(__pyx_self, __pyx_v_coords, __pyx_v_connect, __pyx_v_fields_to_render, __pyx_v_cam_data);
19981
+ __pyx_r = __pyx_pf_6pyvale_9sensorsim_6cython_10rastercyth_2raster_static_frame(__pyx_self, __pyx_v_coords, __pyx_v_connect, __pyx_v_fields_to_render, __pyx_v_cam_data);
19982
19982
 
19983
19983
  /* function exit code */
19984
19984
  goto __pyx_L0;
@@ -20000,7 +20000,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
20000
20000
  return __pyx_r;
20001
20001
  }
20002
20002
 
20003
- static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_2raster_static_frame(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_coords, __Pyx_memviewslice __pyx_v_connect, __Pyx_memviewslice __pyx_v_fields_to_render, PyObject *__pyx_v_cam_data) {
20003
+ static PyObject *__pyx_pf_6pyvale_9sensorsim_6cython_10rastercyth_2raster_static_frame(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_coords, __Pyx_memviewslice __pyx_v_connect, __Pyx_memviewslice __pyx_v_fields_to_render, PyObject *__pyx_v_cam_data) {
20004
20004
  PyObject *__pyx_r = NULL;
20005
20005
  __Pyx_RefNannyDeclarations
20006
20006
  PyObject *__pyx_t_1 = NULL;
@@ -20024,7 +20024,7 @@ static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_2raster_static_frame(CYTH
20024
20024
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
20025
20025
  __PYX_ERR(0, 331, __pyx_L1_error)
20026
20026
  }
20027
- __pyx_t_1 = __pyx_f_6pyvale_6cython_10rastercyth_raster_static_frame(__pyx_v_coords, __pyx_v_connect, __pyx_v_fields_to_render, __pyx_v_cam_data, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L1_error)
20027
+ __pyx_t_1 = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_raster_static_frame(__pyx_v_coords, __pyx_v_connect, __pyx_v_fields_to_render, __pyx_v_cam_data, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 331, __pyx_L1_error)
20028
20028
  __Pyx_GOTREF(__pyx_t_1);
20029
20029
  __pyx_r = __pyx_t_1;
20030
20030
  __pyx_t_1 = 0;
@@ -20033,7 +20033,7 @@ static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_2raster_static_frame(CYTH
20033
20033
  /* function exit code */
20034
20034
  __pyx_L1_error:;
20035
20035
  __Pyx_XDECREF(__pyx_t_1);
20036
- __Pyx_AddTraceback("pyvale.cython.rastercyth.raster_static_frame", __pyx_clineno, __pyx_lineno, __pyx_filename);
20036
+ __Pyx_AddTraceback("pyvale.sensorsim.cython.rastercyth.raster_static_frame", __pyx_clineno, __pyx_lineno, __pyx_filename);
20037
20037
  __pyx_r = NULL;
20038
20038
  __pyx_L0:;
20039
20039
  __Pyx_XGIVEREF(__pyx_r);
@@ -20041,7 +20041,7 @@ static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_2raster_static_frame(CYTH
20041
20041
  return __pyx_r;
20042
20042
  }
20043
20043
 
20044
- /* "pyvale/cython/rastercyth.py":406
20044
+ /* "pyvale/sensorsim/cython/rastercyth.py":405
20045
20045
  *
20046
20046
  * #///////////////////////////////////////////////////////////////////////////////
20047
20047
  * @cython.ccall # python+C or cython.cfunc for C only # <<<<<<<<<<<<<<
@@ -20049,19 +20049,19 @@ static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_2raster_static_frame(CYTH
20049
20049
  * @cython.wraparound(False) # Turn off negative indexing
20050
20050
  */
20051
20051
 
20052
- static PyObject *__pyx_pw_6pyvale_6cython_10rastercyth_5raster_deform_frame(PyObject *__pyx_self,
20052
+ static PyObject *__pyx_pw_6pyvale_9sensorsim_6cython_10rastercyth_5raster_deform_frame(PyObject *__pyx_self,
20053
20053
  #if CYTHON_METH_FASTCALL
20054
20054
  PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
20055
20055
  #else
20056
20056
  PyObject *__pyx_args, PyObject *__pyx_kwds
20057
20057
  #endif
20058
20058
  ); /*proto*/
20059
- static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_deform_frame(CYTHON_UNUSED __Pyx_memviewslice __pyx_v_coords, CYTHON_UNUSED __Pyx_memviewslice __pyx_v_connect, CYTHON_UNUSED __Pyx_memviewslice __pyx_v_fields_to_render, CYTHON_UNUSED PyObject *__pyx_v_cam_data, CYTHON_UNUSED __Pyx_memviewslice __pyx_v_field_disp, CYTHON_UNUSED int __pyx_skip_dispatch) {
20059
+ static PyObject *__pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_raster_deform_frame(CYTHON_UNUSED __Pyx_memviewslice __pyx_v_coords, CYTHON_UNUSED __Pyx_memviewslice __pyx_v_connect, CYTHON_UNUSED __Pyx_memviewslice __pyx_v_fields_to_render, CYTHON_UNUSED PyObject *__pyx_v_cam_data, CYTHON_UNUSED __Pyx_memviewslice __pyx_v_field_disp, CYTHON_UNUSED int __pyx_skip_dispatch) {
20060
20060
  PyObject *__pyx_r = NULL;
20061
20061
  __Pyx_RefNannyDeclarations
20062
20062
  __Pyx_RefNannySetupContext("raster_deform_frame", 0);
20063
20063
 
20064
- /* "pyvale/cython/rastercyth.py":416
20064
+ /* "pyvale/sensorsim/cython/rastercyth.py":415
20065
20065
  * field_disp: cython.double[:,:],
20066
20066
  * ) -> tuple[np.ndarray,np.ndarray,int]:
20067
20067
  * pass # <<<<<<<<<<<<<<
@@ -20076,7 +20076,7 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_deform_frame(CYTHON
20076
20076
  return __pyx_r;
20077
20077
  }
20078
20078
 
20079
- /* "pyvale/cython/rastercyth.py":406
20079
+ /* "pyvale/sensorsim/cython/rastercyth.py":405
20080
20080
  *
20081
20081
  * #///////////////////////////////////////////////////////////////////////////////
20082
20082
  * @cython.ccall # python+C or cython.cfunc for C only # <<<<<<<<<<<<<<
@@ -20085,15 +20085,15 @@ static PyObject *__pyx_f_6pyvale_6cython_10rastercyth_raster_deform_frame(CYTHON
20085
20085
  */
20086
20086
 
20087
20087
  /* Python wrapper */
20088
- static PyObject *__pyx_pw_6pyvale_6cython_10rastercyth_5raster_deform_frame(PyObject *__pyx_self,
20088
+ static PyObject *__pyx_pw_6pyvale_9sensorsim_6cython_10rastercyth_5raster_deform_frame(PyObject *__pyx_self,
20089
20089
  #if CYTHON_METH_FASTCALL
20090
20090
  PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
20091
20091
  #else
20092
20092
  PyObject *__pyx_args, PyObject *__pyx_kwds
20093
20093
  #endif
20094
20094
  ); /*proto*/
20095
- static PyMethodDef __pyx_mdef_6pyvale_6cython_10rastercyth_5raster_deform_frame = {"raster_deform_frame", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6pyvale_6cython_10rastercyth_5raster_deform_frame, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
20096
- static PyObject *__pyx_pw_6pyvale_6cython_10rastercyth_5raster_deform_frame(PyObject *__pyx_self,
20095
+ static PyMethodDef __pyx_mdef_6pyvale_9sensorsim_6cython_10rastercyth_5raster_deform_frame = {"raster_deform_frame", (PyCFunction)(void(*)(void))(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_6pyvale_9sensorsim_6cython_10rastercyth_5raster_deform_frame, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
20096
+ static PyObject *__pyx_pw_6pyvale_9sensorsim_6cython_10rastercyth_5raster_deform_frame(PyObject *__pyx_self,
20097
20097
  #if CYTHON_METH_FASTCALL
20098
20098
  PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
20099
20099
  #else
@@ -20127,60 +20127,60 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
20127
20127
  {
20128
20128
  PyObject ** const __pyx_pyargnames[] = {&__pyx_mstate_global->__pyx_n_u_coords,&__pyx_mstate_global->__pyx_n_u_connect,&__pyx_mstate_global->__pyx_n_u_fields_to_render,&__pyx_mstate_global->__pyx_n_u_cam_data,&__pyx_mstate_global->__pyx_n_u_field_disp,0};
20129
20129
  const Py_ssize_t __pyx_kwds_len = (__pyx_kwds) ? __Pyx_NumKwargs_FASTCALL(__pyx_kwds) : 0;
20130
- if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 406, __pyx_L3_error)
20130
+ if (unlikely(__pyx_kwds_len) < 0) __PYX_ERR(0, 405, __pyx_L3_error)
20131
20131
  if (__pyx_kwds_len > 0) {
20132
20132
  switch (__pyx_nargs) {
20133
20133
  case 5:
20134
20134
  values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
20135
- if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 406, __pyx_L3_error)
20135
+ if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 405, __pyx_L3_error)
20136
20136
  CYTHON_FALLTHROUGH;
20137
20137
  case 4:
20138
20138
  values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
20139
- if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 406, __pyx_L3_error)
20139
+ if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 405, __pyx_L3_error)
20140
20140
  CYTHON_FALLTHROUGH;
20141
20141
  case 3:
20142
20142
  values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
20143
- if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 406, __pyx_L3_error)
20143
+ if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 405, __pyx_L3_error)
20144
20144
  CYTHON_FALLTHROUGH;
20145
20145
  case 2:
20146
20146
  values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
20147
- if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 406, __pyx_L3_error)
20147
+ if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 405, __pyx_L3_error)
20148
20148
  CYTHON_FALLTHROUGH;
20149
20149
  case 1:
20150
20150
  values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
20151
- if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 406, __pyx_L3_error)
20151
+ if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 405, __pyx_L3_error)
20152
20152
  CYTHON_FALLTHROUGH;
20153
20153
  case 0: break;
20154
20154
  default: goto __pyx_L5_argtuple_error;
20155
20155
  }
20156
20156
  const Py_ssize_t kwd_pos_args = __pyx_nargs;
20157
- if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "raster_deform_frame", 0) < 0) __PYX_ERR(0, 406, __pyx_L3_error)
20157
+ if (__Pyx_ParseKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values, kwd_pos_args, __pyx_kwds_len, "raster_deform_frame", 0) < 0) __PYX_ERR(0, 405, __pyx_L3_error)
20158
20158
  for (Py_ssize_t i = __pyx_nargs; i < 5; i++) {
20159
- if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("raster_deform_frame", 1, 5, 5, i); __PYX_ERR(0, 406, __pyx_L3_error) }
20159
+ if (unlikely(!values[i])) { __Pyx_RaiseArgtupleInvalid("raster_deform_frame", 1, 5, 5, i); __PYX_ERR(0, 405, __pyx_L3_error) }
20160
20160
  }
20161
20161
  } else if (unlikely(__pyx_nargs != 5)) {
20162
20162
  goto __pyx_L5_argtuple_error;
20163
20163
  } else {
20164
20164
  values[0] = __Pyx_ArgRef_FASTCALL(__pyx_args, 0);
20165
- if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 406, __pyx_L3_error)
20165
+ if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[0])) __PYX_ERR(0, 405, __pyx_L3_error)
20166
20166
  values[1] = __Pyx_ArgRef_FASTCALL(__pyx_args, 1);
20167
- if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 406, __pyx_L3_error)
20167
+ if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[1])) __PYX_ERR(0, 405, __pyx_L3_error)
20168
20168
  values[2] = __Pyx_ArgRef_FASTCALL(__pyx_args, 2);
20169
- if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 406, __pyx_L3_error)
20169
+ if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[2])) __PYX_ERR(0, 405, __pyx_L3_error)
20170
20170
  values[3] = __Pyx_ArgRef_FASTCALL(__pyx_args, 3);
20171
- if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 406, __pyx_L3_error)
20171
+ if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[3])) __PYX_ERR(0, 405, __pyx_L3_error)
20172
20172
  values[4] = __Pyx_ArgRef_FASTCALL(__pyx_args, 4);
20173
- if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 406, __pyx_L3_error)
20173
+ if (!CYTHON_ASSUME_SAFE_MACROS && unlikely(!values[4])) __PYX_ERR(0, 405, __pyx_L3_error)
20174
20174
  }
20175
- __pyx_v_coords = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_coords.memview)) __PYX_ERR(0, 410, __pyx_L3_error)
20176
- __pyx_v_connect = __Pyx_PyObject_to_MemoryviewSlice_dsds_size_t(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_connect.memview)) __PYX_ERR(0, 411, __pyx_L3_error)
20177
- __pyx_v_fields_to_render = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_fields_to_render.memview)) __PYX_ERR(0, 412, __pyx_L3_error)
20175
+ __pyx_v_coords = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(values[0], PyBUF_WRITABLE); if (unlikely(!__pyx_v_coords.memview)) __PYX_ERR(0, 409, __pyx_L3_error)
20176
+ __pyx_v_connect = __Pyx_PyObject_to_MemoryviewSlice_dsds_size_t(values[1], PyBUF_WRITABLE); if (unlikely(!__pyx_v_connect.memview)) __PYX_ERR(0, 410, __pyx_L3_error)
20177
+ __pyx_v_fields_to_render = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(values[2], PyBUF_WRITABLE); if (unlikely(!__pyx_v_fields_to_render.memview)) __PYX_ERR(0, 411, __pyx_L3_error)
20178
20178
  __pyx_v_cam_data = values[3];
20179
- __pyx_v_field_disp = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(values[4], PyBUF_WRITABLE); if (unlikely(!__pyx_v_field_disp.memview)) __PYX_ERR(0, 414, __pyx_L3_error)
20179
+ __pyx_v_field_disp = __Pyx_PyObject_to_MemoryviewSlice_dsds_double(values[4], PyBUF_WRITABLE); if (unlikely(!__pyx_v_field_disp.memview)) __PYX_ERR(0, 413, __pyx_L3_error)
20180
20180
  }
20181
20181
  goto __pyx_L6_skip;
20182
20182
  __pyx_L5_argtuple_error:;
20183
- __Pyx_RaiseArgtupleInvalid("raster_deform_frame", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 406, __pyx_L3_error)
20183
+ __Pyx_RaiseArgtupleInvalid("raster_deform_frame", 1, 5, 5, __pyx_nargs); __PYX_ERR(0, 405, __pyx_L3_error)
20184
20184
  __pyx_L6_skip:;
20185
20185
  goto __pyx_L4_argument_unpacking_done;
20186
20186
  __pyx_L3_error:;
@@ -20191,23 +20191,23 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
20191
20191
  __PYX_XCLEAR_MEMVIEW(&__pyx_v_connect, 1);
20192
20192
  __PYX_XCLEAR_MEMVIEW(&__pyx_v_fields_to_render, 1);
20193
20193
  __PYX_XCLEAR_MEMVIEW(&__pyx_v_field_disp, 1);
20194
- __Pyx_AddTraceback("pyvale.cython.rastercyth.raster_deform_frame", __pyx_clineno, __pyx_lineno, __pyx_filename);
20194
+ __Pyx_AddTraceback("pyvale.sensorsim.cython.rastercyth.raster_deform_frame", __pyx_clineno, __pyx_lineno, __pyx_filename);
20195
20195
  __Pyx_RefNannyFinishContext();
20196
20196
  return NULL;
20197
20197
  __pyx_L4_argument_unpacking_done:;
20198
20198
  if (unlikely(((PyObject *)__pyx_v_coords.memview) == Py_None)) {
20199
- PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "coords"); __PYX_ERR(0, 410, __pyx_L1_error)
20199
+ PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "coords"); __PYX_ERR(0, 409, __pyx_L1_error)
20200
20200
  }
20201
20201
  if (unlikely(((PyObject *)__pyx_v_connect.memview) == Py_None)) {
20202
- PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "connect"); __PYX_ERR(0, 411, __pyx_L1_error)
20202
+ PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "connect"); __PYX_ERR(0, 410, __pyx_L1_error)
20203
20203
  }
20204
20204
  if (unlikely(((PyObject *)__pyx_v_fields_to_render.memview) == Py_None)) {
20205
- PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "fields_to_render"); __PYX_ERR(0, 412, __pyx_L1_error)
20205
+ PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "fields_to_render"); __PYX_ERR(0, 411, __pyx_L1_error)
20206
20206
  }
20207
20207
  if (unlikely(((PyObject *)__pyx_v_field_disp.memview) == Py_None)) {
20208
- PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "field_disp"); __PYX_ERR(0, 414, __pyx_L1_error)
20208
+ PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "field_disp"); __PYX_ERR(0, 413, __pyx_L1_error)
20209
20209
  }
20210
- __pyx_r = __pyx_pf_6pyvale_6cython_10rastercyth_4raster_deform_frame(__pyx_self, __pyx_v_coords, __pyx_v_connect, __pyx_v_fields_to_render, __pyx_v_cam_data, __pyx_v_field_disp);
20210
+ __pyx_r = __pyx_pf_6pyvale_9sensorsim_6cython_10rastercyth_4raster_deform_frame(__pyx_self, __pyx_v_coords, __pyx_v_connect, __pyx_v_fields_to_render, __pyx_v_cam_data, __pyx_v_field_disp);
20211
20211
 
20212
20212
  /* function exit code */
20213
20213
  goto __pyx_L0;
@@ -20230,7 +20230,7 @@ PyObject *__pyx_args, PyObject *__pyx_kwds
20230
20230
  return __pyx_r;
20231
20231
  }
20232
20232
 
20233
- static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_4raster_deform_frame(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_coords, __Pyx_memviewslice __pyx_v_connect, __Pyx_memviewslice __pyx_v_fields_to_render, PyObject *__pyx_v_cam_data, __Pyx_memviewslice __pyx_v_field_disp) {
20233
+ static PyObject *__pyx_pf_6pyvale_9sensorsim_6cython_10rastercyth_4raster_deform_frame(CYTHON_UNUSED PyObject *__pyx_self, __Pyx_memviewslice __pyx_v_coords, __Pyx_memviewslice __pyx_v_connect, __Pyx_memviewslice __pyx_v_fields_to_render, PyObject *__pyx_v_cam_data, __Pyx_memviewslice __pyx_v_field_disp) {
20234
20234
  PyObject *__pyx_r = NULL;
20235
20235
  __Pyx_RefNannyDeclarations
20236
20236
  PyObject *__pyx_t_1 = NULL;
@@ -20239,27 +20239,27 @@ static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_4raster_deform_frame(CYTH
20239
20239
  int __pyx_clineno = 0;
20240
20240
  __Pyx_RefNannySetupContext("raster_deform_frame", 0);
20241
20241
  __Pyx_XDECREF(__pyx_r);
20242
- if (unlikely(!__pyx_v_coords.memview)) { __Pyx_RaiseUnboundLocalError("coords"); __PYX_ERR(0, 406, __pyx_L1_error) }
20242
+ if (unlikely(!__pyx_v_coords.memview)) { __Pyx_RaiseUnboundLocalError("coords"); __PYX_ERR(0, 405, __pyx_L1_error) }
20243
20243
  if (unlikely(((PyObject *) __pyx_v_coords.memview) == Py_None)) {
20244
20244
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
20245
- __PYX_ERR(0, 406, __pyx_L1_error)
20245
+ __PYX_ERR(0, 405, __pyx_L1_error)
20246
20246
  }
20247
- if (unlikely(!__pyx_v_connect.memview)) { __Pyx_RaiseUnboundLocalError("connect"); __PYX_ERR(0, 406, __pyx_L1_error) }
20247
+ if (unlikely(!__pyx_v_connect.memview)) { __Pyx_RaiseUnboundLocalError("connect"); __PYX_ERR(0, 405, __pyx_L1_error) }
20248
20248
  if (unlikely(((PyObject *) __pyx_v_connect.memview) == Py_None)) {
20249
20249
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
20250
- __PYX_ERR(0, 406, __pyx_L1_error)
20250
+ __PYX_ERR(0, 405, __pyx_L1_error)
20251
20251
  }
20252
- if (unlikely(!__pyx_v_fields_to_render.memview)) { __Pyx_RaiseUnboundLocalError("fields_to_render"); __PYX_ERR(0, 406, __pyx_L1_error) }
20252
+ if (unlikely(!__pyx_v_fields_to_render.memview)) { __Pyx_RaiseUnboundLocalError("fields_to_render"); __PYX_ERR(0, 405, __pyx_L1_error) }
20253
20253
  if (unlikely(((PyObject *) __pyx_v_fields_to_render.memview) == Py_None)) {
20254
20254
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
20255
- __PYX_ERR(0, 406, __pyx_L1_error)
20255
+ __PYX_ERR(0, 405, __pyx_L1_error)
20256
20256
  }
20257
- if (unlikely(!__pyx_v_field_disp.memview)) { __Pyx_RaiseUnboundLocalError("field_disp"); __PYX_ERR(0, 406, __pyx_L1_error) }
20257
+ if (unlikely(!__pyx_v_field_disp.memview)) { __Pyx_RaiseUnboundLocalError("field_disp"); __PYX_ERR(0, 405, __pyx_L1_error) }
20258
20258
  if (unlikely(((PyObject *) __pyx_v_field_disp.memview) == Py_None)) {
20259
20259
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
20260
- __PYX_ERR(0, 406, __pyx_L1_error)
20260
+ __PYX_ERR(0, 405, __pyx_L1_error)
20261
20261
  }
20262
- __pyx_t_1 = __pyx_f_6pyvale_6cython_10rastercyth_raster_deform_frame(__pyx_v_coords, __pyx_v_connect, __pyx_v_fields_to_render, __pyx_v_cam_data, __pyx_v_field_disp, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 406, __pyx_L1_error)
20262
+ __pyx_t_1 = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_raster_deform_frame(__pyx_v_coords, __pyx_v_connect, __pyx_v_fields_to_render, __pyx_v_cam_data, __pyx_v_field_disp, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 405, __pyx_L1_error)
20263
20263
  __Pyx_GOTREF(__pyx_t_1);
20264
20264
  __pyx_r = __pyx_t_1;
20265
20265
  __pyx_t_1 = 0;
@@ -20268,7 +20268,7 @@ static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_4raster_deform_frame(CYTH
20268
20268
  /* function exit code */
20269
20269
  __pyx_L1_error:;
20270
20270
  __Pyx_XDECREF(__pyx_t_1);
20271
- __Pyx_AddTraceback("pyvale.cython.rastercyth.raster_deform_frame", __pyx_clineno, __pyx_lineno, __pyx_filename);
20271
+ __Pyx_AddTraceback("pyvale.sensorsim.cython.rastercyth.raster_deform_frame", __pyx_clineno, __pyx_lineno, __pyx_filename);
20272
20272
  __pyx_r = NULL;
20273
20273
  __pyx_L0:;
20274
20274
  __Pyx_XGIVEREF(__pyx_r);
@@ -20276,7 +20276,7 @@ static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_4raster_deform_frame(CYTH
20276
20276
  return __pyx_r;
20277
20277
  }
20278
20278
 
20279
- /* "pyvale/cython/rastercyth.py":420
20279
+ /* "pyvale/sensorsim/cython/rastercyth.py":419
20280
20280
  * #///////////////////////////////////////////////////////////////////////////////
20281
20281
  * #@cython.nogil
20282
20282
  * @cython.cfunc # python+C or cython.cfunc for C only # <<<<<<<<<<<<<<
@@ -20284,7 +20284,7 @@ static PyObject *__pyx_pf_6pyvale_6cython_10rastercyth_4raster_deform_frame(CYTH
20284
20284
  * @cython.wraparound(False) # Turn off negative indexing
20285
20285
  */
20286
20286
 
20287
- static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewslice __pyx_v_coords, __Pyx_memviewslice __pyx_v_connect, __Pyx_memviewslice __pyx_v_fields_to_render, __Pyx_memviewslice __pyx_v_world_to_cam_mat, __Pyx_memviewslice __pyx_v_num_pixels, __Pyx_memviewslice __pyx_v_image_dims, double __pyx_v_image_dist, int __pyx_v_sub_samp, __Pyx_memviewslice __pyx_v_image_buff_avg, __Pyx_memviewslice __pyx_v_depth_buff_avg, __Pyx_memviewslice __pyx_v_image_buff_subpx, __Pyx_memviewslice __pyx_v_depth_buff_subpx, __Pyx_memviewslice __pyx_v_nodes_raster_buff, __Pyx_memviewslice __pyx_v_field_raster_buff, __Pyx_memviewslice __pyx_v_px_coord_buff, __Pyx_memviewslice __pyx_v_weights_buff) {
20287
+ static size_t __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth__raster_frame(__Pyx_memviewslice __pyx_v_coords, __Pyx_memviewslice __pyx_v_connect, __Pyx_memviewslice __pyx_v_fields_to_render, __Pyx_memviewslice __pyx_v_world_to_cam_mat, __Pyx_memviewslice __pyx_v_num_pixels, __Pyx_memviewslice __pyx_v_image_dims, double __pyx_v_image_dist, int __pyx_v_sub_samp, __Pyx_memviewslice __pyx_v_image_buff_avg, __Pyx_memviewslice __pyx_v_depth_buff_avg, __Pyx_memviewslice __pyx_v_image_buff_subpx, __Pyx_memviewslice __pyx_v_depth_buff_subpx, __Pyx_memviewslice __pyx_v_nodes_raster_buff, __Pyx_memviewslice __pyx_v_field_raster_buff, __Pyx_memviewslice __pyx_v_px_coord_buff, __Pyx_memviewslice __pyx_v_weights_buff) {
20288
20288
  size_t __pyx_v_xx;
20289
20289
  size_t __pyx_v_yy;
20290
20290
  size_t __pyx_v_zz;
@@ -20354,7 +20354,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20354
20354
  const char *__pyx_filename = NULL;
20355
20355
  int __pyx_clineno = 0;
20356
20356
 
20357
- /* "pyvale/cython/rastercyth.py":491
20357
+ /* "pyvale/sensorsim/cython/rastercyth.py":490
20358
20358
  * """
20359
20359
  *
20360
20360
  * xx: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -20363,7 +20363,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20363
20363
  */
20364
20364
  __pyx_v_xx = 0;
20365
20365
 
20366
- /* "pyvale/cython/rastercyth.py":492
20366
+ /* "pyvale/sensorsim/cython/rastercyth.py":491
20367
20367
  *
20368
20368
  * xx: cython.size_t = 0
20369
20369
  * yy: cython.size_t = 1 # <<<<<<<<<<<<<<
@@ -20372,7 +20372,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20372
20372
  */
20373
20373
  __pyx_v_yy = 1;
20374
20374
 
20375
- /* "pyvale/cython/rastercyth.py":493
20375
+ /* "pyvale/sensorsim/cython/rastercyth.py":492
20376
20376
  * xx: cython.size_t = 0
20377
20377
  * yy: cython.size_t = 1
20378
20378
  * zz: cython.size_t = 2 # <<<<<<<<<<<<<<
@@ -20381,7 +20381,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20381
20381
  */
20382
20382
  __pyx_v_zz = 2;
20383
20383
 
20384
- /* "pyvale/cython/rastercyth.py":495
20384
+ /* "pyvale/sensorsim/cython/rastercyth.py":494
20385
20385
  * zz: cython.size_t = 2
20386
20386
  *
20387
20387
  * elem_count: cython.size_t = connect.shape[0] # <<<<<<<<<<<<<<
@@ -20390,7 +20390,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20390
20390
  */
20391
20391
  __pyx_v_elem_count = (__pyx_v_connect.shape[0]);
20392
20392
 
20393
- /* "pyvale/cython/rastercyth.py":496
20393
+ /* "pyvale/sensorsim/cython/rastercyth.py":495
20394
20394
  *
20395
20395
  * elem_count: cython.size_t = connect.shape[0]
20396
20396
  * nodes_per_elem: cython.size_t = connect.shape[1] # <<<<<<<<<<<<<<
@@ -20399,7 +20399,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20399
20399
  */
20400
20400
  __pyx_v_nodes_per_elem = (__pyx_v_connect.shape[1]);
20401
20401
 
20402
- /* "pyvale/cython/rastercyth.py":497
20402
+ /* "pyvale/sensorsim/cython/rastercyth.py":496
20403
20403
  * elem_count: cython.size_t = connect.shape[0]
20404
20404
  * nodes_per_elem: cython.size_t = connect.shape[1]
20405
20405
  * fields_num: cython.size_t = fields_to_render.shape[1] # <<<<<<<<<<<<<<
@@ -20408,7 +20408,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20408
20408
  */
20409
20409
  __pyx_v_fields_num = (__pyx_v_fields_to_render.shape[1]);
20410
20410
 
20411
- /* "pyvale/cython/rastercyth.py":500
20411
+ /* "pyvale/sensorsim/cython/rastercyth.py":499
20412
20412
  *
20413
20413
  * # tolerance for floating point zero dot product
20414
20414
  * tol: cython.double = 1e-12 # <<<<<<<<<<<<<<
@@ -20417,7 +20417,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20417
20417
  */
20418
20418
  __pyx_v_tol = 1e-12;
20419
20419
 
20420
- /* "pyvale/cython/rastercyth.py":503
20420
+ /* "pyvale/sensorsim/cython/rastercyth.py":502
20421
20421
  *
20422
20422
  * #elem_count: cython.size_t = 1
20423
20423
  * elems_in_image: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -20426,7 +20426,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20426
20426
  */
20427
20427
  __pyx_v_elems_in_image = 0;
20428
20428
 
20429
- /* "pyvale/cython/rastercyth.py":506
20429
+ /* "pyvale/sensorsim/cython/rastercyth.py":505
20430
20430
  *
20431
20431
  * # Lifted constants
20432
20432
  * coord_step: cython.double = 1.0/float(sub_samp) # <<<<<<<<<<<<<<
@@ -20435,7 +20435,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20435
20435
  */
20436
20436
  __pyx_v_coord_step = (1.0 / ((double)__pyx_v_sub_samp));
20437
20437
 
20438
- /* "pyvale/cython/rastercyth.py":507
20438
+ /* "pyvale/sensorsim/cython/rastercyth.py":506
20439
20439
  * # Lifted constants
20440
20440
  * coord_step: cython.double = 1.0/float(sub_samp)
20441
20441
  * coord_offset: cython.double = 1.0/(2.0*float(sub_samp)) # <<<<<<<<<<<<<<
@@ -20444,7 +20444,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20444
20444
  */
20445
20445
  __pyx_v_coord_offset = (1.0 / (2.0 * ((double)__pyx_v_sub_samp)));
20446
20446
 
20447
- /* "pyvale/cython/rastercyth.py":509
20447
+ /* "pyvale/sensorsim/cython/rastercyth.py":508
20448
20448
  * coord_offset: cython.double = 1.0/(2.0*float(sub_samp))
20449
20449
  *
20450
20450
  * ee: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -20453,7 +20453,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20453
20453
  */
20454
20454
  __pyx_v_ee = 0;
20455
20455
 
20456
- /* "pyvale/cython/rastercyth.py":510
20456
+ /* "pyvale/sensorsim/cython/rastercyth.py":509
20457
20457
  *
20458
20458
  * ee: cython.size_t = 0
20459
20459
  * nn: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -20462,7 +20462,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20462
20462
  */
20463
20463
  __pyx_v_nn = 0;
20464
20464
 
20465
- /* "pyvale/cython/rastercyth.py":511
20465
+ /* "pyvale/sensorsim/cython/rastercyth.py":510
20466
20466
  * ee: cython.size_t = 0
20467
20467
  * nn: cython.size_t = 0
20468
20468
  * ii: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -20471,7 +20471,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20471
20471
  */
20472
20472
  __pyx_v_ii = 0;
20473
20473
 
20474
- /* "pyvale/cython/rastercyth.py":512
20474
+ /* "pyvale/sensorsim/cython/rastercyth.py":511
20475
20475
  * nn: cython.size_t = 0
20476
20476
  * ii: cython.size_t = 0
20477
20477
  * jj: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -20480,7 +20480,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20480
20480
  */
20481
20481
  __pyx_v_jj = 0;
20482
20482
 
20483
- /* "pyvale/cython/rastercyth.py":513
20483
+ /* "pyvale/sensorsim/cython/rastercyth.py":512
20484
20484
  * ii: cython.size_t = 0
20485
20485
  * jj: cython.size_t = 0
20486
20486
  * ww: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -20489,7 +20489,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20489
20489
  */
20490
20490
  __pyx_v_ww = 0;
20491
20491
 
20492
- /* "pyvale/cython/rastercyth.py":514
20492
+ /* "pyvale/sensorsim/cython/rastercyth.py":513
20493
20493
  * jj: cython.size_t = 0
20494
20494
  * ww: cython.size_t = 0
20495
20495
  * ff: cython.size_t = 0 # <<<<<<<<<<<<<<
@@ -20498,7 +20498,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20498
20498
  */
20499
20499
  __pyx_v_ff = 0;
20500
20500
 
20501
- /* "pyvale/cython/rastercyth.py":516
20501
+ /* "pyvale/sensorsim/cython/rastercyth.py":515
20502
20502
  * ff: cython.size_t = 0
20503
20503
  *
20504
20504
  * for ee in range(elem_count): # <<<<<<<<<<<<<<
@@ -20510,7 +20510,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20510
20510
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
20511
20511
  __pyx_v_ee = __pyx_t_3;
20512
20512
 
20513
- /* "pyvale/cython/rastercyth.py":518
20513
+ /* "pyvale/sensorsim/cython/rastercyth.py":517
20514
20514
  * for ee in range(elem_count):
20515
20515
  *
20516
20516
  * for nn in range(nodes_per_elem): # <<<<<<<<<<<<<<
@@ -20522,7 +20522,7 @@ static size_t __pyx_f_6pyvale_6cython_10rastercyth__raster_frame(__Pyx_memviewsl
20522
20522
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
20523
20523
  __pyx_v_nn = __pyx_t_6;
20524
20524
 
20525
- /* "pyvale/cython/rastercyth.py":520
20525
+ /* "pyvale/sensorsim/cython/rastercyth.py":519
20526
20526
  * for nn in range(nodes_per_elem):
20527
20527
  * # shape=(nodes_per_elem, coord[X,Y,Z,W])
20528
20528
  * nodes_raster_buff[nn,:] = world_to_raster_coords(coords[connect[ee,nn],:], # <<<<<<<<<<<<<<
@@ -20546,10 +20546,10 @@ __pyx_t_9.strides[0] = __pyx_v_coords.strides[1];
20546
20546
 
20547
20547
  if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20548
20548
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
20549
- __PYX_ERR(0, 520, __pyx_L1_error)
20549
+ __PYX_ERR(0, 519, __pyx_L1_error)
20550
20550
  }
20551
20551
 
20552
- /* "pyvale/cython/rastercyth.py":525
20552
+ /* "pyvale/sensorsim/cython/rastercyth.py":524
20553
20553
  * image_dims,
20554
20554
  * num_pixels,
20555
20555
  * nodes_raster_buff[nn,:]) # <<<<<<<<<<<<<<
@@ -20571,17 +20571,17 @@ __pyx_t_10.strides[0] = __pyx_v_nodes_raster_buff.strides[1];
20571
20571
 
20572
20572
  if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
20573
20573
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
20574
- __PYX_ERR(0, 525, __pyx_L1_error)
20574
+ __PYX_ERR(0, 524, __pyx_L1_error)
20575
20575
  }
20576
20576
 
20577
- /* "pyvale/cython/rastercyth.py":520
20577
+ /* "pyvale/sensorsim/cython/rastercyth.py":519
20578
20578
  * for nn in range(nodes_per_elem):
20579
20579
  * # shape=(nodes_per_elem, coord[X,Y,Z,W])
20580
20580
  * nodes_raster_buff[nn,:] = world_to_raster_coords(coords[connect[ee,nn],:], # <<<<<<<<<<<<<<
20581
20581
  * world_to_cam_mat,
20582
20582
  * image_dist,
20583
20583
  */
20584
- __pyx_t_11 = __pyx_f_6pyvale_6cython_10rastercyth_world_to_raster_coords(__pyx_t_9, __pyx_v_world_to_cam_mat, __pyx_v_image_dist, __pyx_v_image_dims, __pyx_v_num_pixels, __pyx_t_10); if (unlikely(!__pyx_t_11.memview)) __PYX_ERR(0, 520, __pyx_L1_error)
20584
+ __pyx_t_11 = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_world_to_raster_coords(__pyx_t_9, __pyx_v_world_to_cam_mat, __pyx_v_image_dist, __pyx_v_image_dims, __pyx_v_num_pixels, __pyx_t_10); if (unlikely(!__pyx_t_11.memview)) __PYX_ERR(0, 519, __pyx_L1_error)
20585
20585
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_9, 1);
20586
20586
  __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL;
20587
20587
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_10, 1);
@@ -20599,14 +20599,14 @@ __pyx_t_10.shape[0] = __pyx_v_nodes_raster_buff.shape[1];
20599
20599
  __pyx_t_10.strides[0] = __pyx_v_nodes_raster_buff.strides[1];
20600
20600
  __pyx_t_10.suboffsets[0] = -1;
20601
20601
 
20602
- if (unlikely((__pyx_memoryview_copy_contents(__pyx_t_11, __pyx_t_10, 1, 1, 0) < 0))) __PYX_ERR(0, 520, __pyx_L1_error)
20602
+ if (unlikely((__pyx_memoryview_copy_contents(__pyx_t_11, __pyx_t_10, 1, 1, 0) < 0))) __PYX_ERR(0, 519, __pyx_L1_error)
20603
20603
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_10, 1);
20604
20604
  __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
20605
20605
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_11, 1);
20606
20606
  __pyx_t_11.memview = NULL; __pyx_t_11.data = NULL;
20607
20607
  }
20608
20608
 
20609
- /* "pyvale/cython/rastercyth.py":528
20609
+ /* "pyvale/sensorsim/cython/rastercyth.py":527
20610
20610
  *
20611
20611
  *
20612
20612
  * elem_area: cython.double = edge_function(nodes_raster_buff[0,:], # <<<<<<<<<<<<<<
@@ -20628,10 +20628,10 @@ __pyx_t_11.strides[0] = __pyx_v_nodes_raster_buff.strides[1];
20628
20628
 
20629
20629
  if (unlikely(((PyObject *) __pyx_t_11.memview) == Py_None)) {
20630
20630
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
20631
- __PYX_ERR(0, 528, __pyx_L1_error)
20631
+ __PYX_ERR(0, 527, __pyx_L1_error)
20632
20632
  }
20633
20633
 
20634
- /* "pyvale/cython/rastercyth.py":529
20634
+ /* "pyvale/sensorsim/cython/rastercyth.py":528
20635
20635
  *
20636
20636
  * elem_area: cython.double = edge_function(nodes_raster_buff[0,:],
20637
20637
  * nodes_raster_buff[1,:], # <<<<<<<<<<<<<<
@@ -20653,10 +20653,10 @@ __pyx_t_10.strides[0] = __pyx_v_nodes_raster_buff.strides[1];
20653
20653
 
20654
20654
  if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
20655
20655
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
20656
- __PYX_ERR(0, 529, __pyx_L1_error)
20656
+ __PYX_ERR(0, 528, __pyx_L1_error)
20657
20657
  }
20658
20658
 
20659
- /* "pyvale/cython/rastercyth.py":530
20659
+ /* "pyvale/sensorsim/cython/rastercyth.py":529
20660
20660
  * elem_area: cython.double = edge_function(nodes_raster_buff[0,:],
20661
20661
  * nodes_raster_buff[1,:],
20662
20662
  * nodes_raster_buff[2,:]) # <<<<<<<<<<<<<<
@@ -20678,17 +20678,17 @@ __pyx_t_9.strides[0] = __pyx_v_nodes_raster_buff.strides[1];
20678
20678
 
20679
20679
  if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20680
20680
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
20681
- __PYX_ERR(0, 530, __pyx_L1_error)
20681
+ __PYX_ERR(0, 529, __pyx_L1_error)
20682
20682
  }
20683
20683
 
20684
- /* "pyvale/cython/rastercyth.py":528
20684
+ /* "pyvale/sensorsim/cython/rastercyth.py":527
20685
20685
  *
20686
20686
  *
20687
20687
  * elem_area: cython.double = edge_function(nodes_raster_buff[0,:], # <<<<<<<<<<<<<<
20688
20688
  * nodes_raster_buff[1,:],
20689
20689
  * nodes_raster_buff[2,:])
20690
20690
  */
20691
- __pyx_v_elem_area = __pyx_f_6pyvale_6cython_10rastercyth_edge_function(__pyx_t_11, __pyx_t_10, __pyx_t_9);
20691
+ __pyx_v_elem_area = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_edge_function(__pyx_t_11, __pyx_t_10, __pyx_t_9);
20692
20692
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_11, 1);
20693
20693
  __pyx_t_11.memview = NULL; __pyx_t_11.data = NULL;
20694
20694
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_10, 1);
@@ -20696,7 +20696,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20696
20696
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_9, 1);
20697
20697
  __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL;
20698
20698
 
20699
- /* "pyvale/cython/rastercyth.py":532
20699
+ /* "pyvale/sensorsim/cython/rastercyth.py":531
20700
20700
  * nodes_raster_buff[2,:])
20701
20701
  *
20702
20702
  * if elem_area < -tol: # Backface culling # <<<<<<<<<<<<<<
@@ -20706,7 +20706,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20706
20706
  __pyx_t_12 = (__pyx_v_elem_area < (-__pyx_v_tol));
20707
20707
  if (__pyx_t_12) {
20708
20708
 
20709
- /* "pyvale/cython/rastercyth.py":533
20709
+ /* "pyvale/sensorsim/cython/rastercyth.py":532
20710
20710
  *
20711
20711
  * if elem_area < -tol: # Backface culling
20712
20712
  * continue # <<<<<<<<<<<<<<
@@ -20715,7 +20715,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20715
20715
  */
20716
20716
  goto __pyx_L3_continue;
20717
20717
 
20718
- /* "pyvale/cython/rastercyth.py":532
20718
+ /* "pyvale/sensorsim/cython/rastercyth.py":531
20719
20719
  * nodes_raster_buff[2,:])
20720
20720
  *
20721
20721
  * if elem_area < -tol: # Backface culling # <<<<<<<<<<<<<<
@@ -20724,7 +20724,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20724
20724
  */
20725
20725
  }
20726
20726
 
20727
- /* "pyvale/cython/rastercyth.py":541
20727
+ /* "pyvale/sensorsim/cython/rastercyth.py":540
20728
20728
  * # print()
20729
20729
  *
20730
20730
  * x_min: cython.double = vec_min_double(nodes_raster_buff[:,xx]) # <<<<<<<<<<<<<<
@@ -20746,13 +20746,13 @@ __pyx_t_9.strides[0] = __pyx_v_nodes_raster_buff.strides[0];
20746
20746
 
20747
20747
  if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20748
20748
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
20749
- __PYX_ERR(0, 541, __pyx_L1_error)
20749
+ __PYX_ERR(0, 540, __pyx_L1_error)
20750
20750
  }
20751
- __pyx_v_x_min = __pyx_f_6pyvale_6cython_10rastercyth_vec_min_double(__pyx_t_9);
20751
+ __pyx_v_x_min = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_vec_min_double(__pyx_t_9);
20752
20752
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_9, 1);
20753
20753
  __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL;
20754
20754
 
20755
- /* "pyvale/cython/rastercyth.py":542
20755
+ /* "pyvale/sensorsim/cython/rastercyth.py":541
20756
20756
  *
20757
20757
  * x_min: cython.double = vec_min_double(nodes_raster_buff[:,xx])
20758
20758
  * x_max: cython.double = vec_max_double(nodes_raster_buff[:,xx]) # <<<<<<<<<<<<<<
@@ -20774,13 +20774,13 @@ __pyx_t_9.strides[0] = __pyx_v_nodes_raster_buff.strides[0];
20774
20774
 
20775
20775
  if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20776
20776
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
20777
- __PYX_ERR(0, 542, __pyx_L1_error)
20777
+ __PYX_ERR(0, 541, __pyx_L1_error)
20778
20778
  }
20779
- __pyx_v_x_max = __pyx_f_6pyvale_6cython_10rastercyth_vec_max_double(__pyx_t_9);
20779
+ __pyx_v_x_max = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_vec_max_double(__pyx_t_9);
20780
20780
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_9, 1);
20781
20781
  __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL;
20782
20782
 
20783
- /* "pyvale/cython/rastercyth.py":544
20783
+ /* "pyvale/sensorsim/cython/rastercyth.py":543
20784
20784
  * x_max: cython.double = vec_max_double(nodes_raster_buff[:,xx])
20785
20785
  *
20786
20786
  * if ((x_min > num_pixels[xx]-1) or (x_max < 0)): # x crop # <<<<<<<<<<<<<<
@@ -20799,7 +20799,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20799
20799
  __pyx_L9_bool_binop_done:;
20800
20800
  if (__pyx_t_12) {
20801
20801
 
20802
- /* "pyvale/cython/rastercyth.py":545
20802
+ /* "pyvale/sensorsim/cython/rastercyth.py":544
20803
20803
  *
20804
20804
  * if ((x_min > num_pixels[xx]-1) or (x_max < 0)): # x crop
20805
20805
  * continue # <<<<<<<<<<<<<<
@@ -20808,7 +20808,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20808
20808
  */
20809
20809
  goto __pyx_L3_continue;
20810
20810
 
20811
- /* "pyvale/cython/rastercyth.py":544
20811
+ /* "pyvale/sensorsim/cython/rastercyth.py":543
20812
20812
  * x_max: cython.double = vec_max_double(nodes_raster_buff[:,xx])
20813
20813
  *
20814
20814
  * if ((x_min > num_pixels[xx]-1) or (x_max < 0)): # x crop # <<<<<<<<<<<<<<
@@ -20817,7 +20817,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20817
20817
  */
20818
20818
  }
20819
20819
 
20820
- /* "pyvale/cython/rastercyth.py":547
20820
+ /* "pyvale/sensorsim/cython/rastercyth.py":546
20821
20821
  * continue
20822
20822
  *
20823
20823
  * y_min: cython.double = vec_min_double(nodes_raster_buff[:,yy]) # <<<<<<<<<<<<<<
@@ -20839,13 +20839,13 @@ __pyx_t_9.strides[0] = __pyx_v_nodes_raster_buff.strides[0];
20839
20839
 
20840
20840
  if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20841
20841
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
20842
- __PYX_ERR(0, 547, __pyx_L1_error)
20842
+ __PYX_ERR(0, 546, __pyx_L1_error)
20843
20843
  }
20844
- __pyx_v_y_min = __pyx_f_6pyvale_6cython_10rastercyth_vec_min_double(__pyx_t_9);
20844
+ __pyx_v_y_min = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_vec_min_double(__pyx_t_9);
20845
20845
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_9, 1);
20846
20846
  __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL;
20847
20847
 
20848
- /* "pyvale/cython/rastercyth.py":548
20848
+ /* "pyvale/sensorsim/cython/rastercyth.py":547
20849
20849
  *
20850
20850
  * y_min: cython.double = vec_min_double(nodes_raster_buff[:,yy])
20851
20851
  * y_max: cython.double = vec_max_double(nodes_raster_buff[:,yy]) # <<<<<<<<<<<<<<
@@ -20867,13 +20867,13 @@ __pyx_t_9.strides[0] = __pyx_v_nodes_raster_buff.strides[0];
20867
20867
 
20868
20868
  if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20869
20869
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
20870
- __PYX_ERR(0, 548, __pyx_L1_error)
20870
+ __PYX_ERR(0, 547, __pyx_L1_error)
20871
20871
  }
20872
- __pyx_v_y_max = __pyx_f_6pyvale_6cython_10rastercyth_vec_max_double(__pyx_t_9);
20872
+ __pyx_v_y_max = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_vec_max_double(__pyx_t_9);
20873
20873
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_9, 1);
20874
20874
  __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL;
20875
20875
 
20876
- /* "pyvale/cython/rastercyth.py":550
20876
+ /* "pyvale/sensorsim/cython/rastercyth.py":549
20877
20877
  * y_max: cython.double = vec_max_double(nodes_raster_buff[:,yy])
20878
20878
  *
20879
20879
  * if ((y_min > num_pixels[yy]-1) or (y_max < 0)): # y crop # <<<<<<<<<<<<<<
@@ -20892,7 +20892,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20892
20892
  __pyx_L12_bool_binop_done:;
20893
20893
  if (__pyx_t_12) {
20894
20894
 
20895
- /* "pyvale/cython/rastercyth.py":551
20895
+ /* "pyvale/sensorsim/cython/rastercyth.py":550
20896
20896
  *
20897
20897
  * if ((y_min > num_pixels[yy]-1) or (y_max < 0)): # y crop
20898
20898
  * continue # <<<<<<<<<<<<<<
@@ -20901,7 +20901,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20901
20901
  */
20902
20902
  goto __pyx_L3_continue;
20903
20903
 
20904
- /* "pyvale/cython/rastercyth.py":550
20904
+ /* "pyvale/sensorsim/cython/rastercyth.py":549
20905
20905
  * y_max: cython.double = vec_max_double(nodes_raster_buff[:,yy])
20906
20906
  *
20907
20907
  * if ((y_min > num_pixels[yy]-1) or (y_max < 0)): # y crop # <<<<<<<<<<<<<<
@@ -20910,7 +20910,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20910
20910
  */
20911
20911
  }
20912
20912
 
20913
- /* "pyvale/cython/rastercyth.py":558
20913
+ /* "pyvale/sensorsim/cython/rastercyth.py":557
20914
20914
  * # print(f"Elem {ee}: y, max {y_max}\n")
20915
20915
  *
20916
20916
  * elems_in_image += 1 # <<<<<<<<<<<<<<
@@ -20919,16 +20919,16 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20919
20919
  */
20920
20920
  __pyx_v_elems_in_image = (__pyx_v_elems_in_image + 1);
20921
20921
 
20922
- /* "pyvale/cython/rastercyth.py":560
20922
+ /* "pyvale/sensorsim/cython/rastercyth.py":559
20923
20923
  * elems_in_image += 1
20924
20924
  *
20925
20925
  * xi_min: cython.size_t = bound_index_min(x_min) # <<<<<<<<<<<<<<
20926
20926
  * xi_max: cython.size_t = bound_index_max(x_max,num_pixels[xx])
20927
20927
  * yi_min: cython.size_t = bound_index_min(y_min)
20928
20928
  */
20929
- __pyx_v_xi_min = __pyx_f_6pyvale_6cython_10rastercyth_bound_index_min(__pyx_v_x_min);
20929
+ __pyx_v_xi_min = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_bound_index_min(__pyx_v_x_min);
20930
20930
 
20931
- /* "pyvale/cython/rastercyth.py":561
20931
+ /* "pyvale/sensorsim/cython/rastercyth.py":560
20932
20932
  *
20933
20933
  * xi_min: cython.size_t = bound_index_min(x_min)
20934
20934
  * xi_max: cython.size_t = bound_index_max(x_max,num_pixels[xx]) # <<<<<<<<<<<<<<
@@ -20936,18 +20936,18 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20936
20936
  * yi_max: cython.size_t = bound_index_max(y_max,num_pixels[yy])
20937
20937
  */
20938
20938
  __pyx_t_4 = __pyx_v_xx;
20939
- __pyx_v_xi_max = __pyx_f_6pyvale_6cython_10rastercyth_bound_index_max(__pyx_v_x_max, (*((int *) ( /* dim=0 */ (__pyx_v_num_pixels.data + __pyx_t_4 * __pyx_v_num_pixels.strides[0]) ))));
20939
+ __pyx_v_xi_max = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_bound_index_max(__pyx_v_x_max, (*((int *) ( /* dim=0 */ (__pyx_v_num_pixels.data + __pyx_t_4 * __pyx_v_num_pixels.strides[0]) ))));
20940
20940
 
20941
- /* "pyvale/cython/rastercyth.py":562
20941
+ /* "pyvale/sensorsim/cython/rastercyth.py":561
20942
20942
  * xi_min: cython.size_t = bound_index_min(x_min)
20943
20943
  * xi_max: cython.size_t = bound_index_max(x_max,num_pixels[xx])
20944
20944
  * yi_min: cython.size_t = bound_index_min(y_min) # <<<<<<<<<<<<<<
20945
20945
  * yi_max: cython.size_t = bound_index_max(y_max,num_pixels[yy])
20946
20946
  *
20947
20947
  */
20948
- __pyx_v_yi_min = __pyx_f_6pyvale_6cython_10rastercyth_bound_index_min(__pyx_v_y_min);
20948
+ __pyx_v_yi_min = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_bound_index_min(__pyx_v_y_min);
20949
20949
 
20950
- /* "pyvale/cython/rastercyth.py":563
20950
+ /* "pyvale/sensorsim/cython/rastercyth.py":562
20951
20951
  * xi_max: cython.size_t = bound_index_max(x_max,num_pixels[xx])
20952
20952
  * yi_min: cython.size_t = bound_index_min(y_min)
20953
20953
  * yi_max: cython.size_t = bound_index_max(y_max,num_pixels[yy]) # <<<<<<<<<<<<<<
@@ -20955,9 +20955,9 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20955
20955
  * # print(f"Elem {ee}: xi, min {xi_min}")
20956
20956
  */
20957
20957
  __pyx_t_4 = __pyx_v_yy;
20958
- __pyx_v_yi_max = __pyx_f_6pyvale_6cython_10rastercyth_bound_index_max(__pyx_v_y_max, (*((int *) ( /* dim=0 */ (__pyx_v_num_pixels.data + __pyx_t_4 * __pyx_v_num_pixels.strides[0]) ))));
20958
+ __pyx_v_yi_max = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_bound_index_max(__pyx_v_y_max, (*((int *) ( /* dim=0 */ (__pyx_v_num_pixels.data + __pyx_t_4 * __pyx_v_num_pixels.strides[0]) ))));
20959
20959
 
20960
- /* "pyvale/cython/rastercyth.py":570
20960
+ /* "pyvale/sensorsim/cython/rastercyth.py":569
20961
20961
  * # print(f"Elem {ee}: yi, max {yi_max}\n")
20962
20962
  *
20963
20963
  * for nn in range(nodes_per_elem): # <<<<<<<<<<<<<<
@@ -20969,7 +20969,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20969
20969
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
20970
20970
  __pyx_v_nn = __pyx_t_6;
20971
20971
 
20972
- /* "pyvale/cython/rastercyth.py":571
20972
+ /* "pyvale/sensorsim/cython/rastercyth.py":570
20973
20973
  *
20974
20974
  * for nn in range(nodes_per_elem):
20975
20975
  * nodes_raster_buff[nn,zz] = 1/nodes_raster_buff[nn,zz] # <<<<<<<<<<<<<<
@@ -20983,25 +20983,25 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
20983
20983
  *((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_nodes_raster_buff.data + __pyx_t_14 * __pyx_v_nodes_raster_buff.strides[0]) ) + __pyx_t_15 * __pyx_v_nodes_raster_buff.strides[1]) )) = (1.0 / (*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_nodes_raster_buff.data + __pyx_t_8 * __pyx_v_nodes_raster_buff.strides[0]) ) + __pyx_t_7 * __pyx_v_nodes_raster_buff.strides[1]) ))));
20984
20984
  }
20985
20985
 
20986
- /* "pyvale/cython/rastercyth.py":573
20986
+ /* "pyvale/sensorsim/cython/rastercyth.py":572
20987
20987
  * nodes_raster_buff[nn,zz] = 1/nodes_raster_buff[nn,zz]
20988
20988
  *
20989
20989
  * num_bound_x: cython.size_t = range_len_double(float(xi_min), # <<<<<<<<<<<<<<
20990
20990
  * float(xi_max),
20991
20991
  * coord_step)
20992
20992
  */
20993
- __pyx_v_num_bound_x = __pyx_f_6pyvale_6cython_10rastercyth_range_len_double(((double)__pyx_v_xi_min), ((double)__pyx_v_xi_max), __pyx_v_coord_step);
20993
+ __pyx_v_num_bound_x = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_range_len_double(((double)__pyx_v_xi_min), ((double)__pyx_v_xi_max), __pyx_v_coord_step);
20994
20994
 
20995
- /* "pyvale/cython/rastercyth.py":576
20995
+ /* "pyvale/sensorsim/cython/rastercyth.py":575
20996
20996
  * float(xi_max),
20997
20997
  * coord_step)
20998
20998
  * num_bound_y: cython.size_t = range_len_double(float(yi_min), # <<<<<<<<<<<<<<
20999
20999
  * float(yi_max),
21000
21000
  * coord_step)
21001
21001
  */
21002
- __pyx_v_num_bound_y = __pyx_f_6pyvale_6cython_10rastercyth_range_len_double(((double)__pyx_v_yi_min), ((double)__pyx_v_yi_max), __pyx_v_coord_step);
21002
+ __pyx_v_num_bound_y = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_range_len_double(((double)__pyx_v_yi_min), ((double)__pyx_v_yi_max), __pyx_v_coord_step);
21003
21003
 
21004
- /* "pyvale/cython/rastercyth.py":580
21004
+ /* "pyvale/sensorsim/cython/rastercyth.py":579
21005
21005
  * coord_step)
21006
21006
  *
21007
21007
  * bound_coord_x: cython.double = float(xi_min) + coord_offset # <<<<<<<<<<<<<<
@@ -21010,7 +21010,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21010
21010
  */
21011
21011
  __pyx_v_bound_coord_x = (((double)__pyx_v_xi_min) + __pyx_v_coord_offset);
21012
21012
 
21013
- /* "pyvale/cython/rastercyth.py":581
21013
+ /* "pyvale/sensorsim/cython/rastercyth.py":580
21014
21014
  *
21015
21015
  * bound_coord_x: cython.double = float(xi_min) + coord_offset
21016
21016
  * bound_coord_y: cython.double = float(yi_min) + coord_offset # <<<<<<<<<<<<<<
@@ -21019,7 +21019,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21019
21019
  */
21020
21020
  __pyx_v_bound_coord_y = (((double)__pyx_v_yi_min) + __pyx_v_coord_offset);
21021
21021
 
21022
- /* "pyvale/cython/rastercyth.py":583
21022
+ /* "pyvale/sensorsim/cython/rastercyth.py":582
21023
21023
  * bound_coord_y: cython.double = float(yi_min) + coord_offset
21024
21024
  *
21025
21025
  * bound_ind_x: cython.size_t = sub_samp*xi_min # <<<<<<<<<<<<<<
@@ -21028,7 +21028,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21028
21028
  */
21029
21029
  __pyx_v_bound_ind_x = (__pyx_v_sub_samp * __pyx_v_xi_min);
21030
21030
 
21031
- /* "pyvale/cython/rastercyth.py":584
21031
+ /* "pyvale/sensorsim/cython/rastercyth.py":583
21032
21032
  *
21033
21033
  * bound_ind_x: cython.size_t = sub_samp*xi_min
21034
21034
  * bound_ind_y: cython.size_t = sub_samp*yi_min # <<<<<<<<<<<<<<
@@ -21037,7 +21037,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21037
21037
  */
21038
21038
  __pyx_v_bound_ind_y = (__pyx_v_sub_samp * __pyx_v_yi_min);
21039
21039
 
21040
- /* "pyvale/cython/rastercyth.py":596
21040
+ /* "pyvale/sensorsim/cython/rastercyth.py":595
21041
21041
  *
21042
21042
  *
21043
21043
  * for jj in range(num_bound_y): # <<<<<<<<<<<<<<
@@ -21049,7 +21049,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21049
21049
  for (__pyx_t_6 = 0; __pyx_t_6 < __pyx_t_5; __pyx_t_6+=1) {
21050
21050
  __pyx_v_jj = __pyx_t_6;
21051
21051
 
21052
- /* "pyvale/cython/rastercyth.py":598
21052
+ /* "pyvale/sensorsim/cython/rastercyth.py":597
21053
21053
  * for jj in range(num_bound_y):
21054
21054
  *
21055
21055
  * bound_coord_x = float(xi_min) + coord_offset # <<<<<<<<<<<<<<
@@ -21058,7 +21058,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21058
21058
  */
21059
21059
  __pyx_v_bound_coord_x = (((double)__pyx_v_xi_min) + __pyx_v_coord_offset);
21060
21060
 
21061
- /* "pyvale/cython/rastercyth.py":599
21061
+ /* "pyvale/sensorsim/cython/rastercyth.py":598
21062
21062
  *
21063
21063
  * bound_coord_x = float(xi_min) + coord_offset
21064
21064
  * bound_ind_x: cython.size_t = sub_samp*xi_min # <<<<<<<<<<<<<<
@@ -21067,7 +21067,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21067
21067
  */
21068
21068
  __pyx_v_bound_ind_x = (__pyx_v_sub_samp * __pyx_v_xi_min);
21069
21069
 
21070
- /* "pyvale/cython/rastercyth.py":601
21070
+ /* "pyvale/sensorsim/cython/rastercyth.py":600
21071
21071
  * bound_ind_x: cython.size_t = sub_samp*xi_min
21072
21072
  *
21073
21073
  * for ii in range(num_bound_x): # <<<<<<<<<<<<<<
@@ -21079,7 +21079,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21079
21079
  for (__pyx_t_15 = 0; __pyx_t_15 < __pyx_t_8; __pyx_t_15+=1) {
21080
21080
  __pyx_v_ii = __pyx_t_15;
21081
21081
 
21082
- /* "pyvale/cython/rastercyth.py":603
21082
+ /* "pyvale/sensorsim/cython/rastercyth.py":602
21083
21083
  * for ii in range(num_bound_x):
21084
21084
  *
21085
21085
  * px_coord_buff[xx] = bound_coord_x # <<<<<<<<<<<<<<
@@ -21089,7 +21089,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21089
21089
  __pyx_t_14 = __pyx_v_xx;
21090
21090
  *((double *) ( /* dim=0 */ (__pyx_v_px_coord_buff.data + __pyx_t_14 * __pyx_v_px_coord_buff.strides[0]) )) = __pyx_v_bound_coord_x;
21091
21091
 
21092
- /* "pyvale/cython/rastercyth.py":604
21092
+ /* "pyvale/sensorsim/cython/rastercyth.py":603
21093
21093
  *
21094
21094
  * px_coord_buff[xx] = bound_coord_x
21095
21095
  * px_coord_buff[yy] = bound_coord_y # <<<<<<<<<<<<<<
@@ -21099,7 +21099,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21099
21099
  __pyx_t_14 = __pyx_v_yy;
21100
21100
  *((double *) ( /* dim=0 */ (__pyx_v_px_coord_buff.data + __pyx_t_14 * __pyx_v_px_coord_buff.strides[0]) )) = __pyx_v_bound_coord_y;
21101
21101
 
21102
- /* "pyvale/cython/rastercyth.py":608
21102
+ /* "pyvale/sensorsim/cython/rastercyth.py":607
21103
21103
  * # Check the edge functions for each edge one at a time, as soon
21104
21104
  * # as one is outside we don't need to do anymore work
21105
21105
  * weights_buff[0] = edge_function(nodes_raster_buff[1,:], # <<<<<<<<<<<<<<
@@ -21121,10 +21121,10 @@ __pyx_t_9.strides[0] = __pyx_v_nodes_raster_buff.strides[1];
21121
21121
 
21122
21122
  if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21123
21123
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
21124
- __PYX_ERR(0, 608, __pyx_L1_error)
21124
+ __PYX_ERR(0, 607, __pyx_L1_error)
21125
21125
  }
21126
21126
 
21127
- /* "pyvale/cython/rastercyth.py":609
21127
+ /* "pyvale/sensorsim/cython/rastercyth.py":608
21128
21128
  * # as one is outside we don't need to do anymore work
21129
21129
  * weights_buff[0] = edge_function(nodes_raster_buff[1,:],
21130
21130
  * nodes_raster_buff[2,:], # <<<<<<<<<<<<<<
@@ -21146,10 +21146,10 @@ __pyx_t_10.strides[0] = __pyx_v_nodes_raster_buff.strides[1];
21146
21146
 
21147
21147
  if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21148
21148
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
21149
- __PYX_ERR(0, 609, __pyx_L1_error)
21149
+ __PYX_ERR(0, 608, __pyx_L1_error)
21150
21150
  }
21151
21151
 
21152
- /* "pyvale/cython/rastercyth.py":608
21152
+ /* "pyvale/sensorsim/cython/rastercyth.py":607
21153
21153
  * # Check the edge functions for each edge one at a time, as soon
21154
21154
  * # as one is outside we don't need to do anymore work
21155
21155
  * weights_buff[0] = edge_function(nodes_raster_buff[1,:], # <<<<<<<<<<<<<<
@@ -21157,13 +21157,13 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21157
21157
  * px_coord_buff)
21158
21158
  */
21159
21159
  __pyx_t_16 = 0;
21160
- *((double *) ( /* dim=0 */ (__pyx_v_weights_buff.data + __pyx_t_16 * __pyx_v_weights_buff.strides[0]) )) = __pyx_f_6pyvale_6cython_10rastercyth_edge_function(__pyx_t_9, __pyx_t_10, __pyx_v_px_coord_buff);
21160
+ *((double *) ( /* dim=0 */ (__pyx_v_weights_buff.data + __pyx_t_16 * __pyx_v_weights_buff.strides[0]) )) = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_edge_function(__pyx_t_9, __pyx_t_10, __pyx_v_px_coord_buff);
21161
21161
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_9, 1);
21162
21162
  __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL;
21163
21163
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_10, 1);
21164
21164
  __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
21165
21165
 
21166
- /* "pyvale/cython/rastercyth.py":611
21166
+ /* "pyvale/sensorsim/cython/rastercyth.py":610
21167
21167
  * nodes_raster_buff[2,:],
21168
21168
  * px_coord_buff)
21169
21169
  * if (weights_buff[0] < -tol): # <<<<<<<<<<<<<<
@@ -21174,7 +21174,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21174
21174
  __pyx_t_12 = ((*((double *) ( /* dim=0 */ (__pyx_v_weights_buff.data + __pyx_t_16 * __pyx_v_weights_buff.strides[0]) ))) < (-__pyx_v_tol));
21175
21175
  if (__pyx_t_12) {
21176
21176
 
21177
- /* "pyvale/cython/rastercyth.py":612
21177
+ /* "pyvale/sensorsim/cython/rastercyth.py":611
21178
21178
  * px_coord_buff)
21179
21179
  * if (weights_buff[0] < -tol):
21180
21180
  * bound_coord_x += coord_step # <<<<<<<<<<<<<<
@@ -21183,7 +21183,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21183
21183
  */
21184
21184
  __pyx_v_bound_coord_x = (__pyx_v_bound_coord_x + __pyx_v_coord_step);
21185
21185
 
21186
- /* "pyvale/cython/rastercyth.py":613
21186
+ /* "pyvale/sensorsim/cython/rastercyth.py":612
21187
21187
  * if (weights_buff[0] < -tol):
21188
21188
  * bound_coord_x += coord_step
21189
21189
  * bound_ind_x += 1 # <<<<<<<<<<<<<<
@@ -21192,7 +21192,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21192
21192
  */
21193
21193
  __pyx_v_bound_ind_x = (__pyx_v_bound_ind_x + 1);
21194
21194
 
21195
- /* "pyvale/cython/rastercyth.py":614
21195
+ /* "pyvale/sensorsim/cython/rastercyth.py":613
21196
21196
  * bound_coord_x += coord_step
21197
21197
  * bound_ind_x += 1
21198
21198
  * continue # <<<<<<<<<<<<<<
@@ -21201,7 +21201,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21201
21201
  */
21202
21202
  goto __pyx_L18_continue;
21203
21203
 
21204
- /* "pyvale/cython/rastercyth.py":611
21204
+ /* "pyvale/sensorsim/cython/rastercyth.py":610
21205
21205
  * nodes_raster_buff[2,:],
21206
21206
  * px_coord_buff)
21207
21207
  * if (weights_buff[0] < -tol): # <<<<<<<<<<<<<<
@@ -21210,7 +21210,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21210
21210
  */
21211
21211
  }
21212
21212
 
21213
- /* "pyvale/cython/rastercyth.py":616
21213
+ /* "pyvale/sensorsim/cython/rastercyth.py":615
21214
21214
  * continue
21215
21215
  *
21216
21216
  * weights_buff[1] = edge_function(nodes_raster_buff[2,:], # <<<<<<<<<<<<<<
@@ -21232,10 +21232,10 @@ __pyx_t_10.strides[0] = __pyx_v_nodes_raster_buff.strides[1];
21232
21232
 
21233
21233
  if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21234
21234
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
21235
- __PYX_ERR(0, 616, __pyx_L1_error)
21235
+ __PYX_ERR(0, 615, __pyx_L1_error)
21236
21236
  }
21237
21237
 
21238
- /* "pyvale/cython/rastercyth.py":617
21238
+ /* "pyvale/sensorsim/cython/rastercyth.py":616
21239
21239
  *
21240
21240
  * weights_buff[1] = edge_function(nodes_raster_buff[2,:],
21241
21241
  * nodes_raster_buff[0,:], # <<<<<<<<<<<<<<
@@ -21257,10 +21257,10 @@ __pyx_t_9.strides[0] = __pyx_v_nodes_raster_buff.strides[1];
21257
21257
 
21258
21258
  if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21259
21259
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
21260
- __PYX_ERR(0, 617, __pyx_L1_error)
21260
+ __PYX_ERR(0, 616, __pyx_L1_error)
21261
21261
  }
21262
21262
 
21263
- /* "pyvale/cython/rastercyth.py":616
21263
+ /* "pyvale/sensorsim/cython/rastercyth.py":615
21264
21264
  * continue
21265
21265
  *
21266
21266
  * weights_buff[1] = edge_function(nodes_raster_buff[2,:], # <<<<<<<<<<<<<<
@@ -21268,13 +21268,13 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21268
21268
  * px_coord_buff)
21269
21269
  */
21270
21270
  __pyx_t_16 = 1;
21271
- *((double *) ( /* dim=0 */ (__pyx_v_weights_buff.data + __pyx_t_16 * __pyx_v_weights_buff.strides[0]) )) = __pyx_f_6pyvale_6cython_10rastercyth_edge_function(__pyx_t_10, __pyx_t_9, __pyx_v_px_coord_buff);
21271
+ *((double *) ( /* dim=0 */ (__pyx_v_weights_buff.data + __pyx_t_16 * __pyx_v_weights_buff.strides[0]) )) = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_edge_function(__pyx_t_10, __pyx_t_9, __pyx_v_px_coord_buff);
21272
21272
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_10, 1);
21273
21273
  __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
21274
21274
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_9, 1);
21275
21275
  __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL;
21276
21276
 
21277
- /* "pyvale/cython/rastercyth.py":619
21277
+ /* "pyvale/sensorsim/cython/rastercyth.py":618
21278
21278
  * nodes_raster_buff[0,:],
21279
21279
  * px_coord_buff)
21280
21280
  * if (weights_buff[1] < -tol): # <<<<<<<<<<<<<<
@@ -21285,7 +21285,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21285
21285
  __pyx_t_12 = ((*((double *) ( /* dim=0 */ (__pyx_v_weights_buff.data + __pyx_t_16 * __pyx_v_weights_buff.strides[0]) ))) < (-__pyx_v_tol));
21286
21286
  if (__pyx_t_12) {
21287
21287
 
21288
- /* "pyvale/cython/rastercyth.py":620
21288
+ /* "pyvale/sensorsim/cython/rastercyth.py":619
21289
21289
  * px_coord_buff)
21290
21290
  * if (weights_buff[1] < -tol):
21291
21291
  * bound_coord_x += coord_step # <<<<<<<<<<<<<<
@@ -21294,7 +21294,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21294
21294
  */
21295
21295
  __pyx_v_bound_coord_x = (__pyx_v_bound_coord_x + __pyx_v_coord_step);
21296
21296
 
21297
- /* "pyvale/cython/rastercyth.py":621
21297
+ /* "pyvale/sensorsim/cython/rastercyth.py":620
21298
21298
  * if (weights_buff[1] < -tol):
21299
21299
  * bound_coord_x += coord_step
21300
21300
  * bound_ind_x += 1 # <<<<<<<<<<<<<<
@@ -21303,7 +21303,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21303
21303
  */
21304
21304
  __pyx_v_bound_ind_x = (__pyx_v_bound_ind_x + 1);
21305
21305
 
21306
- /* "pyvale/cython/rastercyth.py":622
21306
+ /* "pyvale/sensorsim/cython/rastercyth.py":621
21307
21307
  * bound_coord_x += coord_step
21308
21308
  * bound_ind_x += 1
21309
21309
  * continue # <<<<<<<<<<<<<<
@@ -21312,7 +21312,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21312
21312
  */
21313
21313
  goto __pyx_L18_continue;
21314
21314
 
21315
- /* "pyvale/cython/rastercyth.py":619
21315
+ /* "pyvale/sensorsim/cython/rastercyth.py":618
21316
21316
  * nodes_raster_buff[0,:],
21317
21317
  * px_coord_buff)
21318
21318
  * if (weights_buff[1] < -tol): # <<<<<<<<<<<<<<
@@ -21321,7 +21321,7 @@ if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21321
21321
  */
21322
21322
  }
21323
21323
 
21324
- /* "pyvale/cython/rastercyth.py":625
21324
+ /* "pyvale/sensorsim/cython/rastercyth.py":624
21325
21325
  *
21326
21326
  *
21327
21327
  * weights_buff[2] = edge_function(nodes_raster_buff[0,:], # <<<<<<<<<<<<<<
@@ -21343,10 +21343,10 @@ __pyx_t_9.strides[0] = __pyx_v_nodes_raster_buff.strides[1];
21343
21343
 
21344
21344
  if (unlikely(((PyObject *) __pyx_t_9.memview) == Py_None)) {
21345
21345
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
21346
- __PYX_ERR(0, 625, __pyx_L1_error)
21346
+ __PYX_ERR(0, 624, __pyx_L1_error)
21347
21347
  }
21348
21348
 
21349
- /* "pyvale/cython/rastercyth.py":626
21349
+ /* "pyvale/sensorsim/cython/rastercyth.py":625
21350
21350
  *
21351
21351
  * weights_buff[2] = edge_function(nodes_raster_buff[0,:],
21352
21352
  * nodes_raster_buff[1,:], # <<<<<<<<<<<<<<
@@ -21368,10 +21368,10 @@ __pyx_t_10.strides[0] = __pyx_v_nodes_raster_buff.strides[1];
21368
21368
 
21369
21369
  if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21370
21370
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
21371
- __PYX_ERR(0, 626, __pyx_L1_error)
21371
+ __PYX_ERR(0, 625, __pyx_L1_error)
21372
21372
  }
21373
21373
 
21374
- /* "pyvale/cython/rastercyth.py":625
21374
+ /* "pyvale/sensorsim/cython/rastercyth.py":624
21375
21375
  *
21376
21376
  *
21377
21377
  * weights_buff[2] = edge_function(nodes_raster_buff[0,:], # <<<<<<<<<<<<<<
@@ -21379,13 +21379,13 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21379
21379
  * px_coord_buff)
21380
21380
  */
21381
21381
  __pyx_t_16 = 2;
21382
- *((double *) ( /* dim=0 */ (__pyx_v_weights_buff.data + __pyx_t_16 * __pyx_v_weights_buff.strides[0]) )) = __pyx_f_6pyvale_6cython_10rastercyth_edge_function(__pyx_t_9, __pyx_t_10, __pyx_v_px_coord_buff);
21382
+ *((double *) ( /* dim=0 */ (__pyx_v_weights_buff.data + __pyx_t_16 * __pyx_v_weights_buff.strides[0]) )) = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_edge_function(__pyx_t_9, __pyx_t_10, __pyx_v_px_coord_buff);
21383
21383
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_9, 1);
21384
21384
  __pyx_t_9.memview = NULL; __pyx_t_9.data = NULL;
21385
21385
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_10, 1);
21386
21386
  __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
21387
21387
 
21388
- /* "pyvale/cython/rastercyth.py":628
21388
+ /* "pyvale/sensorsim/cython/rastercyth.py":627
21389
21389
  * nodes_raster_buff[1,:],
21390
21390
  * px_coord_buff)
21391
21391
  * if (weights_buff[2] < -tol): # <<<<<<<<<<<<<<
@@ -21396,7 +21396,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21396
21396
  __pyx_t_12 = ((*((double *) ( /* dim=0 */ (__pyx_v_weights_buff.data + __pyx_t_16 * __pyx_v_weights_buff.strides[0]) ))) < (-__pyx_v_tol));
21397
21397
  if (__pyx_t_12) {
21398
21398
 
21399
- /* "pyvale/cython/rastercyth.py":629
21399
+ /* "pyvale/sensorsim/cython/rastercyth.py":628
21400
21400
  * px_coord_buff)
21401
21401
  * if (weights_buff[2] < -tol):
21402
21402
  * bound_coord_x += coord_step # <<<<<<<<<<<<<<
@@ -21405,7 +21405,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21405
21405
  */
21406
21406
  __pyx_v_bound_coord_x = (__pyx_v_bound_coord_x + __pyx_v_coord_step);
21407
21407
 
21408
- /* "pyvale/cython/rastercyth.py":630
21408
+ /* "pyvale/sensorsim/cython/rastercyth.py":629
21409
21409
  * if (weights_buff[2] < -tol):
21410
21410
  * bound_coord_x += coord_step
21411
21411
  * bound_ind_x += 1 # <<<<<<<<<<<<<<
@@ -21414,7 +21414,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21414
21414
  */
21415
21415
  __pyx_v_bound_ind_x = (__pyx_v_bound_ind_x + 1);
21416
21416
 
21417
- /* "pyvale/cython/rastercyth.py":631
21417
+ /* "pyvale/sensorsim/cython/rastercyth.py":630
21418
21418
  * bound_coord_x += coord_step
21419
21419
  * bound_ind_x += 1
21420
21420
  * continue # <<<<<<<<<<<<<<
@@ -21423,7 +21423,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21423
21423
  */
21424
21424
  goto __pyx_L18_continue;
21425
21425
 
21426
- /* "pyvale/cython/rastercyth.py":628
21426
+ /* "pyvale/sensorsim/cython/rastercyth.py":627
21427
21427
  * nodes_raster_buff[1,:],
21428
21428
  * px_coord_buff)
21429
21429
  * if (weights_buff[2] < -tol): # <<<<<<<<<<<<<<
@@ -21432,7 +21432,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21432
21432
  */
21433
21433
  }
21434
21434
 
21435
- /* "pyvale/cython/rastercyth.py":641
21435
+ /* "pyvale/sensorsim/cython/rastercyth.py":640
21436
21436
  *
21437
21437
  *
21438
21438
  * for ww in range(nodes_per_elem): # <<<<<<<<<<<<<<
@@ -21444,7 +21444,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21444
21444
  for (__pyx_t_18 = 0; __pyx_t_18 < __pyx_t_17; __pyx_t_18+=1) {
21445
21445
  __pyx_v_ww = __pyx_t_18;
21446
21446
 
21447
- /* "pyvale/cython/rastercyth.py":642
21447
+ /* "pyvale/sensorsim/cython/rastercyth.py":641
21448
21448
  *
21449
21449
  * for ww in range(nodes_per_elem):
21450
21450
  * weights_buff[ww] = weights_buff[ww] / elem_area # <<<<<<<<<<<<<<
@@ -21456,7 +21456,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21456
21456
  *((double *) ( /* dim=0 */ (__pyx_v_weights_buff.data + __pyx_t_20 * __pyx_v_weights_buff.strides[0]) )) = ((*((double *) ( /* dim=0 */ (__pyx_v_weights_buff.data + __pyx_t_19 * __pyx_v_weights_buff.strides[0]) ))) / __pyx_v_elem_area);
21457
21457
  }
21458
21458
 
21459
- /* "pyvale/cython/rastercyth.py":646
21459
+ /* "pyvale/sensorsim/cython/rastercyth.py":645
21460
21460
  * weight_dot_nodes: cython.double = vec_dot_double(
21461
21461
  * weights_buff,
21462
21462
  * nodes_raster_buff[:,zz]) # <<<<<<<<<<<<<<
@@ -21478,21 +21478,21 @@ __pyx_t_10.strides[0] = __pyx_v_nodes_raster_buff.strides[0];
21478
21478
 
21479
21479
  if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21480
21480
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
21481
- __PYX_ERR(0, 646, __pyx_L1_error)
21481
+ __PYX_ERR(0, 645, __pyx_L1_error)
21482
21482
  }
21483
21483
 
21484
- /* "pyvale/cython/rastercyth.py":644
21484
+ /* "pyvale/sensorsim/cython/rastercyth.py":643
21485
21485
  * weights_buff[ww] = weights_buff[ww] / elem_area
21486
21486
  *
21487
21487
  * weight_dot_nodes: cython.double = vec_dot_double( # <<<<<<<<<<<<<<
21488
21488
  * weights_buff,
21489
21489
  * nodes_raster_buff[:,zz])
21490
21490
  */
21491
- __pyx_v_weight_dot_nodes = __pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(__pyx_v_weights_buff, __pyx_t_10);
21491
+ __pyx_v_weight_dot_nodes = __pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_vec_dot_double(__pyx_v_weights_buff, __pyx_t_10);
21492
21492
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_10, 1);
21493
21493
  __pyx_t_10.memview = NULL; __pyx_t_10.data = NULL;
21494
21494
 
21495
- /* "pyvale/cython/rastercyth.py":649
21495
+ /* "pyvale/sensorsim/cython/rastercyth.py":648
21496
21496
  *
21497
21497
  * # Check the depth buffer, if the element is behind move on
21498
21498
  * px_coord_z: cython.double = 1/weight_dot_nodes # <<<<<<<<<<<<<<
@@ -21501,7 +21501,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21501
21501
  */
21502
21502
  __pyx_v_px_coord_z = (1.0 / __pyx_v_weight_dot_nodes);
21503
21503
 
21504
- /* "pyvale/cython/rastercyth.py":650
21504
+ /* "pyvale/sensorsim/cython/rastercyth.py":649
21505
21505
  * # Check the depth buffer, if the element is behind move on
21506
21506
  * px_coord_z: cython.double = 1/weight_dot_nodes
21507
21507
  * if px_coord_z >= depth_buff_subpx[bound_ind_y,bound_ind_x]: # <<<<<<<<<<<<<<
@@ -21513,7 +21513,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21513
21513
  __pyx_t_12 = (__pyx_v_px_coord_z >= (*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_depth_buff_subpx.data + __pyx_t_14 * __pyx_v_depth_buff_subpx.strides[0]) ) + __pyx_t_17 * __pyx_v_depth_buff_subpx.strides[1]) ))));
21514
21514
  if (__pyx_t_12) {
21515
21515
 
21516
- /* "pyvale/cython/rastercyth.py":651
21516
+ /* "pyvale/sensorsim/cython/rastercyth.py":650
21517
21517
  * px_coord_z: cython.double = 1/weight_dot_nodes
21518
21518
  * if px_coord_z >= depth_buff_subpx[bound_ind_y,bound_ind_x]:
21519
21519
  * bound_coord_x += coord_step # <<<<<<<<<<<<<<
@@ -21522,7 +21522,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21522
21522
  */
21523
21523
  __pyx_v_bound_coord_x = (__pyx_v_bound_coord_x + __pyx_v_coord_step);
21524
21524
 
21525
- /* "pyvale/cython/rastercyth.py":652
21525
+ /* "pyvale/sensorsim/cython/rastercyth.py":651
21526
21526
  * if px_coord_z >= depth_buff_subpx[bound_ind_y,bound_ind_x]:
21527
21527
  * bound_coord_x += coord_step
21528
21528
  * bound_ind_x += 1 # <<<<<<<<<<<<<<
@@ -21531,7 +21531,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21531
21531
  */
21532
21532
  __pyx_v_bound_ind_x = (__pyx_v_bound_ind_x + 1);
21533
21533
 
21534
- /* "pyvale/cython/rastercyth.py":653
21534
+ /* "pyvale/sensorsim/cython/rastercyth.py":652
21535
21535
  * bound_coord_x += coord_step
21536
21536
  * bound_ind_x += 1
21537
21537
  * continue # <<<<<<<<<<<<<<
@@ -21540,7 +21540,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21540
21540
  */
21541
21541
  goto __pyx_L18_continue;
21542
21542
 
21543
- /* "pyvale/cython/rastercyth.py":650
21543
+ /* "pyvale/sensorsim/cython/rastercyth.py":649
21544
21544
  * # Check the depth buffer, if the element is behind move on
21545
21545
  * px_coord_z: cython.double = 1/weight_dot_nodes
21546
21546
  * if px_coord_z >= depth_buff_subpx[bound_ind_y,bound_ind_x]: # <<<<<<<<<<<<<<
@@ -21549,7 +21549,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21549
21549
  */
21550
21550
  }
21551
21551
 
21552
- /* "pyvale/cython/rastercyth.py":656
21552
+ /* "pyvale/sensorsim/cython/rastercyth.py":655
21553
21553
  *
21554
21554
  * # We only need one depth buffer for all fields
21555
21555
  * depth_buff_subpx[bound_ind_y,bound_ind_x] = px_coord_z # <<<<<<<<<<<<<<
@@ -21560,7 +21560,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21560
21560
  __pyx_t_14 = __pyx_v_bound_ind_x;
21561
21561
  *((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_depth_buff_subpx.data + __pyx_t_17 * __pyx_v_depth_buff_subpx.strides[0]) ) + __pyx_t_14 * __pyx_v_depth_buff_subpx.strides[1]) )) = __pyx_v_px_coord_z;
21562
21562
 
21563
- /* "pyvale/cython/rastercyth.py":658
21563
+ /* "pyvale/sensorsim/cython/rastercyth.py":657
21564
21564
  * depth_buff_subpx[bound_ind_y,bound_ind_x] = px_coord_z
21565
21565
  *
21566
21566
  * for ff in range(fields_num): # <<<<<<<<<<<<<<
@@ -21572,7 +21572,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21572
21572
  for (__pyx_t_18 = 0; __pyx_t_18 < __pyx_t_17; __pyx_t_18+=1) {
21573
21573
  __pyx_v_ff = __pyx_t_18;
21574
21574
 
21575
- /* "pyvale/cython/rastercyth.py":659
21575
+ /* "pyvale/sensorsim/cython/rastercyth.py":658
21576
21576
  *
21577
21577
  * for ff in range(fields_num):
21578
21578
  * for nn in range(nodes_per_elem): # <<<<<<<<<<<<<<
@@ -21584,7 +21584,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21584
21584
  for (__pyx_t_21 = 0; __pyx_t_21 < __pyx_t_20; __pyx_t_21+=1) {
21585
21585
  __pyx_v_nn = __pyx_t_21;
21586
21586
 
21587
- /* "pyvale/cython/rastercyth.py":661
21587
+ /* "pyvale/sensorsim/cython/rastercyth.py":660
21588
21588
  * for nn in range(nodes_per_elem):
21589
21589
  *
21590
21590
  * field_raster_buff[nn] = (fields_to_render[connect[ee,nn],ff] # <<<<<<<<<<<<<<
@@ -21596,7 +21596,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21596
21596
  __pyx_t_24 = (*((size_t *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_connect.data + __pyx_t_22 * __pyx_v_connect.strides[0]) ) + __pyx_t_23 * __pyx_v_connect.strides[1]) )));
21597
21597
  __pyx_t_25 = __pyx_v_ff;
21598
21598
 
21599
- /* "pyvale/cython/rastercyth.py":662
21599
+ /* "pyvale/sensorsim/cython/rastercyth.py":661
21600
21600
  *
21601
21601
  * field_raster_buff[nn] = (fields_to_render[connect[ee,nn],ff]
21602
21602
  * *nodes_raster_buff[nn,zz]) # <<<<<<<<<<<<<<
@@ -21606,7 +21606,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21606
21606
  __pyx_t_26 = __pyx_v_nn;
21607
21607
  __pyx_t_27 = __pyx_v_zz;
21608
21608
 
21609
- /* "pyvale/cython/rastercyth.py":661
21609
+ /* "pyvale/sensorsim/cython/rastercyth.py":660
21610
21610
  * for nn in range(nodes_per_elem):
21611
21611
  *
21612
21612
  * field_raster_buff[nn] = (fields_to_render[connect[ee,nn],ff] # <<<<<<<<<<<<<<
@@ -21617,16 +21617,16 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21617
21617
  *((double *) ( /* dim=0 */ (__pyx_v_field_raster_buff.data + __pyx_t_28 * __pyx_v_field_raster_buff.strides[0]) )) = ((*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_fields_to_render.data + __pyx_t_24 * __pyx_v_fields_to_render.strides[0]) ) + __pyx_t_25 * __pyx_v_fields_to_render.strides[1]) ))) * (*((double *) ( /* dim=1 */ (( /* dim=0 */ (__pyx_v_nodes_raster_buff.data + __pyx_t_26 * __pyx_v_nodes_raster_buff.strides[0]) ) + __pyx_t_27 * __pyx_v_nodes_raster_buff.strides[1]) ))));
21618
21618
  }
21619
21619
 
21620
- /* "pyvale/cython/rastercyth.py":666
21620
+ /* "pyvale/sensorsim/cython/rastercyth.py":665
21621
21621
  * px_field: cython.double = (vec_dot_double(field_raster_buff,
21622
21622
  * weights_buff)
21623
21623
  * *px_coord_z) # <<<<<<<<<<<<<<
21624
21624
  *
21625
21625
  * image_buff_subpx[bound_ind_y,bound_ind_x,ff] = px_field
21626
21626
  */
21627
- __pyx_v_px_field = (__pyx_f_6pyvale_6cython_10rastercyth_vec_dot_double(__pyx_v_field_raster_buff, __pyx_v_weights_buff) * __pyx_v_px_coord_z);
21627
+ __pyx_v_px_field = (__pyx_f_6pyvale_9sensorsim_6cython_10rastercyth_vec_dot_double(__pyx_v_field_raster_buff, __pyx_v_weights_buff) * __pyx_v_px_coord_z);
21628
21628
 
21629
- /* "pyvale/cython/rastercyth.py":668
21629
+ /* "pyvale/sensorsim/cython/rastercyth.py":667
21630
21630
  * *px_coord_z)
21631
21631
  *
21632
21632
  * image_buff_subpx[bound_ind_y,bound_ind_x,ff] = px_field # <<<<<<<<<<<<<<
@@ -21639,7 +21639,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21639
21639
  *((double *) ( /* dim=2 */ (( /* dim=1 */ (( /* dim=0 */ (__pyx_v_image_buff_subpx.data + __pyx_t_19 * __pyx_v_image_buff_subpx.strides[0]) ) + __pyx_t_20 * __pyx_v_image_buff_subpx.strides[1]) ) + __pyx_t_21 * __pyx_v_image_buff_subpx.strides[2]) )) = __pyx_v_px_field;
21640
21640
  }
21641
21641
 
21642
- /* "pyvale/cython/rastercyth.py":671
21642
+ /* "pyvale/sensorsim/cython/rastercyth.py":670
21643
21643
  *
21644
21644
  * # end for(x) - increment the x coords
21645
21645
  * bound_coord_x += coord_step # <<<<<<<<<<<<<<
@@ -21648,7 +21648,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21648
21648
  */
21649
21649
  __pyx_v_bound_coord_x = (__pyx_v_bound_coord_x + __pyx_v_coord_step);
21650
21650
 
21651
- /* "pyvale/cython/rastercyth.py":672
21651
+ /* "pyvale/sensorsim/cython/rastercyth.py":671
21652
21652
  * # end for(x) - increment the x coords
21653
21653
  * bound_coord_x += coord_step
21654
21654
  * bound_ind_x += 1 # <<<<<<<<<<<<<<
@@ -21659,7 +21659,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21659
21659
  __pyx_L18_continue:;
21660
21660
  }
21661
21661
 
21662
- /* "pyvale/cython/rastercyth.py":675
21662
+ /* "pyvale/sensorsim/cython/rastercyth.py":674
21663
21663
  *
21664
21664
  * # end for(y) - increment the y coords
21665
21665
  * bound_coord_y += coord_step # <<<<<<<<<<<<<<
@@ -21668,7 +21668,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21668
21668
  */
21669
21669
  __pyx_v_bound_coord_y = (__pyx_v_bound_coord_y + __pyx_v_coord_step);
21670
21670
 
21671
- /* "pyvale/cython/rastercyth.py":676
21671
+ /* "pyvale/sensorsim/cython/rastercyth.py":675
21672
21672
  * # end for(y) - increment the y coords
21673
21673
  * bound_coord_y += coord_step
21674
21674
  * bound_ind_y += 1 # <<<<<<<<<<<<<<
@@ -21680,16 +21680,16 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21680
21680
  __pyx_L3_continue:;
21681
21681
  }
21682
21682
 
21683
- /* "pyvale/cython/rastercyth.py":678
21683
+ /* "pyvale/sensorsim/cython/rastercyth.py":677
21684
21684
  * bound_ind_y += 1
21685
21685
  *
21686
21686
  * _average_image(depth_buff_subpx,sub_samp,depth_buff_avg) # <<<<<<<<<<<<<<
21687
21687
  *
21688
21688
  * for ff in range(fields_num):
21689
21689
  */
21690
- (void)(__pyx_f_6pyvale_6cython_10rastercyth__average_image(__pyx_v_depth_buff_subpx, __pyx_v_sub_samp, __pyx_v_depth_buff_avg));
21690
+ (void)(__pyx_f_6pyvale_9sensorsim_6cython_10rastercyth__average_image(__pyx_v_depth_buff_subpx, __pyx_v_sub_samp, __pyx_v_depth_buff_avg));
21691
21691
 
21692
- /* "pyvale/cython/rastercyth.py":680
21692
+ /* "pyvale/sensorsim/cython/rastercyth.py":679
21693
21693
  * _average_image(depth_buff_subpx,sub_samp,depth_buff_avg)
21694
21694
  *
21695
21695
  * for ff in range(fields_num): # <<<<<<<<<<<<<<
@@ -21701,7 +21701,7 @@ if (unlikely(((PyObject *) __pyx_t_10.memview) == Py_None)) {
21701
21701
  for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
21702
21702
  __pyx_v_ff = __pyx_t_3;
21703
21703
 
21704
- /* "pyvale/cython/rastercyth.py":681
21704
+ /* "pyvale/sensorsim/cython/rastercyth.py":680
21705
21705
  *
21706
21706
  * for ff in range(fields_num):
21707
21707
  * _average_image(image_buff_subpx[:,:,ff], # <<<<<<<<<<<<<<
@@ -21727,10 +21727,10 @@ __pyx_t_29.strides[1] = __pyx_v_image_buff_subpx.strides[1];
21727
21727
 
21728
21728
  if (unlikely(((PyObject *) __pyx_t_29.memview) == Py_None)) {
21729
21729
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
21730
- __PYX_ERR(0, 681, __pyx_L1_error)
21730
+ __PYX_ERR(0, 680, __pyx_L1_error)
21731
21731
  }
21732
21732
 
21733
- /* "pyvale/cython/rastercyth.py":683
21733
+ /* "pyvale/sensorsim/cython/rastercyth.py":682
21734
21734
  * _average_image(image_buff_subpx[:,:,ff],
21735
21735
  * sub_samp,
21736
21736
  * image_buff_avg[:,:,ff]) # <<<<<<<<<<<<<<
@@ -21756,24 +21756,24 @@ __pyx_t_30.strides[1] = __pyx_v_image_buff_avg.strides[1];
21756
21756
 
21757
21757
  if (unlikely(((PyObject *) __pyx_t_30.memview) == Py_None)) {
21758
21758
  PyErr_SetString(PyExc_TypeError, "cannot pass None into a C function argument that is declared 'not None'");
21759
- __PYX_ERR(0, 683, __pyx_L1_error)
21759
+ __PYX_ERR(0, 682, __pyx_L1_error)
21760
21760
  }
21761
21761
 
21762
- /* "pyvale/cython/rastercyth.py":681
21762
+ /* "pyvale/sensorsim/cython/rastercyth.py":680
21763
21763
  *
21764
21764
  * for ff in range(fields_num):
21765
21765
  * _average_image(image_buff_subpx[:,:,ff], # <<<<<<<<<<<<<<
21766
21766
  * sub_samp,
21767
21767
  * image_buff_avg[:,:,ff])
21768
21768
  */
21769
- (void)(__pyx_f_6pyvale_6cython_10rastercyth__average_image(__pyx_t_29, __pyx_v_sub_samp, __pyx_t_30));
21769
+ (void)(__pyx_f_6pyvale_9sensorsim_6cython_10rastercyth__average_image(__pyx_t_29, __pyx_v_sub_samp, __pyx_t_30));
21770
21770
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_29, 1);
21771
21771
  __pyx_t_29.memview = NULL; __pyx_t_29.data = NULL;
21772
21772
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_30, 1);
21773
21773
  __pyx_t_30.memview = NULL; __pyx_t_30.data = NULL;
21774
21774
  }
21775
21775
 
21776
- /* "pyvale/cython/rastercyth.py":685
21776
+ /* "pyvale/sensorsim/cython/rastercyth.py":684
21777
21777
  * image_buff_avg[:,:,ff])
21778
21778
  *
21779
21779
  * return elems_in_image # <<<<<<<<<<<<<<
@@ -21781,7 +21781,7 @@ if (unlikely(((PyObject *) __pyx_t_30.memview) == Py_None)) {
21781
21781
  __pyx_r = __pyx_v_elems_in_image;
21782
21782
  goto __pyx_L0;
21783
21783
 
21784
- /* "pyvale/cython/rastercyth.py":420
21784
+ /* "pyvale/sensorsim/cython/rastercyth.py":419
21785
21785
  * #///////////////////////////////////////////////////////////////////////////////
21786
21786
  * #@cython.nogil
21787
21787
  * @cython.cfunc # python+C or cython.cfunc for C only # <<<<<<<<<<<<<<
@@ -21796,7 +21796,7 @@ if (unlikely(((PyObject *) __pyx_t_30.memview) == Py_None)) {
21796
21796
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_11, 1);
21797
21797
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_29, 1);
21798
21798
  __PYX_XCLEAR_MEMVIEW(&__pyx_t_30, 1);
21799
- __Pyx_WriteUnraisable("pyvale.cython.rastercyth._raster_frame", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
21799
+ __Pyx_WriteUnraisable("pyvale.sensorsim.cython.rastercyth._raster_frame", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
21800
21800
  __pyx_r = 0;
21801
21801
  __pyx_L0:;
21802
21802
  return __pyx_r;
@@ -21933,7 +21933,7 @@ static PyType_Slot __pyx_type___pyx_array_slots[] = {
21933
21933
  {0, 0},
21934
21934
  };
21935
21935
  static PyType_Spec __pyx_type___pyx_array_spec = {
21936
- "pyvale.cython.rastercyth.array",
21936
+ "pyvale.sensorsim.cython.rastercyth.array",
21937
21937
  sizeof(struct __pyx_array_obj),
21938
21938
  0,
21939
21939
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_SEQUENCE,
@@ -21967,7 +21967,7 @@ static PyBufferProcs __pyx_tp_as_buffer_array = {
21967
21967
 
21968
21968
  static PyTypeObject __pyx_type___pyx_array = {
21969
21969
  PyVarObject_HEAD_INIT(0, 0)
21970
- "pyvale.cython.rastercyth.""array", /*tp_name*/
21970
+ "pyvale.sensorsim.cython.rastercyth.""array", /*tp_name*/
21971
21971
  sizeof(struct __pyx_array_obj), /*tp_basicsize*/
21972
21972
  0, /*tp_itemsize*/
21973
21973
  __pyx_tp_dealloc_array, /*tp_dealloc*/
@@ -22122,7 +22122,7 @@ static PyType_Slot __pyx_type___pyx_MemviewEnum_slots[] = {
22122
22122
  {0, 0},
22123
22123
  };
22124
22124
  static PyType_Spec __pyx_type___pyx_MemviewEnum_spec = {
22125
- "pyvale.cython.rastercyth.Enum",
22125
+ "pyvale.sensorsim.cython.rastercyth.Enum",
22126
22126
  sizeof(struct __pyx_MemviewEnum_obj),
22127
22127
  0,
22128
22128
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
@@ -22132,7 +22132,7 @@ static PyType_Spec __pyx_type___pyx_MemviewEnum_spec = {
22132
22132
 
22133
22133
  static PyTypeObject __pyx_type___pyx_MemviewEnum = {
22134
22134
  PyVarObject_HEAD_INIT(0, 0)
22135
- "pyvale.cython.rastercyth.""Enum", /*tp_name*/
22135
+ "pyvale.sensorsim.cython.rastercyth.""Enum", /*tp_name*/
22136
22136
  sizeof(struct __pyx_MemviewEnum_obj), /*tp_basicsize*/
22137
22137
  0, /*tp_itemsize*/
22138
22138
  __pyx_tp_dealloc_Enum, /*tp_dealloc*/
@@ -22417,7 +22417,7 @@ static PyType_Slot __pyx_type___pyx_memoryview_slots[] = {
22417
22417
  {0, 0},
22418
22418
  };
22419
22419
  static PyType_Spec __pyx_type___pyx_memoryview_spec = {
22420
- "pyvale.cython.rastercyth.memoryview",
22420
+ "pyvale.sensorsim.cython.rastercyth.memoryview",
22421
22421
  sizeof(struct __pyx_memoryview_obj),
22422
22422
  0,
22423
22423
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC,
@@ -22451,7 +22451,7 @@ static PyBufferProcs __pyx_tp_as_buffer_memoryview = {
22451
22451
 
22452
22452
  static PyTypeObject __pyx_type___pyx_memoryview = {
22453
22453
  PyVarObject_HEAD_INIT(0, 0)
22454
- "pyvale.cython.rastercyth.""memoryview", /*tp_name*/
22454
+ "pyvale.sensorsim.cython.rastercyth.""memoryview", /*tp_name*/
22455
22455
  sizeof(struct __pyx_memoryview_obj), /*tp_basicsize*/
22456
22456
  0, /*tp_itemsize*/
22457
22457
  __pyx_tp_dealloc_memoryview, /*tp_dealloc*/
@@ -22599,7 +22599,7 @@ static PyType_Slot __pyx_type___pyx_memoryviewslice_slots[] = {
22599
22599
  {0, 0},
22600
22600
  };
22601
22601
  static PyType_Spec __pyx_type___pyx_memoryviewslice_spec = {
22602
- "pyvale.cython.rastercyth._memoryviewslice",
22602
+ "pyvale.sensorsim.cython.rastercyth._memoryviewslice",
22603
22603
  sizeof(struct __pyx_memoryviewslice_obj),
22604
22604
  0,
22605
22605
  Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_BASETYPE|Py_TPFLAGS_HAVE_GC|Py_TPFLAGS_SEQUENCE,
@@ -22609,7 +22609,7 @@ static PyType_Spec __pyx_type___pyx_memoryviewslice_spec = {
22609
22609
 
22610
22610
  static PyTypeObject __pyx_type___pyx_memoryviewslice = {
22611
22611
  PyVarObject_HEAD_INIT(0, 0)
22612
- "pyvale.cython.rastercyth.""_memoryviewslice", /*tp_name*/
22612
+ "pyvale.sensorsim.cython.rastercyth.""_memoryviewslice", /*tp_name*/
22613
22613
  sizeof(struct __pyx_memoryviewslice_obj), /*tp_basicsize*/
22614
22614
  0, /*tp_itemsize*/
22615
22615
  __pyx_tp_dealloc__memoryviewslice, /*tp_dealloc*/
@@ -23167,13 +23167,13 @@ __Pyx_RefNannySetupContext("PyInit_rastercyth", 0);
23167
23167
  if (__pyx_AsyncGen_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
23168
23168
  #endif
23169
23169
  /*--- Library function declarations ---*/
23170
- if (__pyx_module_is_main_pyvale__cython__rastercyth) {
23170
+ if (__pyx_module_is_main_pyvale__sensorsim__cython__rastercyth) {
23171
23171
  if (PyObject_SetAttr(__pyx_m, __pyx_mstate_global->__pyx_n_u_name_2, __pyx_mstate_global->__pyx_n_u_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
23172
23172
  }
23173
23173
  {
23174
23174
  PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
23175
- if (!PyDict_GetItemString(modules, "pyvale.cython.rastercyth")) {
23176
- if (unlikely((PyDict_SetItemString(modules, "pyvale.cython.rastercyth", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
23175
+ if (!PyDict_GetItemString(modules, "pyvale.sensorsim.cython.rastercyth")) {
23176
+ if (unlikely((PyDict_SetItemString(modules, "pyvale.sensorsim.cython.rastercyth", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error)
23177
23177
  }
23178
23178
  }
23179
23179
  /*--- Builtin init code ---*/
@@ -23723,7 +23723,7 @@ __Pyx_RefNannySetupContext("PyInit_rastercyth", 0);
23723
23723
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_pyx_unpickle_Enum, __pyx_t_5) < 0) __PYX_ERR(1, 1, __pyx_L1_error)
23724
23724
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23725
23725
 
23726
- /* "pyvale/cython/rastercyth.py":11
23726
+ /* "pyvale/sensorsim/cython/rastercyth.py":11
23727
23727
  * """
23728
23728
  *
23729
23729
  * import numpy as np # <<<<<<<<<<<<<<
@@ -23735,16 +23735,16 @@ __Pyx_RefNannySetupContext("PyInit_rastercyth", 0);
23735
23735
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_np, __pyx_t_5) < 0) __PYX_ERR(0, 11, __pyx_L1_error)
23736
23736
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23737
23737
 
23738
- /* "pyvale/cython/rastercyth.py":15
23738
+ /* "pyvale/sensorsim/cython/rastercyth.py":15
23739
23739
  * #from cython.parallel import prange, parallel, threadid
23740
23740
  * from cython.cimports.libc.math import floor, ceil
23741
- * from pyvale.cameradata import CameraData # <<<<<<<<<<<<<<
23741
+ * from pyvale.sensorsim.cameradata import CameraData # <<<<<<<<<<<<<<
23742
23742
  *
23743
23743
  * # NOTE: This module is a feature under developement.
23744
23744
  */
23745
23745
  __pyx_t_5 = __Pyx_PyList_Pack(1, __pyx_mstate_global->__pyx_n_u_CameraData); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15, __pyx_L1_error)
23746
23746
  __Pyx_GOTREF(__pyx_t_5);
23747
- __pyx_t_4 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_pyvale_cameradata, __pyx_t_5, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15, __pyx_L1_error)
23747
+ __pyx_t_4 = __Pyx_Import(__pyx_mstate_global->__pyx_n_u_pyvale_sensorsim_cameradata, __pyx_t_5, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 15, __pyx_L1_error)
23748
23748
  __Pyx_GOTREF(__pyx_t_4);
23749
23749
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23750
23750
  __pyx_t_5 = __Pyx_ImportFrom(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_CameraData); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 15, __pyx_L1_error)
@@ -23753,7 +23753,7 @@ __Pyx_RefNannySetupContext("PyInit_rastercyth", 0);
23753
23753
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23754
23754
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23755
23755
 
23756
- /* "pyvale/cython/rastercyth.py":248
23756
+ /* "pyvale/sensorsim/cython/rastercyth.py":248
23757
23757
  *
23758
23758
  *
23759
23759
  * @cython.ccall # <<<<<<<<<<<<<<
@@ -23764,14 +23764,14 @@ __Pyx_RefNannySetupContext("PyInit_rastercyth", 0);
23764
23764
  __Pyx_GOTREF(__pyx_t_4);
23765
23765
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_image_subpx, __pyx_mstate_global->__pyx_kp_u_cython_double) < 0) __PYX_ERR(0, 248, __pyx_L1_error)
23766
23766
  if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_sub_samp, __pyx_mstate_global->__pyx_kp_u_cython_int) < 0) __PYX_ERR(0, 248, __pyx_L1_error)
23767
- __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_6pyvale_6cython_10rastercyth_1average_image, 0, __pyx_mstate_global->__pyx_n_u_average_image, NULL, __pyx_mstate_global->__pyx_n_u_pyvale_cython_rastercyth, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[0])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 248, __pyx_L1_error)
23767
+ __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_6pyvale_9sensorsim_6cython_10rastercyth_1average_image, 0, __pyx_mstate_global->__pyx_n_u_average_image, NULL, __pyx_mstate_global->__pyx_n_u_pyvale_sensorsim_cython_rastercy, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[0])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 248, __pyx_L1_error)
23768
23768
  __Pyx_GOTREF(__pyx_t_5);
23769
23769
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4);
23770
23770
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23771
23771
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_average_image, __pyx_t_5) < 0) __PYX_ERR(0, 248, __pyx_L1_error)
23772
23772
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23773
23773
 
23774
- /* "pyvale/cython/rastercyth.py":331
23774
+ /* "pyvale/sensorsim/cython/rastercyth.py":331
23775
23775
  *
23776
23776
  * #///////////////////////////////////////////////////////////////////////////////
23777
23777
  * @cython.ccall # python+C or cython.cfunc for C only # <<<<<<<<<<<<<<
@@ -23784,35 +23784,35 @@ __Pyx_RefNannySetupContext("PyInit_rastercyth", 0);
23784
23784
  if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_connect, __pyx_mstate_global->__pyx_kp_u_cython_size_t) < 0) __PYX_ERR(0, 331, __pyx_L1_error)
23785
23785
  if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_fields_to_render, __pyx_mstate_global->__pyx_kp_u_cython_double) < 0) __PYX_ERR(0, 331, __pyx_L1_error)
23786
23786
  if (PyDict_SetItem(__pyx_t_5, __pyx_mstate_global->__pyx_n_u_cam_data, __pyx_mstate_global->__pyx_n_u_CameraData) < 0) __PYX_ERR(0, 331, __pyx_L1_error)
23787
- __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6pyvale_6cython_10rastercyth_3raster_static_frame, 0, __pyx_mstate_global->__pyx_n_u_raster_static_frame, NULL, __pyx_mstate_global->__pyx_n_u_pyvale_cython_rastercyth, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 331, __pyx_L1_error)
23787
+ __pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_6pyvale_9sensorsim_6cython_10rastercyth_3raster_static_frame, 0, __pyx_mstate_global->__pyx_n_u_raster_static_frame, NULL, __pyx_mstate_global->__pyx_n_u_pyvale_sensorsim_cython_rastercy, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[1])); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 331, __pyx_L1_error)
23788
23788
  __Pyx_GOTREF(__pyx_t_4);
23789
23789
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_5);
23790
23790
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23791
23791
  if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_raster_static_frame, __pyx_t_4) < 0) __PYX_ERR(0, 331, __pyx_L1_error)
23792
23792
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23793
23793
 
23794
- /* "pyvale/cython/rastercyth.py":406
23794
+ /* "pyvale/sensorsim/cython/rastercyth.py":405
23795
23795
  *
23796
23796
  * #///////////////////////////////////////////////////////////////////////////////
23797
23797
  * @cython.ccall # python+C or cython.cfunc for C only # <<<<<<<<<<<<<<
23798
23798
  * @cython.boundscheck(False) # Turn off array bounds checking
23799
23799
  * @cython.wraparound(False) # Turn off negative indexing
23800
23800
  */
23801
- __pyx_t_4 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 406, __pyx_L1_error)
23801
+ __pyx_t_4 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 405, __pyx_L1_error)
23802
23802
  __Pyx_GOTREF(__pyx_t_4);
23803
- if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_coords, __pyx_mstate_global->__pyx_kp_u_cython_double) < 0) __PYX_ERR(0, 406, __pyx_L1_error)
23804
- if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_connect, __pyx_mstate_global->__pyx_kp_u_cython_size_t) < 0) __PYX_ERR(0, 406, __pyx_L1_error)
23805
- if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_fields_to_render, __pyx_mstate_global->__pyx_kp_u_cython_double) < 0) __PYX_ERR(0, 406, __pyx_L1_error)
23806
- if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_cam_data, __pyx_mstate_global->__pyx_n_u_CameraData) < 0) __PYX_ERR(0, 406, __pyx_L1_error)
23807
- if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_field_disp, __pyx_mstate_global->__pyx_kp_u_cython_double) < 0) __PYX_ERR(0, 406, __pyx_L1_error)
23808
- __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_6pyvale_6cython_10rastercyth_5raster_deform_frame, 0, __pyx_mstate_global->__pyx_n_u_raster_deform_frame, NULL, __pyx_mstate_global->__pyx_n_u_pyvale_cython_rastercyth, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[2])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 406, __pyx_L1_error)
23803
+ if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_coords, __pyx_mstate_global->__pyx_kp_u_cython_double) < 0) __PYX_ERR(0, 405, __pyx_L1_error)
23804
+ if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_connect, __pyx_mstate_global->__pyx_kp_u_cython_size_t) < 0) __PYX_ERR(0, 405, __pyx_L1_error)
23805
+ if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_fields_to_render, __pyx_mstate_global->__pyx_kp_u_cython_double) < 0) __PYX_ERR(0, 405, __pyx_L1_error)
23806
+ if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_cam_data, __pyx_mstate_global->__pyx_n_u_CameraData) < 0) __PYX_ERR(0, 405, __pyx_L1_error)
23807
+ if (PyDict_SetItem(__pyx_t_4, __pyx_mstate_global->__pyx_n_u_field_disp, __pyx_mstate_global->__pyx_kp_u_cython_double) < 0) __PYX_ERR(0, 405, __pyx_L1_error)
23808
+ __pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_6pyvale_9sensorsim_6cython_10rastercyth_5raster_deform_frame, 0, __pyx_mstate_global->__pyx_n_u_raster_deform_frame, NULL, __pyx_mstate_global->__pyx_n_u_pyvale_sensorsim_cython_rastercy, __pyx_mstate_global->__pyx_d, ((PyObject *)__pyx_mstate_global->__pyx_codeobj_tab[2])); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 405, __pyx_L1_error)
23809
23809
  __Pyx_GOTREF(__pyx_t_5);
23810
23810
  __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_4);
23811
23811
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
23812
- if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_raster_deform_frame, __pyx_t_5) < 0) __PYX_ERR(0, 406, __pyx_L1_error)
23812
+ if (PyDict_SetItem(__pyx_mstate_global->__pyx_d, __pyx_mstate_global->__pyx_n_u_raster_deform_frame, __pyx_t_5) < 0) __PYX_ERR(0, 405, __pyx_L1_error)
23813
23813
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
23814
23814
 
23815
- /* "pyvale/cython/rastercyth.py":1
23815
+ /* "pyvale/sensorsim/cython/rastercyth.py":1
23816
23816
  * # ============================================================================== # <<<<<<<<<<<<<<
23817
23817
  * # pyvale: the python validation engine
23818
23818
  * # License: MIT
@@ -23831,7 +23831,7 @@ __Pyx_RefNannySetupContext("PyInit_rastercyth", 0);
23831
23831
  __Pyx_XDECREF(__pyx_t_6);
23832
23832
  if (__pyx_m) {
23833
23833
  if (__pyx_mstate->__pyx_d && stringtab_initialized) {
23834
- __Pyx_AddTraceback("init pyvale.cython.rastercyth", __pyx_clineno, __pyx_lineno, __pyx_filename);
23834
+ __Pyx_AddTraceback("init pyvale.sensorsim.cython.rastercyth", __pyx_clineno, __pyx_lineno, __pyx_filename);
23835
23835
  }
23836
23836
  #if !CYTHON_USE_MODULE_STATE
23837
23837
  Py_CLEAR(__pyx_m);
@@ -23845,7 +23845,7 @@ __Pyx_RefNannySetupContext("PyInit_rastercyth", 0);
23845
23845
  }
23846
23846
  #endif
23847
23847
  } else if (!PyErr_Occurred()) {
23848
- PyErr_SetString(PyExc_ImportError, "init pyvale.cython.rastercyth");
23848
+ PyErr_SetString(PyExc_ImportError, "init pyvale.sensorsim.cython.rastercyth");
23849
23849
  }
23850
23850
  __pyx_L0:;
23851
23851
  __Pyx_RefNannyFinishContext();
@@ -23991,8 +23991,8 @@ static const __Pyx_StringTabEntry __pyx_string_tab[] = {
23991
23991
  {__pyx_k_pickle, sizeof(__pyx_k_pickle), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pickle */
23992
23992
  {__pyx_k_pixels_num, sizeof(__pyx_k_pixels_num), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pixels_num */
23993
23993
  {__pyx_k_pop, sizeof(__pyx_k_pop), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pop */
23994
- {__pyx_k_pyvale_cameradata, sizeof(__pyx_k_pyvale_cameradata), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyvale_cameradata */
23995
- {__pyx_k_pyvale_cython_rastercyth, sizeof(__pyx_k_pyvale_cython_rastercyth), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyvale_cython_rastercyth */
23994
+ {__pyx_k_pyvale_sensorsim_cameradata, sizeof(__pyx_k_pyvale_sensorsim_cameradata), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyvale_sensorsim_cameradata */
23995
+ {__pyx_k_pyvale_sensorsim_cython_rastercy, sizeof(__pyx_k_pyvale_sensorsim_cython_rastercy), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyvale_sensorsim_cython_rastercy */
23996
23996
  {__pyx_k_pyx_checksum, sizeof(__pyx_k_pyx_checksum), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyx_checksum */
23997
23997
  {__pyx_k_pyx_state, sizeof(__pyx_k_pyx_state), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyx_state */
23998
23998
  {__pyx_k_pyx_type, sizeof(__pyx_k_pyx_type), 0, 1, 1}, /* PyObject cname: __pyx_n_u_pyx_type */
@@ -24012,7 +24012,7 @@ static const __Pyx_StringTabEntry __pyx_string_tab[] = {
24012
24012
  {__pyx_k_shape, sizeof(__pyx_k_shape), 0, 1, 1}, /* PyObject cname: __pyx_n_u_shape */
24013
24013
  {__pyx_k_size, sizeof(__pyx_k_size), 0, 1, 1}, /* PyObject cname: __pyx_n_u_size */
24014
24014
  {__pyx_k_spec, sizeof(__pyx_k_spec), 0, 1, 1}, /* PyObject cname: __pyx_n_u_spec */
24015
- {__pyx_k_src_pyvale_cython_rastercyth_py, sizeof(__pyx_k_src_pyvale_cython_rastercyth_py), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_src_pyvale_cython_rastercyth_py */
24015
+ {__pyx_k_src_pyvale_sensorsim_cython_rast, sizeof(__pyx_k_src_pyvale_sensorsim_cython_rast), 0, 1, 0}, /* PyObject cname: __pyx_kp_u_src_pyvale_sensorsim_cython_rast */
24016
24016
  {__pyx_k_start, sizeof(__pyx_k_start), 0, 1, 1}, /* PyObject cname: __pyx_n_u_start */
24017
24017
  {__pyx_k_step, sizeof(__pyx_k_step), 0, 1, 1}, /* PyObject cname: __pyx_n_u_step */
24018
24018
  {__pyx_k_stop, sizeof(__pyx_k_stop), 0, 1, 1}, /* PyObject cname: __pyx_n_u_stop */
@@ -24095,7 +24095,7 @@ static int __Pyx_InitCachedConstants(__pyx_mstatetype *__pyx_mstate) {
24095
24095
  __Pyx_GOTREF(__pyx_mstate_global->__pyx_tuple[1]);
24096
24096
  __Pyx_GIVEREF(__pyx_mstate_global->__pyx_tuple[1]);
24097
24097
 
24098
- /* "pyvale/cython/rastercyth.py":380
24098
+ /* "pyvale/sensorsim/cython/rastercyth.py":380
24099
24099
  *
24100
24100
  * # Only used for edge function in raster coords - need x,y
24101
24101
  * px_coord_np = np.zeros((2,),np.float64) # <<<<<<<<<<<<<<
@@ -24160,17 +24160,17 @@ static int __Pyx_CreateCodeObjects(__pyx_mstatetype *__pyx_mstate) {
24160
24160
  {
24161
24161
  const __Pyx_PyCode_New_function_description descr = {2, 0, 0, 2, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 248, 293};
24162
24162
  PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_image_subpx, __pyx_mstate->__pyx_n_u_sub_samp};
24163
- __pyx_mstate_global->__pyx_codeobj_tab[0] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyvale_cython_rastercyth_py, __pyx_mstate->__pyx_n_u_average_image, __pyx_k_y_1_r_Q_c_a_1A_c_a_1A_r_D_b_F_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[0])) goto bad;
24163
+ __pyx_mstate_global->__pyx_codeobj_tab[0] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyvale_sensorsim_cython_rast, __pyx_mstate->__pyx_n_u_average_image, __pyx_k_y_1_r_Q_c_a_1A_c_a_1A_r_D_b_F_1, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[0])) goto bad;
24164
24164
  }
24165
24165
  {
24166
24166
  const __Pyx_PyCode_New_function_description descr = {4, 0, 0, 4, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 331, 419};
24167
24167
  PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_coords, __pyx_mstate->__pyx_n_u_connect, __pyx_mstate->__pyx_n_u_fields_to_render, __pyx_mstate->__pyx_n_u_cam_data};
24168
- __pyx_mstate_global->__pyx_codeobj_tab[1] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyvale_cython_rastercyth_py, __pyx_mstate->__pyx_n_u_raster_static_frame, __pyx_k_81_81_81_G6_0_aq_Jar_Jar_r_1Cz, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1])) goto bad;
24168
+ __pyx_mstate_global->__pyx_codeobj_tab[1] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyvale_sensorsim_cython_rast, __pyx_mstate->__pyx_n_u_raster_static_frame, __pyx_k_81_81_81_G6_0_aq_Jar_Jar_r_1Cz, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[1])) goto bad;
24169
24169
  }
24170
24170
  {
24171
- const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 406, 19};
24171
+ const __Pyx_PyCode_New_function_description descr = {5, 0, 0, 5, (unsigned int)(CO_OPTIMIZED|CO_NEWLOCALS), 405, 19};
24172
24172
  PyObject* const varnames[] = {__pyx_mstate->__pyx_n_u_coords, __pyx_mstate->__pyx_n_u_connect, __pyx_mstate->__pyx_n_u_fields_to_render, __pyx_mstate->__pyx_n_u_cam_data, __pyx_mstate->__pyx_n_u_field_disp};
24173
- __pyx_mstate_global->__pyx_codeobj_tab[2] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyvale_cython_rastercyth_py, __pyx_mstate->__pyx_n_u_raster_deform_frame, __pyx_k__7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[2])) goto bad;
24173
+ __pyx_mstate_global->__pyx_codeobj_tab[2] = __Pyx_PyCode_New(descr, varnames, __pyx_mstate->__pyx_kp_u_src_pyvale_sensorsim_cython_rast, __pyx_mstate->__pyx_n_u_raster_deform_frame, __pyx_k__7, tuple_dedup_map); if (unlikely(!__pyx_mstate_global->__pyx_codeobj_tab[2])) goto bad;
24174
24174
  }
24175
24175
  Py_DECREF(tuple_dedup_map);
24176
24176
  return 0;