Skip to content

Commit f6d20d4

Browse files
authored
Merge pull request #458 from open-ephys/issue-321
Rename channel configuration to probe group for clarity
2 parents 263d61d + aa91b21 commit f6d20d4

10 files changed

+62
-63
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<PackageLicenseFile>LICENSE</PackageLicenseFile>
1414
<UseArtifactsOutput>true</UseArtifactsOutput>
1515
<PackageIcon>icon.png</PackageIcon>
16-
<VersionPrefix>0.5.0</VersionPrefix>
16+
<VersionPrefix>0.5.1</VersionPrefix>
1717
<VersionSuffix></VersionSuffix>
1818
<LangVersion>10.0</LangVersion>
1919
<Features>strict</Features>

OpenEphys.Onix1.Design/NeuropixelsV1ChannelConfigurationDialog.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public partial class NeuropixelsV1ChannelConfigurationDialog : ChannelConfigurat
2929
/// </summary>
3030
/// <param name="probeConfiguration">A <see cref="NeuropixelsV1ProbeConfiguration"/> object holding the current configuration settings.</param>
3131
public NeuropixelsV1ChannelConfigurationDialog(NeuropixelsV1ProbeConfiguration probeConfiguration)
32-
: base(probeConfiguration.ChannelConfiguration)
32+
: base(probeConfiguration.ProbeGroup)
3333
{
3434
zedGraphChannels.ZoomButtons = MouseButtons.None;
3535
zedGraphChannels.ZoomButtons2 = MouseButtons.None;
@@ -57,7 +57,7 @@ internal override ProbeGroup DefaultChannelLayout()
5757
internal override void LoadDefaultChannelLayout()
5858
{
5959
ProbeConfiguration = new(ProbeConfiguration.SpikeAmplifierGain, ProbeConfiguration.LfpAmplifierGain, ProbeConfiguration.Reference, ProbeConfiguration.SpikeFilter);
60-
ProbeGroup = ProbeConfiguration.ChannelConfiguration;
60+
ProbeGroup = ProbeConfiguration.ProbeGroup;
6161

6262
OnFileOpenHandler();
6363
}
@@ -67,7 +67,7 @@ internal override bool OpenFile<T>()
6767
if (base.OpenFile<NeuropixelsV1eProbeGroup>())
6868
{
6969
ProbeConfiguration = new((NeuropixelsV1eProbeGroup)ProbeGroup, ProbeConfiguration.SpikeAmplifierGain, ProbeConfiguration.LfpAmplifierGain, ProbeConfiguration.Reference, ProbeConfiguration.SpikeFilter);
70-
ProbeGroup = ProbeConfiguration.ChannelConfiguration;
70+
ProbeGroup = ProbeConfiguration.ProbeGroup;
7171

7272
OnFileOpenHandler();
7373

@@ -114,7 +114,7 @@ internal override void DrawScale()
114114
const int MinorTickIncrement = 10;
115115
const int MinorTickLength = 5;
116116

117-
if (ProbeConfiguration.ChannelConfiguration.Probes.ElementAt(0).SiUnits != ProbeSiUnits.um)
117+
if (ProbeConfiguration.ProbeGroup.Probes.ElementAt(0).SiUnits != ProbeSiUnits.um)
118118
{
119119
MessageBox.Show("Warning: Expected ProbeGroup units to be in microns, but it is in millimeters. Scale might not be accurate.");
120120
}
@@ -216,7 +216,7 @@ internal override void HighlightEnabledContacts()
216216

217217
internal override void UpdateContactLabels()
218218
{
219-
if (ProbeConfiguration.ChannelConfiguration == null)
219+
if (ProbeConfiguration.ProbeGroup == null)
220220
return;
221221

222222
var textObjs = zedGraphChannels.GraphPane.GraphObjList.OfType<TextObj>()

OpenEphys.Onix1.Design/NeuropixelsV1ProbeConfigurationDialog.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ private void SpikeFilterIndexChanged(object sender, EventArgs e)
170170
private void SetChannelPreset(ChannelPreset preset)
171171
{
172172
var probeConfiguration = ChannelConfiguration.ProbeConfiguration;
173-
var electrodes = NeuropixelsV1eProbeGroup.ToElectrodes(ChannelConfiguration.ProbeConfiguration.ChannelConfiguration);
173+
var electrodes = NeuropixelsV1eProbeGroup.ToElectrodes(ChannelConfiguration.ProbeConfiguration.ProbeGroup);
174174

175175
switch (preset)
176176
{
@@ -432,7 +432,7 @@ private void ViewAdcs_Click(object sender, EventArgs e)
432432

433433
private void EnableSelectedContacts()
434434
{
435-
var electrodes = NeuropixelsV1eProbeGroup.ToElectrodes(ChannelConfiguration.ProbeConfiguration.ChannelConfiguration);
435+
var electrodes = NeuropixelsV1eProbeGroup.ToElectrodes(ChannelConfiguration.ProbeConfiguration.ProbeGroup);
436436

437437
var selectedElectrodes = electrodes.Where((e, ind) => ChannelConfiguration.SelectedContacts[ind])
438438
.ToArray();

OpenEphys.Onix1.Design/NeuropixelsV2eChannelConfigurationDialog.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public partial class NeuropixelsV2eChannelConfigurationDialog : ChannelConfigura
2727
/// </summary>
2828
/// <param name="probeConfiguration">A <see cref="NeuropixelsV2QuadShankProbeConfiguration"/> object holding the current configuration settings.</param>
2929
public NeuropixelsV2eChannelConfigurationDialog(NeuropixelsV2QuadShankProbeConfiguration probeConfiguration)
30-
: base(probeConfiguration.ChannelConfiguration)
30+
: base(probeConfiguration.ProbeGroup)
3131
{
3232
zedGraphChannels.ZoomButtons = MouseButtons.None;
3333
zedGraphChannels.ZoomButtons2 = MouseButtons.None;
@@ -52,7 +52,7 @@ internal override ProbeGroup DefaultChannelLayout()
5252
internal override void LoadDefaultChannelLayout()
5353
{
5454
ProbeConfiguration = new(ProbeConfiguration.Probe, ProbeConfiguration.Reference);
55-
ProbeGroup = ProbeConfiguration.ChannelConfiguration;
55+
ProbeGroup = ProbeConfiguration.ProbeGroup;
5656

5757
OnFileOpenHandler();
5858
}
@@ -108,7 +108,7 @@ internal override void DrawScale()
108108
const int MinorTickIncrement = 10;
109109
const int MinorTickLength = 5;
110110

111-
if (ProbeConfiguration.ChannelConfiguration.Probes.ElementAt(0).SiUnits != ProbeSiUnits.um)
111+
if (ProbeConfiguration.ProbeGroup.Probes.ElementAt(0).SiUnits != ProbeSiUnits.um)
112112
{
113113
MessageBox.Show("Warning: Expected ProbeGroup units to be in microns, but it is in millimeters. Scale might not be accurate.");
114114
}
@@ -211,7 +211,7 @@ internal override void HighlightEnabledContacts()
211211

212212
internal override void UpdateContactLabels()
213213
{
214-
if (ProbeConfiguration.ChannelConfiguration == null)
214+
if (ProbeConfiguration.ProbeGroup == null)
215215
return;
216216

217217
var textObjs = zedGraphChannels.GraphPane.GraphObjList.OfType<TextObj>()

OpenEphys.Onix1.Design/NeuropixelsV2eDialog.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,6 @@ private void InvertPolarityChanged(object sender, EventArgs e)
7676
if (channelConfiguration.Tag != sendingDialog.Tag)
7777
{
7878
channelConfiguration.SetInvertPolarity(sendingDialog.InvertPolarity);
79-
//channelConfiguration.Refresh();
8079
}
8180
}
8281
}

OpenEphys.Onix1.Design/NeuropixelsV2eProbeConfigurationDialog.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ private void SelectedChannelPresetChanged(object sender, EventArgs e)
168168
private void SetChannelPreset(ChannelPreset preset)
169169
{
170170
var probeConfiguration = ChannelConfiguration.ProbeConfiguration;
171-
var electrodes = NeuropixelsV2eProbeGroup.ToElectrodes(ChannelConfiguration.ProbeConfiguration.ChannelConfiguration);
171+
var electrodes = NeuropixelsV2eProbeGroup.ToElectrodes(ChannelConfiguration.ProbeConfiguration.ProbeGroup);
172172

173173
switch (preset)
174174
{
@@ -622,7 +622,7 @@ internal void EnableContacts_Click(object sender, EventArgs e)
622622

623623
private void EnableSelectedContacts()
624624
{
625-
var selected = NeuropixelsV2eProbeGroup.ToElectrodes(ChannelConfiguration.ProbeConfiguration.ChannelConfiguration)
625+
var selected = NeuropixelsV2eProbeGroup.ToElectrodes(ChannelConfiguration.ProbeConfiguration.ProbeGroup)
626626
.Where((e, ind) => ChannelConfiguration.SelectedContacts[ind])
627627
.ToArray();
628628

OpenEphys.Onix1/NeuropixelsV1ProbeConfiguration.cs

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public class NeuropixelsV1ProbeConfiguration
4343
/// </summary>
4444
public NeuropixelsV1ProbeConfiguration()
4545
{
46-
ChannelMap = NeuropixelsV1eProbeGroup.ToChannelMap(ChannelConfiguration);
46+
ChannelMap = NeuropixelsV1eProbeGroup.ToChannelMap(ProbeGroup);
4747
}
4848

4949
/// <summary>
@@ -60,28 +60,28 @@ public NeuropixelsV1ProbeConfiguration(NeuropixelsV1Gain spikeAmplifierGain, Neu
6060
LfpAmplifierGain = lfpAmplifierGain;
6161
Reference = reference;
6262
SpikeFilter = spikeFilter;
63-
ChannelConfiguration = new();
64-
ChannelMap = NeuropixelsV1eProbeGroup.ToChannelMap(ChannelConfiguration);
63+
ProbeGroup = new();
64+
ChannelMap = NeuropixelsV1eProbeGroup.ToChannelMap(ProbeGroup);
6565
}
6666

6767
/// <summary>
6868
/// Copy constructor initializes a new instance of <see cref="NeuropixelsV1ProbeConfiguration"/> using the given <see cref="NeuropixelsV1eProbeGroup"/>
6969
/// values and the given gain / reference / filter settings.
7070
/// </summary>
71-
/// <param name="channelConfiguration">Desired or current <see cref="NeuropixelsV1eProbeGroup"/> variable.</param>
71+
/// <param name="probeGroup">Desired or current <see cref="NeuropixelsV1eProbeGroup"/> variable.</param>
7272
/// <param name="spikeAmplifierGain">Desired or current <see cref="NeuropixelsV1Gain"/> for the spike-band.</param>
7373
/// <param name="lfpAmplifierGain">Desired or current <see cref="NeuropixelsV1Gain"/> for the LFP-band.</param>
7474
/// <param name="reference">Desired or current <see cref="NeuropixelsV1ReferenceSource"/>.</param>
7575
/// <param name="spikeFilter">Desired or current option to filer the spike-band.</param>
76-
public NeuropixelsV1ProbeConfiguration(NeuropixelsV1eProbeGroup channelConfiguration, NeuropixelsV1Gain spikeAmplifierGain, NeuropixelsV1Gain lfpAmplifierGain, NeuropixelsV1ReferenceSource reference, bool spikeFilter)
76+
public NeuropixelsV1ProbeConfiguration(NeuropixelsV1eProbeGroup probeGroup, NeuropixelsV1Gain spikeAmplifierGain, NeuropixelsV1Gain lfpAmplifierGain, NeuropixelsV1ReferenceSource reference, bool spikeFilter)
7777
{
7878
SpikeAmplifierGain = spikeAmplifierGain;
7979
LfpAmplifierGain = lfpAmplifierGain;
8080
Reference = reference;
8181
SpikeFilter = spikeFilter;
82-
ChannelMap = NeuropixelsV1eProbeGroup.ToChannelMap(channelConfiguration);
83-
ChannelConfiguration = new();
84-
ChannelConfiguration.UpdateDeviceChannelIndices(ChannelMap);
82+
ChannelMap = NeuropixelsV1eProbeGroup.ToChannelMap(probeGroup);
83+
ProbeGroup = new();
84+
ProbeGroup.UpdateDeviceChannelIndices(ChannelMap);
8585
}
8686

8787
/// <summary>
@@ -95,9 +95,9 @@ public NeuropixelsV1ProbeConfiguration(NeuropixelsV1ProbeConfiguration probeConf
9595
LfpAmplifierGain = probeConfiguration.LfpAmplifierGain;
9696
Reference = probeConfiguration.Reference;
9797
SpikeFilter = probeConfiguration.SpikeFilter;
98-
ChannelConfiguration = new();
99-
ChannelConfiguration.UpdateDeviceChannelIndices(probeConfiguration.ChannelMap);
100-
ChannelMap = NeuropixelsV1eProbeGroup.ToChannelMap(ChannelConfiguration);
98+
ProbeGroup = new();
99+
ProbeGroup.UpdateDeviceChannelIndices(probeConfiguration.ChannelMap);
100+
ChannelMap = NeuropixelsV1eProbeGroup.ToChannelMap(ProbeGroup);
101101
}
102102

103103
/// <summary>
@@ -172,37 +172,37 @@ public void SelectElectrodes(NeuropixelsV1Electrode[] electrodes)
172172
}
173173
}
174174

175-
ChannelConfiguration.UpdateDeviceChannelIndices(ChannelMap);
175+
ProbeGroup.UpdateDeviceChannelIndices(ChannelMap);
176176
}
177177

178178
/// <summary>
179179
/// Gets or sets the <see cref="NeuropixelsV1eProbeGroup"/> channel configuration for this probe.
180180
/// </summary>
181181
[XmlIgnore]
182182
[Category("Configuration")]
183-
[Description("Defines the shape of the probe, and which contacts are currently selected for streaming")]
184-
public NeuropixelsV1eProbeGroup ChannelConfiguration { get; set; } = new();
183+
[Description("Defines all aspects of the probe group, including probe contours, electrode size and location, enabled channels, etc.")]
184+
public NeuropixelsV1eProbeGroup ProbeGroup { get; set; } = new();
185185

186186
/// <summary>
187-
/// Gets or sets a string defining the <see cref="ChannelConfiguration"/> in Base64.
187+
/// Gets or sets a string defining the <see cref="ProbeGroup"/> in Base64.
188188
/// This variable is needed to properly save a workflow in Bonsai, but it is not
189189
/// directly accessible in the Bonsai editor.
190190
/// </summary>
191191
[Browsable(false)]
192192
[Externalizable(false)]
193-
[XmlElement(nameof(ChannelConfiguration))]
194-
public string ChannelConfigurationString
193+
[XmlElement(nameof(ProbeGroup))]
194+
public string ProbeGroupString
195195
{
196196
get
197197
{
198-
var jsonString = JsonConvert.SerializeObject(ChannelConfiguration);
198+
var jsonString = JsonConvert.SerializeObject(ProbeGroup);
199199
return Convert.ToBase64String(Encoding.UTF8.GetBytes(jsonString));
200200
}
201201
set
202202
{
203203
var jsonString = Encoding.UTF8.GetString(Convert.FromBase64String(value));
204-
ChannelConfiguration = JsonConvert.DeserializeObject<NeuropixelsV1eProbeGroup>(jsonString);
205-
SelectElectrodes(NeuropixelsV1eProbeGroup.ToChannelMap(ChannelConfiguration));
204+
ProbeGroup = JsonConvert.DeserializeObject<NeuropixelsV1eProbeGroup>(jsonString);
205+
SelectElectrodes(NeuropixelsV1eProbeGroup.ToChannelMap(ProbeGroup));
206206
}
207207
}
208208
}

OpenEphys.Onix1/NeuropixelsV1eProbeGroup.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -191,11 +191,11 @@ internal void UpdateDeviceChannelIndices(NeuropixelsV1Electrode[] channelMap)
191191
/// <summary>
192192
/// Convert a <see cref="NeuropixelsV1eProbeGroup"/> object to a list of electrodes, which only includes currently enabled electrodes
193193
/// </summary>
194-
/// <param name="channelConfiguration">A <see cref="NeuropixelsV1eProbeGroup"/> object</param>
194+
/// <param name="probeGroup">A <see cref="NeuropixelsV1eProbeGroup"/> object</param>
195195
/// <returns>List of <see cref="NeuropixelsV1Electrode"/>'s that are enabled</returns>
196-
public static NeuropixelsV1Electrode[] ToChannelMap(NeuropixelsV1eProbeGroup channelConfiguration)
196+
public static NeuropixelsV1Electrode[] ToChannelMap(NeuropixelsV1eProbeGroup probeGroup)
197197
{
198-
var enabledContacts = channelConfiguration.GetContacts().Where(c => c.DeviceId != -1);
198+
var enabledContacts = probeGroup.GetContacts().Where(c => c.DeviceId != -1);
199199

200200
if (enabledContacts.Count() != NeuropixelsV1.ChannelCount)
201201
{
@@ -212,13 +212,13 @@ public static NeuropixelsV1Electrode[] ToChannelMap(NeuropixelsV1eProbeGroup cha
212212
/// <summary>
213213
/// Convert a ProbeInterface object to a list of electrodes, which includes all possible electrodes.
214214
/// </summary>
215-
/// <param name="channelConfiguration">A <see cref="NeuropixelsV1eProbeGroup"/> object.</param>
215+
/// <param name="probeGroup">A <see cref="NeuropixelsV1eProbeGroup"/> object.</param>
216216
/// <returns>List of <see cref="NeuropixelsV1Electrode"/> electrodes.</returns>
217-
public static List<NeuropixelsV1Electrode> ToElectrodes(NeuropixelsV1eProbeGroup channelConfiguration)
217+
public static List<NeuropixelsV1Electrode> ToElectrodes(NeuropixelsV1eProbeGroup probeGroup)
218218
{
219219
List<NeuropixelsV1Electrode> electrodes = new();
220220

221-
foreach (var c in channelConfiguration.GetContacts())
221+
foreach (var c in probeGroup.GetContacts())
222222
{
223223
electrodes.Add(new NeuropixelsV1Electrode(c.Index));
224224
}

OpenEphys.Onix1/NeuropixelsV2QuadShankProbeConfiguration.cs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -115,25 +115,25 @@ public NeuropixelsV2QuadShankProbeConfiguration(NeuropixelsV2Probe probe, Neurop
115115
public NeuropixelsV2QuadShankProbeConfiguration(NeuropixelsV2QuadShankProbeConfiguration probeConfiguration)
116116
{
117117
Reference = probeConfiguration.Reference;
118-
var probes = probeConfiguration.ChannelConfiguration.Probes.ToList().Select(probe => new Probe(probe));
119-
ChannelConfiguration = new(probeConfiguration.ChannelConfiguration.Specification, probeConfiguration.ChannelConfiguration.Version, probes.ToArray());
120-
ChannelMap = NeuropixelsV2eProbeGroup.ToChannelMap(ChannelConfiguration);
118+
var probes = probeConfiguration.ProbeGroup.Probes.ToList().Select(probe => new Probe(probe));
119+
ProbeGroup = new(probeConfiguration.ProbeGroup.Specification, probeConfiguration.ProbeGroup.Version, probes.ToArray());
120+
ChannelMap = NeuropixelsV2eProbeGroup.ToChannelMap(ProbeGroup);
121121
Probe = probeConfiguration.Probe;
122122
}
123123

124124
/// <summary>
125125
/// Initializes a new instance of the <see cref="NeuropixelsV2QuadShankProbeConfiguration"/> class with the given
126126
/// <see cref="NeuropixelsV2eProbeGroup"/> channel configuration. The <see cref="ChannelMap"/> is automatically
127-
/// generated from the <see cref="ChannelConfiguration"/>.
127+
/// generated from the <see cref="ProbeGroup"/>.
128128
/// </summary>
129-
/// <param name="channelConfiguration">The existing <see cref="NeuropixelsV2eProbeGroup"/> instance to use.</param>
129+
/// <param name="probeGroup">The existing <see cref="NeuropixelsV2eProbeGroup"/> instance to use.</param>
130130
/// <param name="reference">The <see cref="NeuropixelsV2QuadShankReference"/> reference value.</param>
131131
/// <param name="probe">The <see cref="NeuropixelsV2Probe"/> for this probe.</param>
132132
[JsonConstructor]
133-
public NeuropixelsV2QuadShankProbeConfiguration(NeuropixelsV2eProbeGroup channelConfiguration, NeuropixelsV2QuadShankReference reference, NeuropixelsV2Probe probe)
133+
public NeuropixelsV2QuadShankProbeConfiguration(NeuropixelsV2eProbeGroup probeGroup, NeuropixelsV2QuadShankReference reference, NeuropixelsV2Probe probe)
134134
{
135-
ChannelMap = NeuropixelsV2eProbeGroup.ToChannelMap(channelConfiguration);
136-
ChannelConfiguration = channelConfiguration;
135+
ChannelMap = NeuropixelsV2eProbeGroup.ToChannelMap(probeGroup);
136+
ProbeGroup = probeGroup;
137137
Reference = reference;
138138
Probe = probe;
139139
}
@@ -193,7 +193,7 @@ public void SelectElectrodes(NeuropixelsV2QuadShankElectrode[] electrodes)
193193
}
194194
}
195195

196-
ChannelConfiguration.UpdateDeviceChannelIndices(ChannelMap);
196+
ProbeGroup.UpdateDeviceChannelIndices(ChannelMap);
197197
}
198198

199199
/// <summary>
@@ -202,28 +202,28 @@ public void SelectElectrodes(NeuropixelsV2QuadShankElectrode[] electrodes)
202202
[XmlIgnore]
203203
[Category("Configuration")]
204204
[Description("Defines the shape of the probe, and which contacts are currently selected for streaming")]
205-
public NeuropixelsV2eProbeGroup ChannelConfiguration { get; private set; } = new();
205+
public NeuropixelsV2eProbeGroup ProbeGroup { get; private set; } = new();
206206

207207
/// <summary>
208-
/// Gets or sets a string defining the <see cref="ChannelConfiguration"/> in Base64.
208+
/// Gets or sets a string defining the <see cref="ProbeGroup"/> in Base64.
209209
/// This variable is needed to properly save a workflow in Bonsai, but it is not
210210
/// directly accessible in the Bonsai editor.
211211
/// </summary>
212212
[Browsable(false)]
213213
[Externalizable(false)]
214-
[XmlElement(nameof(ChannelConfiguration))]
215-
public string ChannelConfigurationString
214+
[XmlElement(nameof(ProbeGroup))]
215+
public string ProbeGroupString
216216
{
217217
get
218218
{
219-
var jsonString = JsonConvert.SerializeObject(ChannelConfiguration);
219+
var jsonString = JsonConvert.SerializeObject(ProbeGroup);
220220
return Convert.ToBase64String(Encoding.UTF8.GetBytes(jsonString));
221221
}
222222
set
223223
{
224224
var jsonString = Encoding.UTF8.GetString(Convert.FromBase64String(value));
225-
ChannelConfiguration = JsonConvert.DeserializeObject<NeuropixelsV2eProbeGroup>(jsonString);
226-
SelectElectrodes(NeuropixelsV2eProbeGroup.ToChannelMap(ChannelConfiguration));
225+
ProbeGroup = JsonConvert.DeserializeObject<NeuropixelsV2eProbeGroup>(jsonString);
226+
SelectElectrodes(NeuropixelsV2eProbeGroup.ToChannelMap(ProbeGroup));
227227
}
228228
}
229229
}

0 commit comments

Comments
 (0)