bioelectric-interfaces / nfb_studio

NFB experiment designer.
https://bioelectric-interfaces.github.io/nfb_studio/
1 stars 0 forks source link

Importing xml files #1

Closed aksiotis closed 3 years ago

aksiotis commented 3 years ago

When importing an xml file that was generated by NFBLab on another computer, the following error occurs: (notably, xml files created by NFB studio don't have problems with exporting)

Traceback (most recent call last): File "c:\users\владислав\nfb_studio\nfb_studio\experiment_view.py", line 510, in actionImport ex = Experiment.import_xml(data) File "c:\users\владислав\nfb_studio\nfb_studio\experiment.py", line 254, in import_xml group = Group.nfb_import_data(group_data) File "c:\users\владислав\nfb_studio\nfb_studio\group\group.py", line 116, in nfb_import_data group.random_order = bool(float(data["bShuffle"])) TypeError: 'NoneType' object is not subscriptable

bindreams commented 3 years ago

Thanks for reporting. Could you attach the XML file in question?
Copy-paste it here, like this:

``` \ ```

so it looks like code and is easier to read.

aksiotis commented 3 years ago

There was a different path in , but it didn't work when I have changed it to mine neither.

<?xml version="1.0" encoding="utf-8"?>
<NeurofeedbackSignalSpecs>
    <bDC>0</bDC>
    <sPrefilterBand>None None</sPrefilterBand>
    <sExperimentName>experiment</sExperimentName>
    <sInletType>lsl_from_file</sInletType>
    <sStreamName>NVX136_Data</sStreamName>
    <sEventsStreamName></sEventsStreamName>
    <sRawDataFilePath>D:\EEGdataTes\experiment_data.h5</sRawDataFilePath>
    <sFTHostnamePort>localhost:1972</sFTHostnamePort>
    <bPlotRaw>1</bPlotRaw>
    <bPlotSignals>1</bPlotSignals>
    <bPlotSourceSpace>0</bPlotSourceSpace>
    <bShowSubjectWindow>1</bShowSubjectWindow>
    <fRewardPeriodS>0.25</fRewardPeriodS>
    <sReference></sReference>
    <sReferenceSub></sReferenceSub>
    <bUseExpyriment>0</bUseExpyriment>
    <bShowPhotoRectangle>0</bShowPhotoRectangle>
    <sVizNotchFilters>0</sVizNotchFilters>
    <vSignals>
        <DerivedSignal>
            <sSignalName>pz</sSignalName>
            <SpatialFilterMatrix>Pz=1</SpatialFilterMatrix>
            <bDisableSpectrumEvaluation>0</bDisableSpectrumEvaluation>
            <fSmoothingFactor>0.95</fSmoothingFactor>
            <fFFTWindowSize>500</fFFTWindowSize>
            <fBandpassLowHz>8</fBandpassLowHz>
            <fBandpassHighHz>12</fBandpassHighHz>
            <fAverage></fAverage>
            <fStdDev></fStdDev>
            <bBCIMode>0</bBCIMode>
            <sROILabel></sROILabel>
            <sTemporalType>envdetector</sTemporalType>
            <sTemporalFilterType>butter</sTemporalFilterType>
            <fTemporalFilterButterOrder>2</fTemporalFilterButterOrder>
            <sTemporalSmootherType>exp</sTemporalSmootherType>
            <iDelayMs>0</iDelayMs>
        </DerivedSignal>
        <DerivedSignal>
            <sSignalName>fz</sSignalName>
            <SpatialFilterMatrix>Fz=1</SpatialFilterMatrix>
            <bDisableSpectrumEvaluation>0</bDisableSpectrumEvaluation>
            <fSmoothingFactor>0.95</fSmoothingFactor>
            <fFFTWindowSize>500</fFFTWindowSize>
            <fBandpassLowHz>4</fBandpassLowHz>
            <fBandpassHighHz>8</fBandpassHighHz>
            <fAverage></fAverage>
            <fStdDev></fStdDev>
            <bBCIMode>0</bBCIMode>
            <sROILabel></sROILabel>
            <sTemporalType>envdetector</sTemporalType>
            <sTemporalFilterType>butter</sTemporalFilterType>
            <fTemporalFilterButterOrder>2</fTemporalFilterButterOrder>
            <sTemporalSmootherType>exp</sTemporalSmootherType>
            <iDelayMs>0</iDelayMs>
        </DerivedSignal>
        <CompositeSignal>
            <sSignalName>Composite</sSignalName>
            <sExpression>pz/fz</sExpression>
        </CompositeSignal>
    </vSignals>
    <vProtocols>
        <FeedbackProtocol>
            <sProtocolName>Protocol</sProtocolName>
            <bUpdateStatistics>0</bUpdateStatistics>
            <sStatisticsType>meanstd</sStatisticsType>
            <iDropOutliers>0</iDropOutliers>
            <bSSDInTheEnd>0</bSSDInTheEnd>
            <fDuration>30.0</fDuration>
            <fRandomOverTime>0.0</fRandomOverTime>
            <fbSource>Composite</fbSource>
            <sFb_type>Baseline</sFb_type>
            <cString></cString>
            <bVoiceover>0</bVoiceover>
            <bUseExtraMessage>0</bUseExtraMessage>
            <cString2></cString2>
            <fBlinkDurationMs>50</fBlinkDurationMs>
            <fBlinkThreshold>0.0</fBlinkThreshold>
            <sMockSignalFilePath></sMockSignalFilePath>
            <sMockSignalFileDataset>protocol1</sMockSignalFileDataset>
            <iMockPrevious>0</iMockPrevious>
            <bReverseMockPrevious>0</bReverseMockPrevious>
            <bRandomMockPrevious>0</bRandomMockPrevious>
            <sRewardSignal>pz</sRewardSignal>
            <bRewardThreshold>0.0</bRewardThreshold>
            <bShowReward>0</bShowReward>
            <bPauseAfter>0</bPauseAfter>
            <bBeepAfter>0</bBeepAfter>
            <iRandomBound>0</iRandomBound>
            <sVideoPath></sVideoPath>
            <sMSignal>None</sMSignal>
            <fMSignalThreshold>1.0</fMSignalThreshold>
            <bMockSource>0</bMockSource>
            <bEnableDetectionTask>0</bEnableDetectionTask>
            <bAutoBCIFit>0</bAutoBCIFit>
        </FeedbackProtocol>
    </vProtocols>
    <vPGroups>
        <PGroup></PGroup>
    </vPGroups>
    <vPSequence>
        <s>Protocol</s>
    </vPSequence>
</NeurofeedbackSignalSpecs>
bindreams commented 3 years ago

Fixed in master.