Skip to content

Commit 3100eba

Browse files
authored
Merge pull request #581 from AllenInstitute/feature/new-release
Release 2.1
2 parents d98ac2e + f67021e commit 3100eba

File tree

3 files changed

+329
-5
lines changed

3 files changed

+329
-5
lines changed

Packages/MIES/MIES_PulseAveraging.ipf

+5-5
Original file line numberDiff line numberDiff line change
@@ -884,11 +884,11 @@ static Function PA_UpdateSweepPlotDeconvolution(win)
884884
graph = StringFromList(i, graphs)
885885

886886
if(deconvolution.enable)
887-
WAVE/T traces = TUD_GetUserDataAsWave(graph, "traceName", keys = {"traceType", "DiagonalElement"}, values = {"Average", "0"})
887+
WAVE/T/Z traces = TUD_GetUserDataAsWave(graph, "traceName", keys = {"traceType", "DiagonalElement"}, values = {"Average", "0"})
888888

889889
traceIndex = TUD_GetTraceCount(graph)
890-
891-
numTraces = DimSize(traces, ROWS)
890+
891+
numTraces = WaveExists(traces) ? DimSize(traces, ROWS) : 0
892892
for(j = 0; j < numTraces; j += 1)
893893
avgTrace = traces[j]
894894

@@ -915,9 +915,9 @@ static Function PA_UpdateSweepPlotDeconvolution(win)
915915
TUD_SetUserData(graph, traceName, "fullPath", GetWavesDataFolder(deconv, 2))
916916
endfor
917917
else // !deconvolution.enable
918-
WAVE/T traces = TUD_GetUserDataAsWave(graph, "traceName", keys = {"traceType"}, values = {"Deconvolution"})
918+
WAVE/T/Z traces = TUD_GetUserDataAsWave(graph, "traceName", keys = {"traceType"}, values = {"Deconvolution"})
919919

920-
numTraces = DimSize(traces, ROWS)
920+
numTraces = WaveExists(traces) ? DimSize(traces, ROWS) : 0
921921
for(j = 0; j < numTraces; j += 1)
922922
traceName = traces[j]
923923

Packages/doc/releasenotes.rst

+293
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,298 @@ Release notes
33

44
.. toctree::
55

6+
Release 2.1
7+
===========
8+
9+
Sweep Formula
10+
-------------
11+
12+
- Add an easy to use scripting language to evaluate acquired data termed `Sweep Formula <https://alleninstitute.github.io/MIES/SweepFormula.html#the-sweep-formula-module>`_
13+
14+
AnalysisBrowser
15+
---------------
16+
17+
- Load user comments from NWB files
18+
- Store the starting directory in the package settings
19+
20+
DataBrowser
21+
-----------
22+
23+
- Use a per-instance folder. Now users can have multiple databrowsers open with
24+
different settings as each databrowser graph has its own folder.
25+
- Enable resizing for BrowserHistorySettings Panel
26+
- Properly select NONE with multiple devices with data
27+
- Make all axes scaling options available from SweepBrowser
28+
29+
DataBrowser/SweepBrowser
30+
------------------------
31+
32+
- Fix loading and displaying of old experiments
33+
- Make it much faster by custom trace user data handling, incremental sweep
34+
updates and avoiding full updates when they are not necessary.
35+
- The graph is now always plotted correctly even when using overlay sweeps with
36+
headstage removal and special sweeps.
37+
- Make the highlightning for overlay sweeps much more responsive.
38+
- Allow to only overlay the sweeps from the current RAC/SCI
39+
- Adapt tick labels for splitted TTL axis
40+
- Pulse Average:
41+
42+
- Fetch the pulse times for each sweep
43+
- Make it much faster
44+
- Never grey out controls, this allows tweaking the settings while it is disabled
45+
46+
- Restore always all cursors
47+
- Show the headstage number in the graph as well
48+
- Replace Labnotebook popup menus with our own cascaded solution which avoids
49+
long menues.
50+
- Add all channel checkboxes
51+
- Default "Display last sweep acquired" to ON
52+
- Ignore invalid headstages in removal list of overlay sweeps
53+
54+
DA\_Ephys
55+
---------
56+
57+
- Fix oodDAQ offset bug introduced in 88323d8d (Replacement of oodDAQ offset
58+
calculation routines, 2019-06-13) with more than two stimsets.
59+
- Cache the HardwareDataWave for the Testpulse
60+
- Initialize all channel data to NaN
61+
- Fix AD unit querying bug for ADs above 8
62+
- Allow TP during DAQ for Indexing
63+
- Fix an off-by-one error for the fifo position
64+
- Rework device selection logic: This is now more intuitive.
65+
- Add a button for rescanning the list of changed hardware devices. This is
66+
required as that list is now cached.
67+
- Add support for decimated oscilloscope wave which greatly speeds up the display
68+
- Handle stopped DAQ properly and avoid "Uninitialized raCycleID detected" assertions
69+
- Fix that with TP during DAQ all test pulse channels are stored
70+
- Apply search string for all controls as well
71+
- Rework oodDAQ algorithm: The new algorithm is much faster and does not require a resolution parameter anymore
72+
- Make I=0 clamp mode work again
73+
- Reset the session start time on "Save and Clear Experiment"
74+
- Perform analysis parameter checks very early (even before "PRE DAQ" event)
75+
- Add increment selection to "DA Scale" and manual pressure set variables via context menu
76+
- Avoid using async channels for DAQ as well
77+
- Make it usable with lots of sweeps much better
78+
- Handle changing power spectrum checkbox during TP
79+
- Parallelize curve fits on TPStorage data
80+
81+
ExperimentConfig
82+
----------------
83+
84+
- Introduce `new configuration management <https://alleninstitute.github.io/MIES/file/_m_i_e_s___configuration_8ipf.html?highlight=json#file-mies-configuration-ipf>`_:
85+
86+
- Support all panels and controls
87+
- Support setting all amplifier entries per headstage
88+
- Configuration files are in standard JSON format
89+
- Support for global and rig specific config files which complement each other
90+
91+
- Fix MCC opening bug in demo mode
92+
- Add configuration field Amplifier Channel to specify channel explicitly
93+
- Support multiple locations for the json settings files
94+
95+
Downsample
96+
----------
97+
98+
None
99+
100+
Analysis Functions
101+
------------------
102+
103+
- Parameters now have no restrictions anymore on the type of content.
104+
Previously some characters were not allowed.
105+
- Explicitly ignore TP during DAQ channels
106+
- Fix an off-by-one issue as we use the lastKnownRowIndex/lastValidRowIndex as
107+
zero-based indizes and not as length. We now also pass these values as NaN
108+
if they do not make sense for the current event.
109+
- AnalysisFunctions_V3: Introduce scaledDataWave member
110+
- Add an analysis function for measuring the mid sweep event timings
111+
- Fix level calculation for NI hardware in ``PSQ_Ramp``
112+
- Adapt Supra mode for ``PSQ_DAScale``:
113+
- Plot the spike frequency vs DAScale
114+
- Add new LBN entry of the slope of that plot
115+
- Support new FinalSlopePercent parameter as additional set passing
116+
criteria
117+
- Add new LBN entry which denotes if the FinalSlopePercent was reached
118+
or not
119+
- Store pulse duration in LBN
120+
- SetControlInEvent: Add support setting notebook contents
121+
- Add support for check and help functions. Port the existing analysis
122+
functions to use that new feature.
123+
- Fixed the analysis function parameter check routine
124+
125+
Foreign Function interface
126+
--------------------------
127+
128+
None
129+
130+
General
131+
-------
132+
133+
- Drop support for Igor Pro 7
134+
- Enhance the first time usage ITC error message
135+
- Added ``MIES_MassExperimentProcessing.ipf`` for batch converting Igor experiment files to NWBv2.
136+
- Upload Igor Pro crash dumps every day
137+
- Nicify About MIES dialog
138+
- Add MIES settings which are persistent across restarts
139+
- Add menu option to open the diagnostics directory
140+
- Switch the default branch to ``main`` from ``master`` to foster inclusive
141+
terminology. For existing clones execute ``git remote set-head origin main``
142+
to switch the remote HEAD to ``main`` as well.
143+
144+
ITC XOP 2
145+
----------
146+
147+
- Remove unnecessary ITCMM DLLs
148+
- Add powershell scripts for disabling ASLR
149+
150+
ZeroMQ XOP
151+
----------
152+
153+
- Don't restart the message handler if not required. This makes it possible to
154+
create a new experiment via ZeroMQ.
155+
156+
MCC XOP
157+
-------
158+
159+
None
160+
161+
MIESUtils XOP
162+
-------------
163+
164+
None
165+
166+
Labnotebook
167+
-----------
168+
169+
- Add functions for querying labnotebook data via channel number and type
170+
- Change naming scheme of unassociated channels:
171+
172+
We support two types of unassociated keys. Old style, prior to 403c8ec2
173+
(Merge pull request #370 from AllenInstitute/feature/sweepformula_enable,
174+
2019-11-13) but after its introduction in ad8dc8ec (Allow AD/DA channels
175+
not associated with a headstage again, 2015-10-22) are written as ``$Name UNASSOC_$ChannelNumber``.
176+
New style has the format ``$Name u_(AD|DA)$ChannelNumber``, this includes
177+
the channel type to make them more self explaining.
178+
- Remove "Pulse Train Pulses" and "Pulse to Pulse Length" labnotebook entries due severe bugs in the calculation
179+
- Fix too short dimension labels
180+
- Some units and tolerances were fixed for the numerical labnotebook
181+
182+
New numerical keys
183+
~~~~~~~~~~~~~~~~~~
184+
185+
- ``PSQ_FMT_LBN_DA_fI_SLOPE`` for fitted slope in the f-I plot for ``PSQ_DAScale``
186+
- ``PSQ_FMT_LBN_DA_fI_SLOPE_REACHED`` for fitted slope in the f-I plot exceeds target value for ``PSQ_DAScale``
187+
- ``PSQ_FMT_LBN_PULSE_DUR`` for ``PSQ_DAScale``
188+
- ``PSQ_FMT_LBN_SPIKE_DETECT`` for ``PSQ_DAScale``
189+
190+
New textual keys
191+
~~~~~~~~~~~~~~~~
192+
193+
- ``JSON config file: path``: List of absolute paths to the JSON configuration files
194+
- ``JSON config file: SHA-256 hash``: List of hash values
195+
- ``Epochs``: , `Add epoch information from the stimulus set into the labnotebook <https://alleninstitute.github.io/MIES/epoch_information.html#epoch-information>`_.
196+
197+
Changed numerical entries
198+
~~~~~~~~~~~~~~~~~~~~~~~~~
199+
200+
- ``oodDAQ regions``: Now uses floating point numbers instead of intergers
201+
202+
Changed textual entries
203+
~~~~~~~~~~~~~~~~~~~~~~~
204+
205+
- ``Function params`` -> ``Function params (encoded)``: This entry now holds the serialized analysis function
206+
parameter strings where the values are `percent encoded <https://en.wikipedia.org/wiki/Percent-encoding>`_.
207+
208+
NWB/IPNWB
209+
---------
210+
211+
- Write the Igor Pro history by default
212+
- Add support for exporting into NWBv2 (2.2.4 to be exact). Additional MIES
213+
data and metadata is tagged using `ndx-MIES <https://github.com/t-b/ndx-MIES>`_.
214+
Export support into NWBv1 is unchanged.
215+
- Various bugfixes for exporting really old or buggy MIES data into NWB.
216+
- Support export of I=0 data better
217+
- Don't delete third party stimsets after exporting into NWB.
218+
- Mark ``/general/stimsets`` as custom for NWBv1
219+
220+
File format
221+
~~~~~~~~~~~
222+
223+
None
224+
225+
Pressure Control
226+
----------------
227+
228+
- Allow adjusting the pressure with the mouse wheel
229+
230+
WaveBuilder
231+
-----------
232+
233+
- Raise the stimset wave note version
234+
- Make the analysis function paramter panel nicer and resizable
235+
- Changed encoding of the analysis function parameters to use percent-encoding
236+
- Add duration entry for combined stimset
237+
- Add a search string for the wavebuilder stimsets for loading
238+
- Add wave note entry for mixed frequency shuffle
239+
- Force stimset rebuilding on too old wave note version
240+
- Fix forgotten delta mode for pulse duration for pulse train pulse
241+
242+
Work Sequencing Engine
243+
----------------------
244+
245+
- Remove AnalyaisMaster panel and HDF5 operations
246+
247+
Internal
248+
--------
249+
250+
- Packages/doc/developers.rst: Update CI section
251+
- Add JSON-XOP
252+
- Add preliminary support for Igor Pro 9
253+
- Use mathjax instead of images for the documentation
254+
- Fix version generation with latest tag
255+
- CreateMiesVersion: Support more git install locations
256+
- Started cleanup of DC_PlaceDataInHardwareDataWave
257+
- Check that ASLR is turned off on Windows 10 64-bit. This is required for ITC hardware to work, see https://github.com/AllenInstitute/ITCXOP2/#windows-10.
258+
- Add generic wave cache accessor ``CA_TemporaryWaveKey`` for using the returned wave in multihread statements as target junk wave
259+
- Add ROVar/ROStr for mapping global variables and strings to a read-only version
260+
- Update our documentation toolchain to sphinx 3
261+
- Remove Tango procedure files
262+
- Fixed some minor memory leaks
263+
264+
Tango
265+
-----
266+
267+
- Remove it completely
268+
- Add empty ``MIES_TangoInteract.ipf`` to avoid compile errors on old experiments
269+
270+
Tests
271+
-----
272+
273+
- Lots of additions and fixes
274+
- TTL channels are now much more checked on ITC1600
275+
- Switch to Windows 10 on CI server and greatly cleanup the test scripts
276+
- Perform compile testing on 32bit and 64bit Igor Pro
277+
- Added test and pynwb validation tests for NWBV2
278+
- Port tests to use rtFunctionErrors=1
279+
280+
Async Framework
281+
---------------
282+
283+
- Make ``ASYNC_Start`` and ``ASYNC_Stop`` idempotent
284+
- Start and Stop of ASYNC framework is now globally done by CompileHooks
285+
286+
Installer
287+
---------
288+
289+
- Add more documentation for admins how it works
290+
- Added support for ``/ALLUSER`` parameter to installer
291+
- Switch installer to support Igor Pro 8 and 9
292+
- Add special installation mode for CI server via ``/CIS`` and ``/SKIPHWXOP`` flags
293+
- Fix edge case of user vs admin installations due to NSIS ShellLink plugin
294+
- Enhance deinstallation logic to catch more edge cases
295+
- Make ITC hardware work out of the box on new Windowses. Requires that
296+
unsigned powershell scripts can be executed.
297+
6298
Release 2.0
7299
===========
8300

@@ -86,6 +378,7 @@ Analysis Functions
86378
- Add optional analysis parameter to choose operator for Supra
87379
- Fix average calculation for NI hardware
88380
- Enable "TP inserting"
381+
- Add optional support adjusting DAScale when out of band
89382
- PSQ_SquarePulse:
90383

91384
- Catch spiking with DAScale of zero

0 commit comments

Comments
 (0)