Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions OpenEphys.Onix1.Design/ChannelConfigurationDialog.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 7 additions & 14 deletions OpenEphys.Onix1.Design/ChannelConfigurationDialog.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,7 @@ public ChannelConfigurationDialog(ProbeGroup probeGroup)
InitializeComponent();
Shown += FormShown;

if (probeGroup == null)
{
LoadDefaultChannelLayout();
}
else
{
ProbeGroup = probeGroup;
}
ProbeGroup = probeGroup ?? DefaultChannelLayout();

SelectedContacts = new bool[ProbeGroup.NumberOfContacts];

Expand Down Expand Up @@ -849,7 +842,7 @@ internal static double GetContactLeft(GraphObjList graphObjs)
internal static double GetProbeContourLeft(GraphObjList graphObjs)
{
return graphObjs.OfType<PolyObj>()
.Min(obj => { return obj.Points.Min(p => p.X); });
.Min(obj => { return obj.Points.Min((Func<PointD, double>)(p => p.X)); });
}

internal static double GetProbeBottom(GraphObjList graphObjs)
Expand All @@ -875,7 +868,7 @@ internal static double GetContactBottom(GraphObjList graphObjs)
internal static double GetProbeContourBottom(GraphObjList graphObjs)
{
return graphObjs.OfType<PolyObj>()
.Min(obj => { return obj.Points.Min(p => p.Y); });
.Min(obj => { return obj.Points.Min((Func<PointD, double>)(p => p.Y)); });
}

internal static double GetProbeRight(GraphObjList graphObjs)
Expand All @@ -901,7 +894,7 @@ internal static double GetContactRight(GraphObjList graphObjs)
internal static double GetProbeContourRight(GraphObjList graphObjs)
{
return graphObjs.OfType<PolyObj>()
.Max(obj => { return obj.Points.Max(p => p.X); });
.Max(obj => { return obj.Points.Max((Func<PointD, double>)(p => p.X)); });
}

internal static double GetProbeTop(GraphObjList graphObjs)
Expand All @@ -927,7 +920,7 @@ internal static double GetContactTop(GraphObjList graphObjs)
internal static double GetProbeContourTop(GraphObjList graphObjs)
{
return graphObjs.OfType<PolyObj>()
.Max(obj => { return obj.Points.Max(p => p.Y); });
.Max(obj => { return obj.Points.Max((Func<PointD, double>)(p => p.Y)); });
}

/// <summary>
Expand Down Expand Up @@ -1342,8 +1335,8 @@ internal static bool HasContactAnnotations(ProbeGroup probeGroup)
{
foreach (var probe in probeGroup.Probes)
{
if (probe.ContactAnnotations != null
&& probe.ContactAnnotations.Annotations != null
if (probe.ContactAnnotations != null
&& probe.ContactAnnotations.Annotations != null
&& probe.ContactAnnotations.Annotations.Length > 0)
{
return true;
Expand Down
43 changes: 3 additions & 40 deletions OpenEphys.Onix1.Design/DesignHelper.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using Newtonsoft.Json;

namespace OpenEphys.Onix1.Design
{
Expand All @@ -15,49 +13,14 @@ static class DesignHelper
/// <typeparam name="T"></typeparam>
/// <param name="jsonString"></param>
/// <returns></returns>
#nullable enable
public static T? DeserializeString<T>(string jsonString)
public static T DeserializeString<T>(string jsonString) where T : class
{
var errors = new List<string>();

var serializerSettings = new JsonSerializerSettings()
{
Error = delegate(object sender, Newtonsoft.Json.Serialization.ErrorEventArgs args)
{
errors.Add(args.ErrorContext.Error.Message);
args.ErrorContext.Handled = true;
}
};

var obj = JsonConvert.DeserializeObject<T>(jsonString, serializerSettings);

if (errors.Count > 0)
{
MessageBox.Show($"There were errors encountered while parsing a JSON string. Check the console " +
$"for an error log.", "JSON Parse Error");

foreach (var e in errors)
{
Console.Error.WriteLine(e);
}

return default;
}

return obj;
return ProbeGroupHelper.DeserializeString<T>(jsonString);
}
#nullable disable

public static void SerializeObject(object _object, string filepath)
{
var serializerSettings = new JsonSerializerSettings()
{
NullValueHandling = NullValueHandling.Ignore,
};

var stringJson = JsonConvert.SerializeObject(_object, Formatting.Indented, serializerSettings);

File.WriteAllText(filepath, stringJson);
ProbeGroupHelper.SerializeObject(_object, filepath);
}

public static IEnumerable<Control> GetAllControls(this Control root)
Expand Down
14 changes: 7 additions & 7 deletions OpenEphys.Onix1.Design/HeadstageRhs2116Dialog.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion OpenEphys.Onix1.Design/HeadstageRhs2116Dialog.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using System;
using System.Windows.Forms;
using OpenEphys.ProbeInterface.NET;

namespace OpenEphys.Onix1.Design
{
Expand Down Expand Up @@ -30,7 +31,7 @@ public HeadstageRhs2116Dialog(Rhs2116ProbeGroup probeGroup, Rhs2116StimulusSeque

ProbeGroup = new Rhs2116ProbeGroup(probeGroup);

StimulusSequenceDialog = new Rhs2116StimulusSequenceDialog(sequence, ProbeGroup)
StimulusSequenceDialog = new Rhs2116StimulusSequenceDialog(sequence, probeGroup)
{
TopLevel = false,
FormBorderStyle = FormBorderStyle.None,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,9 @@ internal override ProbeGroup DefaultChannelLayout()

internal override void LoadDefaultChannelLayout()
{
ProbeConfiguration = new(ProbeConfiguration.SpikeAmplifierGain, ProbeConfiguration.LfpAmplifierGain, ProbeConfiguration.Reference, ProbeConfiguration.SpikeFilter);
ProbeConfiguration = new(ProbeConfiguration.SpikeAmplifierGain, ProbeConfiguration.LfpAmplifierGain,
ProbeConfiguration.Reference, ProbeConfiguration.SpikeFilter,
ProbeConfiguration.AdcCalibrationFile, ProbeConfiguration.GainCalibrationFile);
ProbeGroup = ProbeConfiguration.ProbeGroup;

OnFileOpenHandler();
Expand All @@ -66,7 +68,9 @@ internal override bool OpenFile<T>()
{
if (base.OpenFile<NeuropixelsV1eProbeGroup>())
{
ProbeConfiguration = new((NeuropixelsV1eProbeGroup)ProbeGroup, ProbeConfiguration.SpikeAmplifierGain, ProbeConfiguration.LfpAmplifierGain, ProbeConfiguration.Reference, ProbeConfiguration.SpikeFilter);
ProbeConfiguration = new((NeuropixelsV1eProbeGroup)ProbeGroup, ProbeConfiguration.SpikeAmplifierGain,
ProbeConfiguration.LfpAmplifierGain, ProbeConfiguration.Reference, ProbeConfiguration.SpikeFilter,
ProbeConfiguration.AdcCalibrationFile, ProbeConfiguration.GainCalibrationFile);
ProbeGroup = ProbeConfiguration.ProbeGroup;

OnFileOpenHandler();
Expand Down
6 changes: 1 addition & 5 deletions OpenEphys.Onix1.Design/NeuropixelsV1Dialog.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public NeuropixelsV1Dialog(IConfigureNeuropixelsV1 configureNode)
ConfigureNode = new ConfigureNeuropixelsV1f(configureV1f);
}

ProbeConfigurationDialog = new(ConfigureNode.ProbeConfiguration, ConfigureNode.AdcCalibrationFile, ConfigureNode.GainCalibrationFile, ConfigureNode.InvertPolarity)
ProbeConfigurationDialog = new(ConfigureNode.ProbeConfiguration, ConfigureNode.InvertPolarity)
{
TopLevel = false,
FormBorderStyle = FormBorderStyle.None,
Expand Down Expand Up @@ -70,10 +70,6 @@ internal void Okay_Click(object sender, EventArgs e)
internal void SaveVariables()
{
ConfigureNode.ProbeConfiguration = ProbeConfigurationDialog.ProbeConfiguration;

ConfigureNode.GainCalibrationFile = ProbeConfigurationDialog.textBoxGainCalibrationFile.Text;
ConfigureNode.AdcCalibrationFile = ProbeConfigurationDialog.textBoxAdcCalibrationFile.Text;

ConfigureNode.InvertPolarity = ProbeConfigurationDialog.InvertPolarity;
}
}
Expand Down
2 changes: 0 additions & 2 deletions OpenEphys.Onix1.Design/NeuropixelsV1Editor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ public override bool EditComponent(ITypeDescriptorContext context, object compon
if (editorDialog.ShowDialog() == DialogResult.OK)
{
configureNeuropixelsV1.Enable = editorDialog.ConfigureNode.Enable;
configureNeuropixelsV1.GainCalibrationFile = editorDialog.ConfigureNode.GainCalibrationFile;
configureNeuropixelsV1.AdcCalibrationFile = editorDialog.ConfigureNode.AdcCalibrationFile;
configureNeuropixelsV1.ProbeConfiguration = editorDialog.ConfigureNode.ProbeConfiguration;
configureNeuropixelsV1.InvertPolarity = editorDialog.ConfigureNode.InvertPolarity;

Expand Down
Loading
Loading