Skip to content

traces error: dimension mismatch #160

@s-steinberg

Description

@s-steinberg

Trace view won't show due to an error below.

Output of jrc version

JRCLUST v4.0.2 "Edward"

Output of gpuDevice (if you're seeing a GPU error)

                  Name: 'GeForce RTX 2080'
                 Index: 1
     ComputeCapability: '7.5'
        SupportsDouble: 1
         DriverVersion: 11.2000
        ToolkitVersion: 10
    MaxThreadsPerBlock: 1024
      MaxShmemPerBlock: 49152
    MaxThreadBlockSize: [1024 1024 64]
           MaxGridSize: [2.1475e+09 65535 65535]
             SIMDWidth: 32
           TotalMemory: 8.5899e+09
       AvailableMemory: 7.0841e+09
   MultiprocessorCount: 46
          ClockRateKHz: 1710000
           ComputeMode: 'Default'
  GPUOverlapsTransfers: 1
KernelExecutionTimeout: 1
      CanMapHostMemory: 1
       DeviceSupported: 1
        DeviceSelected: 1

The command you used

jrc traces myparam.prm

If manually sorting, what it is you tried to do

N/A

Console output

Error using bsxfun
Non-singleton dimensions of the two input arrays must match each other.
Error in jrclust.views.Figure/multiplot>doMultiplot (line 54)
        YData = bsxfun(@plus, YData/scale, YOffsets(:)');
Error in jrclust.views.Figure/multiplot (line 26)
    [plotKey, YOffsets] = doMultiplot(obj, plotKey, scale, XData, YData, YOffsets, doScatter);
Error in jrclust.views.plotFigTraces (line 56)
    hFigTraces.multiplot('hPlot', hFigTraces.figData.maxAmp, XData, tracesFilt', 1:hCfg.nSites);
Error in jrclust.views.TracesController/show (line 365)
            obj.tracesFilt = jrclust.views.plotFigTraces(obj.hFigTraces, obj.hCfg, obj.tracesRaw, 1, obj.hClust);
Error in JRC/traces (line 21)
    hTraces.show(recID, 0, obj.hClust);
Error in JRC/processArgs (line 246)
            obj.traces();
Error in JRC (line 54)
                    obj.processArgs();
Error in jrc (line 16)
    hJRC = JRC(varargin{:}); 

The input data are raw binary. I tried with different data but I get the same error.
Other commands like detect, preview, sort, and manual work.
My data are 32 channels. When stopped at the line 54 of multiplot.m, where the error happens, YData is 1x192000 single, YOffsets is 1x32 double.

Changing the line 54 of multiplot.m from

YData = bsxfun(@plus, YData/scale, YOffsets(:)');

to

YData = bsxfun(@plus, YData/scale, YOffsets(:));

can avoid the error in this line, but I get another error:

Error using line
Vectors must be the same length.
Error in jrclust.views.Figure/addPlot (line 243)
                obj.hPlots(plotKey) = hFunPlot(hAx, varargin{:});
Error in jrclust.views.Figure/multiplot>doMultiplot (line 81)
        hFig.addPlot(plotKey, @line, XData(:), YData(:), 'UserData', userData);
Error in jrclust.views.Figure/multiplot (line 26)
    [plotKey, YOffsets] = doMultiplot(obj, plotKey, scale, XData, YData, YOffsets, doScatter);
Error in jrclust.views.plotFigTraces (line 56)
    hFigTraces.multiplot('hPlot', hFigTraces.figData.maxAmp, XData, tracesFilt', 1:hCfg.nSites);
Error in jrclust.views.TracesController/show (line 365)
            obj.tracesFilt = jrclust.views.plotFigTraces(obj.hFigTraces, obj.hCfg, obj.tracesRaw, 1, obj.hClust);
Error in JRC/traces (line 21)
    hTraces.show(recID, 0, obj.hClust);
Error in JRC/processArgs (line 246)
            obj.traces();
Error in JRC (line 54)
                    obj.processArgs();
Error in jrc (line 16)
    hJRC = JRC(varargin{:}); 

Is there any way to fix this? Thank you very much.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions