Exemple #1
0
 // Cleanup
 internal void Flush()
 {
     if (spkOut != null)
     {
         spkOut.flush(); spkOut = null;
     }
     if (spkOutRaw != null)
     {
         spkOutRaw.flush(); spkOutRaw = null;
     }
     if (spkOutSalpa != null)
     {
         spkOutSalpa.flush(); spkOutSalpa = null;
     }
     if (rawOut != null)
     {
         rawOut.flush(); rawOut = null;
     }
     if (salpaOut != null)
     {
         salpaOut.flush(); salpaOut = null;
     }
     if (spkFiltOut != null)
     {
         spkFiltOut.flush(); spkFiltOut = null;
     }
     if (lfpOut != null)
     {
         lfpOut.flush(); lfpOut = null;
     }
     ;
     if (stimOut != null)
     {
         stimOut.flush(); stimOut = null;
     }
     if (auxAnalogOut != null)
     {
         auxAnalogOut.flush(); auxAnalogOut = null;
     }
     ;
     if (auxDigitalOut != null)
     {
         auxDigitalOut.flush(); auxDigitalOut = null;
     }
 }
 // Cleanup
 internal void Flush()
 {
     if (spkOut != null) { spkOut.flush(); spkOut = null; }
     if (spkOutRaw != null) { spkOutRaw.flush(); spkOutRaw = null; }
     if (spkOutSalpa != null) { spkOutSalpa.flush(); spkOutSalpa = null; }
     if (rawOut != null) { rawOut.flush(); rawOut = null; }
     if (salpaOut != null) { salpaOut.flush(); salpaOut = null; }
     if (spkFiltOut != null) { spkFiltOut.flush(); spkFiltOut = null; }
     if (lfpOut != null) { lfpOut.flush(); lfpOut = null; };
     if (stimOut != null) { stimOut.flush(); stimOut = null; }
     if (auxAnalogOut != null) { auxAnalogOut.flush(); auxAnalogOut = null; };
     if (auxDigitalOut != null) { auxDigitalOut.flush(); auxDigitalOut = null; }
 }
Exemple #3
0
        // For full sampled streams
        internal void Setup(string dataType, Task dataTask)
        {
            //Create the nessesary file writers
            switch (dataType)
            {
            case "raw":
                // Check if we need to create this stream
                if (recordRaw)
                {
                    if (numElectrodes == 64 && Properties.Settings.Default.ChannelMapping == "invitro")
                    {
                        rawOut = new FileOutputRemapped(fid, numElectrodes,
                                                        dataTask.Timing.SampleClockRate, 1, dataTask,
                                                        "." + dataType, Properties.Settings.Default.PreAmpGain);
                    }
                    else
                    {
                        rawOut = new FileOutput(fid, numElectrodes,
                                                dataTask.Timing.SampleClockRate, 1, dataTask,
                                                "." + dataType, Properties.Settings.Default.PreAmpGain);
                    }
                }
                break;

            case "salpa":
                // Check if we need to create this stream
                if (recordSALPA)
                {
                    if (numElectrodes == 64 && Properties.Settings.Default.ChannelMapping == "invitro")
                    {
                        salpaOut = new FileOutputRemapped(fid, numElectrodes,
                                                          dataTask.Timing.SampleClockRate, 1, dataTask,
                                                          "." + dataType, Properties.Settings.Default.PreAmpGain);
                    }
                    else
                    {
                        salpaOut = new FileOutput(fid, numElectrodes,
                                                  dataTask.Timing.SampleClockRate, 1, dataTask,
                                                  "." + dataType, Properties.Settings.Default.PreAmpGain);
                    }
                }
                break;

            case "spkflt":
                // Check if we need to create this stream
                if (recordSpikeFilt)
                {
                    if (numElectrodes == 64 && Properties.Settings.Default.ChannelMapping == "invitro")
                    {
                        spkFiltOut = new FileOutputRemapped(fid, numElectrodes,
                                                            dataTask.Timing.SampleClockRate, 1, dataTask,
                                                            "." + dataType, Properties.Settings.Default.PreAmpGain);
                    }
                    else
                    {
                        spkFiltOut = new FileOutput(fid, numElectrodes,
                                                    dataTask.Timing.SampleClockRate, 1, dataTask,
                                                    "." + dataType, Properties.Settings.Default.PreAmpGain);
                    }
                }
                break;

            case "stim":
                // Check if we need to create this stream
                if (recordStim)
                {
                    stimOut = new StimFileOutput(fid, dataTask.Timing.SampleClockRate,
                                                 "." + dataType);
                }
                break;

            case "aux":
                // Check if we need to create this stream
                if (recordAuxAnalog)
                {
                    auxAnalogOut = new FileOutput(fid, dataTask.AIChannels.Count,
                                                  dataTask.Timing.SampleClockRate, 0, dataTask,
                                                  "." + dataType, 1);
                }
                break;

            case "dig":
                // Check if we need to create this stream
                if (recordAuxDig)
                {
                    auxDigitalOut = new DigFileOutput(fid, dataTask.Timing.SampleClockRate,
                                                      "." + dataType);
                }
                break;

            default:
                Console.WriteLine("Unknown data type specified during RecordingSetup.Setup()");
                break;
            }
        }
        // For full sampled streams
        internal void Setup(string dataType, Task dataTask)
        {
            //Create the nessesary file writers
            switch (dataType)
            {
                case "raw":
                    // Check if we need to create this stream
                    if (recordRaw)
                    {
                        if (numElectrodes == 64 && Properties.Settings.Default.ChannelMapping == "invitro")
                            rawOut = new FileOutputRemapped(fid, numElectrodes,
                                dataTask.Timing.SampleClockRate, 1, dataTask,
                                "." + dataType, Properties.Settings.Default.PreAmpGain);
                        else
                            rawOut = new FileOutput(fid, numElectrodes,
                                dataTask.Timing.SampleClockRate, 1, dataTask,
                                "." + dataType, Properties.Settings.Default.PreAmpGain);
                    }
                    break;
                case "salpa":
                    // Check if we need to create this stream
                    if (recordSALPA)
                    {
                        if (numElectrodes == 64 && Properties.Settings.Default.ChannelMapping == "invitro")
                            salpaOut = new FileOutputRemapped(fid, numElectrodes,
                                dataTask.Timing.SampleClockRate, 1, dataTask,
                                "." + dataType, Properties.Settings.Default.PreAmpGain);
                        else
                            salpaOut = new FileOutput(fid, numElectrodes,
                                dataTask.Timing.SampleClockRate, 1, dataTask,
                                "." + dataType, Properties.Settings.Default.PreAmpGain);
                    }
                    break;
                case "spkflt":
                    // Check if we need to create this stream
                    if (recordSpikeFilt)
                    {
                        if (numElectrodes == 64 && Properties.Settings.Default.ChannelMapping == "invitro")
                            spkFiltOut = new FileOutputRemapped(fid, numElectrodes,
                                dataTask.Timing.SampleClockRate, 1, dataTask,
                                "." + dataType, Properties.Settings.Default.PreAmpGain);
                        else
                            spkFiltOut = new FileOutput(fid, numElectrodes,
                                dataTask.Timing.SampleClockRate, 1, dataTask,
                                "." + dataType, Properties.Settings.Default.PreAmpGain);
                    }
                    break;
                case "stim":
                    // Check if we need to create this stream
                    if (recordStim)
                    {
                        stimOut = new StimFileOutput(fid, dataTask.Timing.SampleClockRate,
                            "." + dataType);
                    }
                    break;

                case "aux":
                    // Check if we need to create this stream
                    if (recordAuxAnalog)
                    {
                        auxAnalogOut = new FileOutput(fid, dataTask.AIChannels.Count,
                            dataTask.Timing.SampleClockRate, 0, dataTask,
                            "." + dataType, 1);
                    }
                    break;

                case "dig":
                    // Check if we need to create this stream
                    if (recordAuxDig)
                    {
                        auxDigitalOut = new DigFileOutput(fid,dataTask.Timing.SampleClockRate,
                            "." + dataType);
                    }
                    break;

                default:
                    Console.WriteLine("Unknown data type specified during RecordingSetup.Setup()");
                    break;
            }
        }