acoular 24.3__py3-none-any.whl → 24.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. acoular/__init__.py +118 -50
  2. acoular/calib.py +29 -38
  3. acoular/configuration.py +116 -73
  4. acoular/demo/__init__.py +10 -4
  5. acoular/demo/acoular_demo.py +78 -53
  6. acoular/environments.py +265 -262
  7. acoular/fastFuncs.py +361 -191
  8. acoular/fbeamform.py +1460 -1404
  9. acoular/grids.py +501 -545
  10. acoular/h5cache.py +50 -59
  11. acoular/h5files.py +154 -137
  12. acoular/internal.py +10 -11
  13. acoular/microphones.py +57 -53
  14. acoular/sdinput.py +47 -52
  15. acoular/signals.py +167 -179
  16. acoular/sources.py +818 -693
  17. acoular/spectra.py +349 -359
  18. acoular/tbeamform.py +414 -413
  19. acoular/tfastfuncs.py +178 -101
  20. acoular/tools/__init__.py +25 -0
  21. acoular/tools/aiaa.py +186 -0
  22. acoular/tools/helpers.py +189 -0
  23. acoular/tools/metrics.py +165 -0
  24. acoular/tprocess.py +1201 -1143
  25. acoular/traitsviews.py +513 -501
  26. acoular/trajectory.py +50 -52
  27. acoular/version.py +5 -6
  28. acoular/xml/minidsp_uma-16.xml +20 -0
  29. acoular/xml/{minidsp_uma16.xml → minidsp_uma-16_mirrored.xml} +3 -0
  30. {acoular-24.3.dist-info → acoular-24.5.dist-info}/METADATA +45 -46
  31. acoular-24.5.dist-info/RECORD +50 -0
  32. {acoular-24.3.dist-info → acoular-24.5.dist-info}/WHEEL +1 -1
  33. acoular-24.5.dist-info/licenses/LICENSE +28 -0
  34. acoular/fileimport.py +0 -380
  35. acoular/nidaqimport.py +0 -273
  36. acoular/tests/reference_data/BeamformerBase.npy +0 -0
  37. acoular/tests/reference_data/BeamformerBaseFalse1.npy +0 -0
  38. acoular/tests/reference_data/BeamformerBaseFalse2.npy +0 -0
  39. acoular/tests/reference_data/BeamformerBaseFalse3.npy +0 -0
  40. acoular/tests/reference_data/BeamformerBaseFalse4.npy +0 -0
  41. acoular/tests/reference_data/BeamformerBaseTrue1.npy +0 -0
  42. acoular/tests/reference_data/BeamformerBaseTrue2.npy +0 -0
  43. acoular/tests/reference_data/BeamformerBaseTrue3.npy +0 -0
  44. acoular/tests/reference_data/BeamformerBaseTrue4.npy +0 -0
  45. acoular/tests/reference_data/BeamformerCMFLassoLarsBIC.npy +0 -0
  46. acoular/tests/reference_data/BeamformerCMFNNLS.npy +0 -0
  47. acoular/tests/reference_data/BeamformerCapon.npy +0 -0
  48. acoular/tests/reference_data/BeamformerClean.npy +0 -0
  49. acoular/tests/reference_data/BeamformerCleansc.npy +0 -0
  50. acoular/tests/reference_data/BeamformerCleant.npy +0 -0
  51. acoular/tests/reference_data/BeamformerCleantSq.npy +0 -0
  52. acoular/tests/reference_data/BeamformerCleantSqTraj.npy +0 -0
  53. acoular/tests/reference_data/BeamformerCleantTraj.npy +0 -0
  54. acoular/tests/reference_data/BeamformerDamas.npy +0 -0
  55. acoular/tests/reference_data/BeamformerDamasPlus.npy +0 -0
  56. acoular/tests/reference_data/BeamformerEig.npy +0 -0
  57. acoular/tests/reference_data/BeamformerEigFalse1.npy +0 -0
  58. acoular/tests/reference_data/BeamformerEigFalse2.npy +0 -0
  59. acoular/tests/reference_data/BeamformerEigFalse3.npy +0 -0
  60. acoular/tests/reference_data/BeamformerEigFalse4.npy +0 -0
  61. acoular/tests/reference_data/BeamformerEigTrue1.npy +0 -0
  62. acoular/tests/reference_data/BeamformerEigTrue2.npy +0 -0
  63. acoular/tests/reference_data/BeamformerEigTrue3.npy +0 -0
  64. acoular/tests/reference_data/BeamformerEigTrue4.npy +0 -0
  65. acoular/tests/reference_data/BeamformerFunctional.npy +0 -0
  66. acoular/tests/reference_data/BeamformerGIB.npy +0 -0
  67. acoular/tests/reference_data/BeamformerGridlessOrth.npy +0 -0
  68. acoular/tests/reference_data/BeamformerMusic.npy +0 -0
  69. acoular/tests/reference_data/BeamformerOrth.npy +0 -0
  70. acoular/tests/reference_data/BeamformerSODIX.npy +0 -0
  71. acoular/tests/reference_data/BeamformerTime.npy +0 -0
  72. acoular/tests/reference_data/BeamformerTimeSq.npy +0 -0
  73. acoular/tests/reference_data/BeamformerTimeSqTraj.npy +0 -0
  74. acoular/tests/reference_data/BeamformerTimeTraj.npy +0 -0
  75. acoular/tests/reference_data/Environment.npy +0 -0
  76. acoular/tests/reference_data/Example1_numerical_values_testsum.h5 +0 -0
  77. acoular/tests/reference_data/FiltFiltOctave__.npy +0 -0
  78. acoular/tests/reference_data/FiltFiltOctave_band_100_0_fraction_Thirdoctave_.npy +0 -0
  79. acoular/tests/reference_data/FiltFreqWeight_weight_A_.npy +0 -0
  80. acoular/tests/reference_data/FiltFreqWeight_weight_C_.npy +0 -0
  81. acoular/tests/reference_data/FiltFreqWeight_weight_Z_.npy +0 -0
  82. acoular/tests/reference_data/FiltOctave__.npy +0 -0
  83. acoular/tests/reference_data/FiltOctave_band_100_0_fraction_Thirdoctave_.npy +0 -0
  84. acoular/tests/reference_data/Filter__.npy +0 -0
  85. acoular/tests/reference_data/GeneralFlowEnvironment.npy +0 -0
  86. acoular/tests/reference_data/OctaveFilterBank__.npy +0 -0
  87. acoular/tests/reference_data/OpenJet.npy +0 -0
  88. acoular/tests/reference_data/PointSource.npy +0 -0
  89. acoular/tests/reference_data/PowerSpectra_csm.npy +0 -0
  90. acoular/tests/reference_data/PowerSpectra_ev.npy +0 -0
  91. acoular/tests/reference_data/RotatingFlow.npy +0 -0
  92. acoular/tests/reference_data/SlotJet.npy +0 -0
  93. acoular/tests/reference_data/TimeAverage__.npy +0 -0
  94. acoular/tests/reference_data/TimeCumAverage__.npy +0 -0
  95. acoular/tests/reference_data/TimeExpAverage_weight_F_.npy +0 -0
  96. acoular/tests/reference_data/TimeExpAverage_weight_I_.npy +0 -0
  97. acoular/tests/reference_data/TimeExpAverage_weight_S_.npy +0 -0
  98. acoular/tests/reference_data/TimeInOut__.npy +0 -0
  99. acoular/tests/reference_data/TimePower__.npy +0 -0
  100. acoular/tests/reference_data/TimeReverse__.npy +0 -0
  101. acoular/tests/reference_data/UniformFlowEnvironment.npy +0 -0
  102. acoular/tests/reference_data/beamformer_traj_time_data.h5 +0 -0
  103. acoular/tests/run_tests.sh +0 -18
  104. acoular/tests/run_tests_osx.sh +0 -16
  105. acoular/tests/test.npy +0 -0
  106. acoular/tests/test_beamformer_results.py +0 -213
  107. acoular/tests/test_classes.py +0 -60
  108. acoular/tests/test_digest.py +0 -125
  109. acoular/tests/test_environments.py +0 -73
  110. acoular/tests/test_example1.py +0 -124
  111. acoular/tests/test_grid.py +0 -92
  112. acoular/tests/test_integrate.py +0 -102
  113. acoular/tests/test_signals.py +0 -60
  114. acoular/tests/test_sources.py +0 -65
  115. acoular/tests/test_spectra.py +0 -38
  116. acoular/tests/test_timecache.py +0 -35
  117. acoular/tests/test_tprocess.py +0 -90
  118. acoular/tests/test_traj_beamformer_results.py +0 -164
  119. acoular/tests/unsupported/SpeedComparison/OvernightTestcasesBeamformer_nMics32_nGridPoints100_nFreqs4_nTrials10.png +0 -0
  120. acoular/tests/unsupported/SpeedComparison/cythonBeamformer.pyx +0 -237
  121. acoular/tests/unsupported/SpeedComparison/mainForCython.py +0 -103
  122. acoular/tests/unsupported/SpeedComparison/mainForParallelJit.py +0 -143
  123. acoular/tests/unsupported/SpeedComparison/setupCythonOpenMP.py +0 -63
  124. acoular/tests/unsupported/SpeedComparison/sharedFunctions.py +0 -153
  125. acoular/tests/unsupported/SpeedComparison/timeOverNMics_AllImportantMethods.png +0 -0
  126. acoular/tests/unsupported/SpeedComparison/timeOverNMics_faverage.png +0 -0
  127. acoular/tests/unsupported/SpeedComparison/vglOptimierungFAverage.py +0 -204
  128. acoular/tests/unsupported/SpeedComparison/vglOptimierungGaussSeidel.py +0 -182
  129. acoular/tests/unsupported/SpeedComparison/vglOptimierungR_BEAMFULL_INVERSE.py +0 -764
  130. acoular/tests/unsupported/SpeedComparison/vglOptimierungR_BEAM_OS.py +0 -231
  131. acoular/tests/unsupported/SpeedComparison/whatsFastestWayFor_absASquared.py +0 -48
  132. acoular/tests/unsupported/functionalBeamformer.py +0 -123
  133. acoular/tests/unsupported/precisionTest.py +0 -153
  134. acoular/tests/unsupported/validationOfBeamformerFuncsPOSTAcoularIntegration.py +0 -254
  135. acoular/tests/unsupported/validationOfBeamformerFuncsPREeAcoularIntegration.py +0 -531
  136. acoular/tools.py +0 -422
  137. acoular-24.3.dist-info/RECORD +0 -148
  138. acoular-24.3.dist-info/licenses/LICENSE +0 -29
  139. {acoular-24.3.dist-info → acoular-24.5.dist-info}/licenses/AUTHORS.rst +0 -0
acoular/traitsviews.py CHANGED
@@ -1,521 +1,533 @@
1
- # -*- coding: utf-8 -*-
2
- #pylint: disable-msg=E0611, E1103, C0103, R0901, R0902, R0903, R0904, W0232
3
- #------------------------------------------------------------------------------
1
+ # ------------------------------------------------------------------------------
4
2
  # Copyright (c) Acoular Development Team.
5
- #------------------------------------------------------------------------------
3
+ # ------------------------------------------------------------------------------
6
4
  """Implements support separate traits_view definitions for all relevant
7
- classes to lift the traitsui requirement for the Acoular package
5
+ classes to lift the traitsui requirement for the Acoular package.
8
6
  """
9
7
 
10
8
  # imports from other packages
11
- from traitsui.api import View, Item, EnumEditor
9
+ from traitsui.api import Item, View
12
10
  from traitsui.menu import OKCancelButtons
13
11
 
12
+ from .calib import Calib
13
+ from .environments import GeneralFlowEnvironment, OpenJet, RotatingFlow, SlotJet, UniformFlowEnvironment
14
+ from .fbeamform import (
15
+ BeamformerBase,
16
+ BeamformerCapon,
17
+ BeamformerClean,
18
+ BeamformerCleansc,
19
+ BeamformerCMF,
20
+ BeamformerDamas,
21
+ BeamformerDamasPlus,
22
+ BeamformerEig,
23
+ BeamformerFunctional,
24
+ BeamformerGIB,
25
+ BeamformerMusic,
26
+ BeamformerOrth,
27
+ )
28
+ from .grids import RectGrid, RectGrid3D
14
29
  from .microphones import MicGeom
15
-
16
- MicGeom.class_trait_view('traits_view',
17
- View(
18
- ['from_file',
19
- 'num_mics~',
20
- '|[Microphone geometry]'
21
- ],
22
- buttons = OKCancelButtons
23
- )
24
- )
25
-
30
+ from .sources import MaskedTimeSamples, SourceMixer, TimeSamples
26
31
  from .spectra import PowerSpectra
27
-
28
- PowerSpectra.class_trait_view('traits_view',
29
- View(
30
- ['time_data@{}',
31
- 'calib@{}',
32
- ['block_size',
33
- 'window',
34
- 'overlap',
35
- ['ind_low{Low Index}',
36
- 'ind_high{High Index}',
37
- '-[Frequency range indices]'],
38
- ['num_blocks~{Number of blocks}',
39
- 'freq_range~{Frequency range}',
40
- '-'],
41
- '[FFT-parameters]'
42
- ],
43
- ],
44
- buttons = OKCancelButtons
45
- )
46
- )
47
-
48
- from .calib import Calib
49
-
50
- Calib.class_trait_view('traits_view',
51
- View(
52
- ['from_file{File name}',
53
- ['num_mics~{Number of microphones}',
54
- '|[Properties]'
55
- ]
56
- ],
57
- title='Calibration data',
58
- buttons = OKCancelButtons
59
- )
60
- )
61
-
32
+ from .tbeamform import BeamformerTime, BeamformerTimeSq, BeamformerTimeSqTraj, BeamformerTimeTraj, IntegratorSectorTime
33
+ from .tprocess import FiltFiltOctave, TimeAverage, TimeInOut, WriteH5, WriteWAV
62
34
  from .trajectory import Trajectory
63
35
 
64
- Trajectory.class_trait_view('traits_view',
65
- View(
66
- [Item('points', style='custom')
67
- ],
68
- title='Grid center trajectory',
69
- buttons = OKCancelButtons
70
- )
71
- )
36
+ MicGeom.class_trait_view(
37
+ 'traits_view',
38
+ View(
39
+ [
40
+ 'from_file',
41
+ 'num_mics~',
42
+ '|[Microphone geometry]',
43
+ ],
44
+ buttons=OKCancelButtons,
45
+ ),
46
+ )
72
47
 
73
- from .grids import RectGrid, RectGrid3D
48
+ PowerSpectra.class_trait_view(
49
+ 'traits_view',
50
+ View(
51
+ [
52
+ 'time_data@{}',
53
+ 'calib@{}',
54
+ [
55
+ 'block_size',
56
+ 'window',
57
+ 'overlap',
58
+ ['ind_low{Low Index}', 'ind_high{High Index}', '-[Frequency range indices]'],
59
+ ['num_blocks~{Number of blocks}', 'freq_range~{Frequency range}', '-'],
60
+ '[FFT-parameters]',
61
+ ],
62
+ ],
63
+ buttons=OKCancelButtons,
64
+ ),
65
+ )
74
66
 
75
- RectGrid.class_trait_view('traits_view',
76
- View(
77
- [['x_min', 'y_min', '|'],
78
- ['x_max', 'y_max', 'z',
79
- 'increment', 'size~{Grid size}', '|'],
80
- '-[Map extension]'
81
- ]
82
- )
83
- )
67
+ Calib.class_trait_view(
68
+ 'traits_view',
69
+ View(
70
+ [
71
+ 'from_file{File name}',
72
+ [
73
+ 'num_mics~{Number of microphones}',
74
+ '|[Properties]',
75
+ ],
76
+ ],
77
+ title='Calibration data',
78
+ buttons=OKCancelButtons,
79
+ ),
80
+ )
81
+
82
+ Trajectory.class_trait_view(
83
+ 'traits_view',
84
+ View(
85
+ [
86
+ Item('points', style='custom'),
87
+ ],
88
+ title='Grid center trajectory',
89
+ buttons=OKCancelButtons,
90
+ ),
91
+ )
92
+
93
+ RectGrid.class_trait_view(
94
+ 'traits_view',
95
+ View(
96
+ [
97
+ ['x_min', 'y_min', '|'],
98
+ ['x_max', 'y_max', 'z', 'increment', 'size~{Grid size}', '|'],
99
+ '-[Map extension]',
100
+ ],
101
+ ),
102
+ )
84
103
 
85
104
  # increment3D omitted in view for easier handling, can be added later
86
- RectGrid3D.class_trait_view('traits_view',
87
- View(
88
- [
89
- ['x_min', 'y_min', 'z_min', '|'],
90
- ['x_max', 'y_max', 'z_max', 'increment',
91
- 'size~{Grid size}', '|'],
92
- '-[Map extension]'
93
- ]
94
- )
95
- )
96
-
97
- from .tbeamform import BeamformerTime, BeamformerTimeSq, BeamformerTimeSqTraj,\
98
- BeamformerTimeTraj, IntegratorSectorTime
99
-
100
- BeamformerTime.class_trait_view('traits_view',
101
- View(
102
- [
103
- [Item('steer{}', style='custom')],
104
- [Item('source{}', style='custom'), '-<>'],
105
- [Item('weights{}', style='simple')],
106
- '|'
107
- ],
108
- title='Beamformer options',
109
- buttons = OKCancelButtons
110
- )
111
- )
112
-
113
- BeamformerTimeSq.class_trait_view('traits_view',
114
- View(
115
- [
116
- [Item('steer{}', style='custom')],
117
- [Item('source{}', style='custom'), '-<>'],
118
- [Item('r_diag', label='diagonal removed')],
119
- [Item('weights{}', style='simple')],
120
- '|'
121
- ],
122
- title='Beamformer options',
123
- buttons = OKCancelButtons
124
- )
125
- )
126
-
127
- BeamformerTimeTraj.class_trait_view('traits_view',
128
- View(
129
- [
130
- [Item('steer{}', style='custom')],
131
- [Item('source{}', style='custom'), '-<>'],
105
+ RectGrid3D.class_trait_view(
106
+ 'traits_view',
107
+ View(
108
+ [
109
+ ['x_min', 'y_min', 'z_min', '|'],
110
+ ['x_max', 'y_max', 'z_max', 'increment', 'size~{Grid size}', '|'],
111
+ '-[Map extension]',
112
+ ],
113
+ ),
114
+ )
115
+
116
+ BeamformerTime.class_trait_view(
117
+ 'traits_view',
118
+ View(
119
+ [
120
+ [Item('steer{}', style='custom')],
121
+ [Item('source{}', style='custom'), '-<>'],
122
+ [Item('weights{}', style='simple')],
123
+ '|',
124
+ ],
125
+ title='Beamformer options',
126
+ buttons=OKCancelButtons,
127
+ ),
128
+ )
129
+
130
+ BeamformerTimeSq.class_trait_view(
131
+ 'traits_view',
132
+ View(
133
+ [
134
+ [Item('steer{}', style='custom')],
135
+ [Item('source{}', style='custom'), '-<>'],
136
+ [Item('r_diag', label='diagonal removed')],
137
+ [Item('weights{}', style='simple')],
138
+ '|',
139
+ ],
140
+ title='Beamformer options',
141
+ buttons=OKCancelButtons,
142
+ ),
143
+ )
144
+
145
+ BeamformerTimeTraj.class_trait_view(
146
+ 'traits_view',
147
+ View(
148
+ [
149
+ [Item('steer{}', style='custom')],
150
+ [Item('source{}', style='custom'), '-<>'],
132
151
  [Item('trajectory{}', style='custom')],
133
- [Item('weights{}', style='simple')],
134
- '|'
135
- ],
136
- title='Beamformer options',
137
- buttons = OKCancelButtons
138
- )
139
- )
140
-
141
- BeamformerTimeSqTraj.class_trait_view('traits_view',
142
- View(
143
- [
144
- [Item('steer{}', style='custom')],
145
- [Item('source{}', style='custom'), '-<>'],
152
+ [Item('weights{}', style='simple')],
153
+ '|',
154
+ ],
155
+ title='Beamformer options',
156
+ buttons=OKCancelButtons,
157
+ ),
158
+ )
159
+
160
+ BeamformerTimeSqTraj.class_trait_view(
161
+ 'traits_view',
162
+ View(
163
+ [
164
+ [Item('steer{}', style='custom')],
165
+ [Item('source{}', style='custom'), '-<>'],
146
166
  [Item('trajectory{}', style='custom')],
147
- [Item('r_diag', label='diagonal removed')],
148
- [Item('weights{}', style='simple')],
149
- '|'
150
- ],
151
- title='Beamformer options',
152
- buttons = OKCancelButtons
153
- )
154
- )
155
-
156
- IntegratorSectorTime.class_trait_view('traits_view',
157
- View(
158
- [
159
- [Item('sectors', style='custom')],
160
- [Item('grid', style='custom'), '-<>'],
161
- '|'
162
- ],
163
- title='Integrator',
164
- buttons = OKCancelButtons
165
- )
166
- )
167
-
168
- from .environments import UniformFlowEnvironment, GeneralFlowEnvironment,\
169
- SlotJet, OpenJet ,RotatingFlow
170
-
171
- UniformFlowEnvironment.class_trait_view('traits_view',
172
- View(
173
- [
174
- ['ma{Flow Mach number}', 'fdv{Flow vector}'],
175
- '|[Uniform Flow]'
176
- ]
177
- )
178
- )
179
-
180
- GeneralFlowEnvironment.class_trait_view('traits_view',
181
- View(
182
- [
183
- ['ff{Flow field}', 'N{Max. number of rays}', 'Om{Max. solid angle }'],
184
- '|[General Flow]'
185
- ]
186
- )
187
- )
188
-
189
- SlotJet.class_trait_view('traits_view',
190
- View(
191
- [
192
- ['v0{Exit velocity}', 'origin{Jet origin}',
193
- 'flow', 'plane',
194
- 'B{Slot width}'],
195
- '|[Slot jet]'
196
- ]
197
- )
198
- )
199
-
200
- OpenJet.class_trait_view('traits_view',
201
- View(
202
- [
203
- ['v0{Exit velocity}', 'origin{Jet origin}',
204
- 'D{Nozzle diameter}'],
205
- '|[Open jet]'
206
- ]
207
- )
208
- )
209
-
210
- RotatingFlow.class_trait_view('traits_view',
211
- View(
167
+ [Item('r_diag', label='diagonal removed')],
168
+ [Item('weights{}', style='simple')],
169
+ '|',
170
+ ],
171
+ title='Beamformer options',
172
+ buttons=OKCancelButtons,
173
+ ),
174
+ )
175
+
176
+ IntegratorSectorTime.class_trait_view(
177
+ 'traits_view',
178
+ View(
179
+ [
180
+ [Item('sectors', style='custom')],
181
+ [Item('grid', style='custom'), '-<>'],
182
+ '|',
183
+ ],
184
+ title='Integrator',
185
+ buttons=OKCancelButtons,
186
+ ),
187
+ )
188
+
189
+ UniformFlowEnvironment.class_trait_view(
190
+ 'traits_view',
191
+ View(
192
+ [
193
+ ['ma{Flow Mach number}', 'fdv{Flow vector}'],
194
+ '|[Uniform Flow]',
195
+ ],
196
+ ),
197
+ )
198
+
199
+ GeneralFlowEnvironment.class_trait_view(
200
+ 'traits_view',
201
+ View(
202
+ [
203
+ ['ff{Flow field}', 'N{Max. number of rays}', 'Om{Max. solid angle }'],
204
+ '|[General Flow]',
205
+ ],
206
+ ),
207
+ )
208
+
209
+ SlotJet.class_trait_view(
210
+ 'traits_view',
211
+ View(
212
+ [
213
+ ['v0{Exit velocity}', 'origin{Jet origin}', 'flow', 'plane', 'B{Slot width}'],
214
+ '|[Slot jet]',
215
+ ],
216
+ ),
217
+ )
218
+
219
+ OpenJet.class_trait_view(
220
+ 'traits_view',
221
+ View(
222
+ [
223
+ ['v0{Exit velocity}', 'origin{Jet origin}', 'D{Nozzle diameter}'],
224
+ '|[Open jet]',
225
+ ],
226
+ ),
227
+ )
228
+
229
+ RotatingFlow.class_trait_view(
230
+ 'traits_view',
231
+ View(
232
+ [
233
+ ['v0{flow velocity}', 'origin{Jet origin}', 'rpm{ revolutions }'],
234
+ '|[RotatingFlow]',
235
+ ],
236
+ ),
237
+ )
238
+
239
+ TimeInOut.class_trait_view(
240
+ 'traits_view',
241
+ View(
242
+ Item('source', style='custom'),
243
+ ),
244
+ )
245
+
246
+ TimeAverage.class_trait_view(
247
+ 'traits_view',
248
+ View(
249
+ [
250
+ Item('source', style='custom'),
251
+ 'naverage{Samples to average}',
252
+ ['sample_freq~{Output sampling frequency}', '|[Properties]'],
253
+ '|',
254
+ ],
255
+ title='Linear average',
256
+ buttons=OKCancelButtons,
257
+ ),
258
+ )
259
+
260
+ FiltFiltOctave.class_trait_view(
261
+ 'traits_view',
262
+ View(
263
+ [
264
+ Item('source', style='custom'),
265
+ 'band{Center frequency}',
266
+ 'fraction{Bandwidth}',
267
+ ['sample_freq~{Output sampling frequency}', '|[Properties]'],
268
+ '|',
269
+ ],
270
+ title='Linear average',
271
+ buttons=OKCancelButtons,
272
+ ),
273
+ )
274
+
275
+ WriteWAV.class_trait_view(
276
+ 'traits_view',
277
+ View(
278
+ [
279
+ Item('source', style='custom'),
280
+ ['basename~{File name}', '|[Properties]'],
281
+ '|',
282
+ ],
283
+ title='Write wav file',
284
+ buttons=OKCancelButtons,
285
+ ),
286
+ )
287
+
288
+ WriteH5.class_trait_view(
289
+ 'traits_view',
290
+ View(
291
+ [
292
+ Item('source', style='custom'),
293
+ ['name{File name}', '|[Properties]'],
294
+ '|',
295
+ ],
296
+ title='write .h5',
297
+ buttons=OKCancelButtons,
298
+ ),
299
+ )
300
+
301
+ TimeSamples.class_trait_view(
302
+ 'traits_view',
303
+ View(
304
+ [
305
+ 'name{File name}',
212
306
  [
213
- ['v0{flow velocity}', 'origin{Jet origin}',
214
- 'rpm{ revolutions }'],
215
- '|[RotatingFlow]'
216
- ]
217
- )
218
- )
219
-
220
-
221
-
222
-
223
-
224
- from .tprocess import TimeInOut, TimeAverage, FiltFiltOctave, WriteWAV, WriteH5
225
-
226
- TimeInOut.class_trait_view('traits_view',
227
- View(
228
- Item('source', style='custom')
229
- )
230
- )
231
-
232
- TimeAverage.class_trait_view('traits_view',
233
- View(
234
- [Item('source', style='custom'),
235
- 'naverage{Samples to average}',
236
- ['sample_freq~{Output sampling frequency}',
237
- '|[Properties]'],
238
- '|'
239
- ],
240
- title='Linear average',
241
- buttons = OKCancelButtons
242
- )
243
- )
244
-
245
- FiltFiltOctave.class_trait_view('traits_view',
246
- View(
247
- [Item('source', style='custom'),
248
- 'band{Center frequency}',
249
- 'fraction{Bandwidth}',
250
- ['sample_freq~{Output sampling frequency}',
251
- '|[Properties]'],
252
- '|'
253
- ],
254
- title='Linear average',
255
- buttons = OKCancelButtons
256
- )
257
- )
258
-
259
- WriteWAV.class_trait_view('traits_view',
260
- View(
261
- [Item('source', style='custom'),
262
- ['basename~{File name}',
263
- '|[Properties]'],
264
- '|'
265
- ],
266
- title='Write wav file',
267
- buttons = OKCancelButtons
268
- )
269
- )
270
-
271
- WriteH5.class_trait_view('traits_view',
272
- View(
273
- [Item('source', style='custom'),
274
- ['name{File name}',
275
- '|[Properties]'],
276
- '|'
277
- ],
278
- title='write .h5',
279
- buttons = OKCancelButtons
280
- )
281
- )
282
-
283
- from .sources import TimeSamples, MaskedTimeSamples, SourceMixer
284
-
285
- TimeSamples.class_trait_view('traits_view',
286
- View(
287
- ['name{File name}',
288
- ['sample_freq~{Sampling frequency}',
289
- 'numchannels~{Number of channels}',
290
- 'numsamples~{Number of samples}',
291
- '|[Properties]'],
292
- '|'
293
- ],
294
- title='Time data',
295
- buttons = OKCancelButtons
296
- )
297
- )
298
-
299
- MaskedTimeSamples.class_trait_view('traits_view',
300
- View(
301
- ['name{File name}',
302
- ['start{From sample}', Item('stop', label='to', style='text'), '-'],
303
- 'invalid_channels{Invalid channels}',
304
- ['sample_freq~{Sampling frequency}',
305
- 'numchannels~{Number of channels}',
306
- 'numsamples~{Number of samples}',
307
- '|[Properties]'],
308
- '|'
309
- ],
310
- title='Time data',
311
- buttons = OKCancelButtons
312
- )
313
- )
314
-
315
- SourceMixer.class_trait_view('traits_view',
316
- View(
317
- Item('sources', style='custom')
318
- )
319
- )
320
-
321
- from .fbeamform import BeamformerBase, BeamformerFunctional, BeamformerCapon,\
322
- BeamformerEig, BeamformerMusic, BeamformerDamas, BeamformerDamasPlus,\
323
- BeamformerOrth, BeamformerCleansc, BeamformerClean, BeamformerCMF,\
324
- BeamformerGIB
325
-
326
- BeamformerBase.class_trait_view('traits_view',
327
- View(
328
- [
329
- [Item('r_diag', label='Diagonal removed')],
330
- [Item('steer', label='Steering vector')],
331
- # [Item('env{}', style='custom')],
332
- '|'
333
- ],
334
- title='Beamformer options',
335
- buttons = OKCancelButtons
336
- )
337
- )
338
-
339
- BeamformerFunctional.class_trait_view('traits_view',
340
- View(
341
- [
342
- # [Item('mics{}', style='custom')],
343
- # [Item('grid', style='custom'), '-<>'],
344
- [Item('gamma', label='Exponent', style='simple')],
345
- # [Item('env{}', style='custom')],
346
- '|'
347
- ],
348
- title='Beamformer options',
349
- buttons = OKCancelButtons
350
- )
351
- )
352
-
353
- BeamformerCapon.class_trait_view('traits_view',
354
- View(
355
- [
356
- # [Item('mics{}', style='custom')],
357
- # [Item('grid', style='custom'), '-<>'],
358
- # [Item('env{}', style='custom')],
359
- '|'
360
- ],
361
- title='Beamformer options',
362
- buttons = OKCancelButtons
363
- )
364
- )
365
-
366
- BeamformerEig.class_trait_view('traits_view',
367
- View(
368
- [
369
- # [Item('mics{}', style='custom')],
370
- # [Item('grid', style='custom'), '-<>'],
371
- [Item('n', label='Component No.', style='simple')],
372
- [Item('r_diag', label='Diagonal removed')],
373
- # [Item('env{}', style='custom')],
374
- '|'
375
- ],
376
- title='Beamformer options',
377
- buttons = OKCancelButtons
378
- )
379
- )
380
-
381
- BeamformerMusic.class_trait_view('traits_view',
382
- View(
383
- [
384
- # [Item('mics{}', style='custom')],
385
- # [Item('grid', style='custom'), '-<>'],
386
- [Item('n', label='No. of sources', style='simple')],
387
- # [Item('env{}', style='custom')],
388
- '|'
389
- ],
390
- title='Beamformer options',
391
- buttons = OKCancelButtons
392
- )
393
- )
394
-
395
- BeamformerDamas.class_trait_view('traits_view',
396
- View(
397
- [
398
- [Item('beamformer{}', style='custom')],
399
- [Item('n_iter{Number of iterations}')],
400
- # [Item('steer{Type of steering vector}')],
401
- [Item('calcmode{How to calculate PSF}')],
402
- '|'
403
- ],
404
- title='Beamformer denconvolution options',
405
- buttons = OKCancelButtons
406
- )
407
- )
408
-
409
- BeamformerDamasPlus.class_trait_view('traits_view',
410
- View(
411
- [
412
- [Item('beamformer{}', style='custom')],
413
- [Item('method{Solver}')],
414
- [Item('max_iter{Max. number of iterations}')],
415
- [Item('alpha', label='Lasso weight factor')],
416
- [Item('calcmode{How to calculate PSF}')],
417
- '|'
418
- ],
419
- title='Beamformer denconvolution options',
420
- buttons = OKCancelButtons
421
- )
422
- )
423
-
424
- BeamformerOrth.class_trait_view('traits_view',
425
- View(
426
- [
427
- # [Item('mpos{}', style='custom')],
428
- # [Item('grid', style='custom'), '-<>'],
429
- [Item('n', label='Number of components', style='simple')],
430
- [Item('r_diag', label='Diagonal removed')],
431
- # [Item('env{}', style='custom')],
432
- '|'
433
- ],
434
- title='Beamformer options',
435
- buttons = OKCancelButtons
436
- )
437
- )
438
-
439
- BeamformerCleansc.class_trait_view('traits_view',
440
- View(
441
- [
442
- # [Item('mpos{}', style='custom')],
443
- # [Item('grid', style='custom'), '-<>'],
444
- [Item('n', label='No. of iterations', style='simple')],
445
- [Item('r_diag', label='Diagonal removed')],
446
- # [Item('env{}', style='custom')],
447
- '|'
448
- ],
449
- title='Beamformer options',
450
- buttons = OKCancelButtons
451
- )
452
- )
453
-
454
- BeamformerClean.class_trait_view('traits_view',
455
- View(
456
- [
457
- [Item('beamformer{}', style='custom')],
458
- [Item('n_iter{Number of iterations}')],
459
- # [Item('steer{Type of steering vector}')],
460
- [Item('calcmode{How to calculate PSF}')],
461
- '|'
462
- ],
463
- title='Beamformer denconvolution options',
464
- buttons = OKCancelButtons
465
- )
466
- )
467
-
468
- BeamformerCMF.class_trait_view('traits_view',
469
- View(
470
- [
471
- # [Item('mpos{}', style='custom')],
472
- # [Item('grid', style='custom'), '-<>'],
473
- [Item('method', label='Fit method')],
474
- [Item('max_iter', label='No. of iterations')],
475
- [Item('alpha', label='Lasso weight factor')],
476
- [Item('c', label='Speed of sound')],
477
- # [Item('env{}', style='custom')],
478
- '|'
479
- ],
480
- title='Beamformer options',
481
- buttons = OKCancelButtons
482
- )
483
- )
484
-
485
- BeamformerGIB.class_trait_view('traits_view',
486
- View(
487
- [
488
- # [Item('mpos{}', style='custom')],
489
- # [Item('grid', style='custom'), '-<>'],
490
- [Item('method', label='Fit method')],
491
- [Item('max_iter', label='No. of iterations')],
492
- [Item('alpha', label='Lasso weight factor')],
493
- [Item('c', label='Speed of sound')],
494
- # [Item('env{}', style='custom')],
495
- '|'
496
- ],
497
- title='Beamformer options',
498
- buttons = OKCancelButtons
499
- )
500
- )
501
-
502
- # Windows only
503
- try:
504
- from .nidaqimport import nidaq_import
505
-
506
- nidaq_import.class_trait_view('traits_view',
507
- View(
508
- [ Item('taskname{Task name}', editor = EnumEditor(name = 'tasknames')),
509
- ['sample_freq','numsamples','-'],
307
+ 'sample_freq~{Sampling frequency}',
308
+ 'numchannels~{Number of channels}',
309
+ 'numsamples~{Number of samples}',
310
+ '|[Properties]',
311
+ ],
312
+ '|',
313
+ ],
314
+ title='Time data',
315
+ buttons=OKCancelButtons,
316
+ ),
317
+ )
318
+
319
+ MaskedTimeSamples.class_trait_view(
320
+ 'traits_view',
321
+ View(
322
+ [
323
+ 'name{File name}',
324
+ ['start{From sample}', Item('stop', label='to', style='text'), '-'],
325
+ 'invalid_channels{Invalid channels}',
510
326
  [
511
- ['numdevices~{count}',Item('namedevices~{names}',height = 3),'-[Devices]'],
512
- ['numchannels~{count}',Item('namechannels~{names}',height = 3),'-[Channels]'],
327
+ 'sample_freq~{Sampling frequency}',
328
+ 'numchannels~{Number of channels}',
329
+ 'numsamples~{Number of samples}',
330
+ '|[Properties]',
513
331
  ],
514
- '|[Task]'
515
- ],
516
- title='NI-DAQmx data aquisition',
517
- buttons = OKCancelButtons
518
- )
519
- )
520
- except:
521
- pass
332
+ '|',
333
+ ],
334
+ title='Time data',
335
+ buttons=OKCancelButtons,
336
+ ),
337
+ )
338
+
339
+ SourceMixer.class_trait_view(
340
+ 'traits_view',
341
+ View(
342
+ Item('sources', style='custom'),
343
+ ),
344
+ )
345
+
346
+
347
+ BeamformerBase.class_trait_view(
348
+ 'traits_view',
349
+ View(
350
+ [
351
+ [Item('r_diag', label='Diagonal removed')],
352
+ [Item('steer', label='Steering vector')],
353
+ # [Item('env{}', style='custom')],
354
+ '|',
355
+ ],
356
+ title='Beamformer options',
357
+ buttons=OKCancelButtons,
358
+ ),
359
+ )
360
+
361
+ BeamformerFunctional.class_trait_view(
362
+ 'traits_view',
363
+ View(
364
+ [
365
+ # [Item('mics{}', style='custom')],
366
+ # [Item('grid', style='custom'), '-<>'],
367
+ [Item('gamma', label='Exponent', style='simple')],
368
+ # [Item('env{}', style='custom')],
369
+ '|',
370
+ ],
371
+ title='Beamformer options',
372
+ buttons=OKCancelButtons,
373
+ ),
374
+ )
375
+
376
+ BeamformerCapon.class_trait_view(
377
+ 'traits_view',
378
+ View(
379
+ [
380
+ # [Item('mics{}', style='custom')],
381
+ # [Item('grid', style='custom'), '-<>'],
382
+ # [Item('env{}', style='custom')],
383
+ '|',
384
+ ],
385
+ title='Beamformer options',
386
+ buttons=OKCancelButtons,
387
+ ),
388
+ )
389
+
390
+ BeamformerEig.class_trait_view(
391
+ 'traits_view',
392
+ View(
393
+ [
394
+ # [Item('mics{}', style='custom')],
395
+ # [Item('grid', style='custom'), '-<>'],
396
+ [Item('n', label='Component No.', style='simple')],
397
+ [Item('r_diag', label='Diagonal removed')],
398
+ # [Item('env{}', style='custom')],
399
+ '|',
400
+ ],
401
+ title='Beamformer options',
402
+ buttons=OKCancelButtons,
403
+ ),
404
+ )
405
+
406
+ BeamformerMusic.class_trait_view(
407
+ 'traits_view',
408
+ View(
409
+ [
410
+ # [Item('mics{}', style='custom')],
411
+ # [Item('grid', style='custom'), '-<>'],
412
+ [Item('n', label='No. of sources', style='simple')],
413
+ # [Item('env{}', style='custom')],
414
+ '|',
415
+ ],
416
+ title='Beamformer options',
417
+ buttons=OKCancelButtons,
418
+ ),
419
+ )
420
+
421
+ BeamformerDamas.class_trait_view(
422
+ 'traits_view',
423
+ View(
424
+ [
425
+ [Item('beamformer{}', style='custom')],
426
+ [Item('n_iter{Number of iterations}')],
427
+ # [Item('steer{Type of steering vector}')],
428
+ [Item('calcmode{How to calculate PSF}')],
429
+ '|',
430
+ ],
431
+ title='Beamformer denconvolution options',
432
+ buttons=OKCancelButtons,
433
+ ),
434
+ )
435
+
436
+ BeamformerDamasPlus.class_trait_view(
437
+ 'traits_view',
438
+ View(
439
+ [
440
+ [Item('beamformer{}', style='custom')],
441
+ [Item('method{Solver}')],
442
+ [Item('max_iter{Max. number of iterations}')],
443
+ [Item('alpha', label='Lasso weight factor')],
444
+ [Item('calcmode{How to calculate PSF}')],
445
+ '|',
446
+ ],
447
+ title='Beamformer denconvolution options',
448
+ buttons=OKCancelButtons,
449
+ ),
450
+ )
451
+
452
+ BeamformerOrth.class_trait_view(
453
+ 'traits_view',
454
+ View(
455
+ [
456
+ # [Item('mpos{}', style='custom')],
457
+ # [Item('grid', style='custom'), '-<>'],
458
+ [Item('n', label='Number of components', style='simple')],
459
+ [Item('r_diag', label='Diagonal removed')],
460
+ # [Item('env{}', style='custom')],
461
+ '|',
462
+ ],
463
+ title='Beamformer options',
464
+ buttons=OKCancelButtons,
465
+ ),
466
+ )
467
+
468
+ BeamformerCleansc.class_trait_view(
469
+ 'traits_view',
470
+ View(
471
+ [
472
+ # [Item('mpos{}', style='custom')],
473
+ # [Item('grid', style='custom'), '-<>'],
474
+ [Item('n', label='No. of iterations', style='simple')],
475
+ [Item('r_diag', label='Diagonal removed')],
476
+ # [Item('env{}', style='custom')],
477
+ '|',
478
+ ],
479
+ title='Beamformer options',
480
+ buttons=OKCancelButtons,
481
+ ),
482
+ )
483
+
484
+ BeamformerClean.class_trait_view(
485
+ 'traits_view',
486
+ View(
487
+ [
488
+ [Item('beamformer{}', style='custom')],
489
+ [Item('n_iter{Number of iterations}')],
490
+ # [Item('steer{Type of steering vector}')],
491
+ [Item('calcmode{How to calculate PSF}')],
492
+ '|',
493
+ ],
494
+ title='Beamformer denconvolution options',
495
+ buttons=OKCancelButtons,
496
+ ),
497
+ )
498
+
499
+ BeamformerCMF.class_trait_view(
500
+ 'traits_view',
501
+ View(
502
+ [
503
+ # [Item('mpos{}', style='custom')],
504
+ # [Item('grid', style='custom'), '-<>'],
505
+ [Item('method', label='Fit method')],
506
+ [Item('max_iter', label='No. of iterations')],
507
+ [Item('alpha', label='Lasso weight factor')],
508
+ [Item('c', label='Speed of sound')],
509
+ # [Item('env{}', style='custom')],
510
+ '|',
511
+ ],
512
+ title='Beamformer options',
513
+ buttons=OKCancelButtons,
514
+ ),
515
+ )
516
+
517
+ BeamformerGIB.class_trait_view(
518
+ 'traits_view',
519
+ View(
520
+ [
521
+ # [Item('mpos{}', style='custom')],
522
+ # [Item('grid', style='custom'), '-<>'],
523
+ [Item('method', label='Fit method')],
524
+ [Item('max_iter', label='No. of iterations')],
525
+ [Item('alpha', label='Lasso weight factor')],
526
+ [Item('c', label='Speed of sound')],
527
+ # [Item('env{}', style='custom')],
528
+ '|',
529
+ ],
530
+ title='Beamformer options',
531
+ buttons=OKCancelButtons,
532
+ ),
533
+ )