load_neuroscan.m

来自「绝对经典,老外制作的功能强大的matlab实现PLS_TOOBOX」· M 代码 · 共 1,009 行 · 第 1/4 页

M
1,009
字号
   %     char   veogmethod;      /* Method used to correct VEOG             */
   %     char   heogmethod;      /* Method used to correct HEOG             */
   %     char   aux1method;      /* Method used to correct AUX1             */
   %     char   aux2method;      /* Method used to correct AUX2             */
   %     float  AmpSensitivity;  /* External Amplifier gain                 */
   %     char   LowPass;         /* Toggle for Amp Low pass filter          */
   %     char   HighPass;        /* Toggle for Amp High pass filter         */
   %     char   Notch;           /* Toggle for Amp Notch state              */
   %     char   AutoClipAdd;     /* AutoAdd on clip                         */
   %     char   baseline;        /* Baseline correct flag                   */
   %     float  offstart;        /* Start point for baseline correction     */
   %     float  offstop;         /* Stop point for baseline correction      */
   %     char   reject;          /* Auto reject flag                        */
   %     float  rejstart;        /* Auto reject start point                 */
   %     float  rejstop;         /* Auto reject stop point                  */
   %     float  rejmin;          /* Auto reject minimum value               */
   %     float  rejmax;          /* Auto reject maximum value               */
   %     char   trigtype;        /* Trigger type                            */
   %     float  trigval;         /* Trigger value                           */
   %     char   trigchnl;        /* Trigger channel                         */
   %     short int trigmask;     /* Wait value for LPT port                 */
   %     float trigisi;          /* Interstimulus interval (INT trigger)    */
   %     float trigmin;          /* Min trigger out voltage (start of pulse)*/
   %     float trigmax;          /* Max trigger out voltage (during pulse)  */
   %     char  trigdir;          /* Duration of trigger out pulse           */
   %     char  Autoscale;        /* Autoscale on average                    */
   %     short int n2;           /* Number in group 2 (MANOVA)              */
   %     char  dir;              /* Negative display up or down             */
   %     float dispmin;          /* Display minimum (Yaxis)                 */
   %     float dispmax;          /* Display maximum (Yaxis)                 */
   %     float xmin;             /* X axis minimum (epoch start in sec)     */
   %     float xmax;             /* X axis maximum (epoch stop in sec)      */
   %     float AutoMin;          /* Autoscale minimum                       */
   %     float AutoMax;          /* Autoscale maximum                       */
   %     float zmin;             /* Z axis minimum - Not currently used     */
   %     float zmax;             /* Z axis maximum - Not currently used     */
   %     float lowcut;           /* Archival value - low cut on external amp*/ 
   %     float highcut;          /* Archival value - Hi cut on external amp */ 
   %     char  common;           /* Common mode rejection flag              */
   %     char  savemode;         /* Save mode EEG AVG or BOTH               */
   %     char  manmode;          /* Manual rejection of incomming data      */
   %     char  ref[10];          /* Label for reference electode            */
   %     char  Rectify;          /* Rectification on external channel       */
   %     float DisplayXmin;      /* Minimun for X-axis display              */
   %     float DisplayXmax;      /* Maximum for X-axis display              */
   %     char  phase;            /* flag for phase computation              */
   %     char  screen[16];       /* Screen overlay path name                */
   %     short int CalMode;      /* Calibration mode                        */
   %     short int CalMethod;    /* Calibration method                      */
   %     short int CalUpdate;    /* Calibration update rate                 */
   %     short int CalBaseline;  /* Baseline correction during cal          */
   %     short int CalSweeps;    /* Number of calibration sweeps            */
   %     float CalAttenuator;    /* Attenuator value for calibration        */
   %     float CalPulseVolt;     /* Voltage for calibration pulse           */
   %     float CalPulseStart;    /* Start time for pulse                    */
   %     float CalPulseStop;     /* Stop time for pulse                     */  
   %     float CalFreq;          /* Sweep frequency                         */  
   %     char  taskfile[34];     /* Task file name                          */
   %     char  seqfile[34];      /* Sequence file path name                 */
   %     char  SpectMethod;      // Spectral method
   %     char  SpectScaling;     // Scaling employed
   %     char  SpectWindow;      // Window employed
   %     float SpectWinLength;   // Length of window %
   %     char  SpectOrder;       // Order of Filter for Max Entropy method
   %     char  NotchFilter;      // Notch Filter in or out
   %     short HeadGain;         // Current head gain for SYNAMP
   %     int   AdditionalFiles;  // No of additional files
   %     char  unused[5];        // Free space
   %     short  FspStopMethod;   /* FSP - Stoping mode                      */
   %     short  FspStopMode;     /* FSP - Stoping mode                      */
   %     float FspFValue;        /* FSP - F value to stop terminate         */
   %     short int FspPoint;     /* FSP - Single point location             */
   %     short int FspBlockSize; /* FSP - block size for averaging          */
   %     unsigned short FspP1;   /* FSP - Start of window                   */
   %     unsigned short FspP2;   /* FSP - Stop  of window                   */
   %     float FspAlpha;         /* FSP - Alpha value                       */
   %     float FspNoise;         /* FSP - Signal to ratio value             */
   %     short int FspV1;        /* FSP - degrees of freedom                */ 
   %     char  montage[40];      /* Montage file path name                  */ 
   %     char  EventFile[40];    /* Event file path name                    */ 
   %     float fratio;           /* Correction factor for spectral array    */
   %     char  minor_rev;        /* Current minor revision                  */
   %     short int eegupdate;    /* How often incomming eeg is refreshed    */ 
   %     char   compressed;      /* Data compression flag                   */
   %     float  xscale;          /* X position for scale box - Not used     */
   %     float  yscale;          /* Y position for scale box - Not used     */
   %     float  xsize;           /* Waveform size X direction               */
   %     float  ysize;           /* Waveform size Y direction               */
   %     char   ACmode;          /* Set SYNAP into AC mode                  */
   %     unsigned char   CommonChnl;   /* Channel for common waveform       */
   %     char   Xtics;           /* Scale tool- 'tic' flag in X direction   */ 
   %     char   Xrange;          /* Scale tool- range (ms,sec,Hz) flag X dir*/ 
   %     char   Ytics;           /* Scale tool- 'tic' flag in Y direction   */ 
   %     char   Yrange;          /* Scale tool- range (uV, V) flag Y dir    */ 
   %     float  XScaleValue;     /* Scale tool- value for X dir             */
   %     float  XScaleInterval;  /* Scale tool- interval between tics X dir */
   %     float  YScaleValue;     /* Scale tool- value for Y dir             */
   %     float  YScaleInterval;  /* Scale tool- interval between tics Y dir */
   %     float  ScaleToolX1;     /* Scale tool- upper left hand screen pos  */
   %     float  ScaleToolY1;     /* Scale tool- upper left hand screen pos  */
   %     float  ScaleToolX2;     /* Scale tool- lower right hand screen pos */
   %     float  ScaleToolY2;     /* Scale tool- lower right hand screen pos */
   %     short int port;         /* Port address for external triggering    */
   %     long  NumSamples;       /* Number of samples in continous file     */
   %     char  FilterFlag;       /* Indicates that file has been filtered   */
   %     float LowCutoff;        /* Low frequency cutoff                    */
   %     short int LowPoles;     /* Number of poles                         */
   %     float HighCutoff;       /* High frequency cutoff                   */ 
   %     short int HighPoles;    /* High cutoff number of poles             */
   %     char  FilterType;       /* Bandpass=0 Notch=1 Highpass=2 Lowpass=3 */
   %     char  FilterDomain;     /* Frequency=0 Time=1                      */
   %     char  SnrFlag;          /* SNR computation flag                    */
   %     char  CoherenceFlag;    /* Coherence has been  computed            */
   %     char  ContinousType;    /* Method used to capture events in *.cnt  */ 
   %     long  EventTablePos;    /* Position of event table                 */ 
   %     float ContinousSeconds; // Number of seconds to displayed per page
   %     long  ChannelOffset;    // Block size of one channel in SYNAMPS 
   %     char  AutoCorrectFlag;  // Autocorrect of DC values
   %     unsigned char DCThreshold; // Auto correct of DC level 
   %     ELECTLOC elect_tab[N_ELECT];
   %  }SETUP;

   %  Struct							% off + size
   SETUP.rev		= fread(fid,12,'*char')';		% 0 + 12
   SETUP.NextFile	= fread(fid,1,'int32')';		% 12 + 4
   SETUP.PrevFile	= fread(fid,1,'int32')';		% 16 + 4
   SETUP.type		= fread(fid,1,'char')';			% 20 + 1
   SETUP.id		= fread(fid,20,'*char')';		% 21 + 20
   SETUP.oper		= fread(fid,20,'*char')';		% 41 + 20
   SETUP.doctor		= fread(fid,20,'*char')';		% 61 + 20
   SETUP.referral	= fread(fid,20,'*char')';		% 81 + 20
   SETUP.hospital	= fread(fid,20,'*char')';		% 101 + 20
   SETUP.patient	= fread(fid,20,'*char')';		% 121 + 20
   SETUP.age		= fread(fid,1,'int16')';		% 141 + 2
   SETUP.sex		= fread(fid,1,'*char')';		% 143 + 1
   SETUP.hand		= fread(fid,1,'*char')';		% 144 + 1
   SETUP.med		= fread(fid,20,'*char')';		% 145 + 20
   SETUP.category	= fread(fid,20,'*char')';		% 165 + 20
   SETUP.state		= fread(fid,20,'*char')';		% 185 + 20
   SETUP.label		= fread(fid,20,'*char')';		% 205 + 20
   SETUP.date		= fread(fid,10,'*char')';		% 225 + 10
   SETUP.time		= fread(fid,12,'*char')';		% 235 + 12
   SETUP.mean_age	= fread(fid,1,'float32')';		% 247 + 4
   SETUP.stdev		= fread(fid,1,'float32')';		% 251 + 4
   SETUP.n		= fread(fid,1,'int16')';		% 255 + 2
   SETUP.compfile	= fread(fid,38,'*char')';		% 257 + 38
   SETUP.SpectWinComp	= fread(fid,1,'float32')';		% 295 + 4
   SETUP.MeanAccuracy	= fread(fid,1,'float32')';		% 299 + 4
   SETUP.MeanLatency	= fread(fid,1,'float32')';		% 303 + 4
   SETUP.sortfile	= fread(fid,46,'*char')';		% 307 + 46
   SETUP.NumEvents	= fread(fid,1,'int32')';		% 353 + 4
   SETUP.compoper	= fread(fid,1,'char')';			% 357 + 1
   SETUP.avgmode	= fread(fid,1,'char')';			% 358 + 1
   SETUP.review		= fread(fid,1,'char')';			% 359 + 1
   SETUP.nsweeps	= fread(fid,1,'uint16')';		% 360 + 2
   SETUP.compsweeps	= fread(fid,1,'uint16')';		% 362 + 2
   SETUP.acceptcnt	= fread(fid,1,'uint16')';		% 364 + 2
   SETUP.rejectcnt	= fread(fid,1,'uint16')';		% 366 + 2
   SETUP.pnts		= fread(fid,1,'uint16')';		% 368 + 2
   SETUP.nchannels	= fread(fid,1,'uint16')';		% 370 + 2
   SETUP.avgupdate	= fread(fid,1,'uint16')';		% 372 + 2
   SETUP.domain		= fread(fid,1,'char')';			% 374 + 1
   SETUP.variance	= fread(fid,1,'char')';			% 375 + 1
   SETUP.rate		= fread(fid,1,'uint16')';		% 376 + 2
   SETUP.scale		= fread(fid,1,'float64')';		% 378 + 8
   SETUP.veogcorrect	= fread(fid,1,'char')';			% 386 + 1
   SETUP.heogcorrect	= fread(fid,1,'char')';			% 387 + 1
   SETUP.aux1correct	= fread(fid,1,'char')';			% 388 + 1
   SETUP.aux2correct	= fread(fid,1,'char')';			% 389 + 1
   SETUP.veogtrig	= fread(fid,1,'float32')';		% 390 + 4
   SETUP.heogtrig	= fread(fid,1,'float32')';		% 394 + 4
   SETUP.aux1trig	= fread(fid,1,'float32')';		% 398 + 4
   SETUP.aux2trig	= fread(fid,1,'float32')';		% 402 + 4
   SETUP.heogchnl	= fread(fid,1,'int16')';		% 406 + 2
   SETUP.veogchnl	= fread(fid,1,'int16')';		% 408 + 2
   SETUP.aux1chnl	= fread(fid,1,'int16')';		% 410 + 2
   SETUP.aux2chnl	= fread(fid,1,'int16')';		% 412 + 2
   SETUP.veogdir	= fread(fid,1,'char')';			% 414 + 1
   SETUP.heogdir	= fread(fid,1,'char')';			% 415 + 1
   SETUP.aux1dir	= fread(fid,1,'char')';			% 416 + 1
   SETUP.aux2dir	= fread(fid,1,'char')';			% 417 + 1
   SETUP.veog_n		= fread(fid,1,'int16')';		% 418 + 2
   SETUP.heog_n		= fread(fid,1,'int16')';		% 420 + 2
   SETUP.aux1_n		= fread(fid,1,'int16')';		% 422 + 2
   SETUP.aux2_n		= fread(fid,1,'int16')';		% 424 + 2
   SETUP.veogmaxcnt	= fread(fid,1,'int16')';		% 426 + 2
   SETUP.heogmaxcnt	= fread(fid,1,'int16')';		% 428 + 2
   SETUP.aux1maxcnt	= fread(fid,1,'int16')';		% 430 + 2
   SETUP.aux2maxcnt	= fread(fid,1,'int16')';		% 432 + 2
   SETUP.veogmethod	= fread(fid,1,'char')';			% 434 + 1
   SETUP.heogmethod	= fread(fid,1,'char')';			% 435 + 1
   SETUP.aux1method	= fread(fid,1,'char')';			% 436 + 1
   SETUP.aux2method	= fread(fid,1,'char')';			% 437 + 1
   SETUP.AmpSensitivity = fread(fid,1,'float32')';		% 438 + 4
   SETUP.LowPass	= fread(fid,1,'char')';			% 442 + 1
   SETUP.HighPass	= fread(fid,1,'char')';			% 443 + 1
   SETUP.Notch		= fread(fid,1,'char')';			% 444 + 1
   SETUP.AutoClipAdd	= fread(fid,1,'char')';			% 445 + 1
   SETUP.baseline	= fread(fid,1,'char')';			% 446 + 1
   SETUP.offstart	= fread(fid,1,'float32')';		% 447 + 4
   SETUP.offstop	= fread(fid,1,'float32')';		% 451 + 4
   SETUP.reject		= fread(fid,1,'char')';			% 455 + 1
   SETUP.rejstart	= fread(fid,1,'float32')';		% 456 + 4
   SETUP.rejstop	= fread(fid,1,'float32')';		% 460 + 4
   SETUP.rejmin		= fread(fid,1,'float32')';		% 464 + 4
   SETUP.rejmax		= fread(fid,1,'float32')';		% 468 + 4
   SETUP.trigtype	= fread(fid,1,'char')';			% 472 + 1
   SETUP.trigval	= fread(fid,1,'float32')';		% 473 + 4
   SETUP.trigchnl	= fread(fid,1,'char')';			% 477 + 1
   SETUP.trigmask	= fread(fid,1,'int16')';		% 478 + 2
   SETUP.trigisi	= fread(fid,1,'float32')';		% 480 + 4
   SETUP.trigmin	= fread(fid,1,'float32')';		% 484 + 4
   SETUP.trigmax	= fread(fid,1,'float32')';		% 488 + 4
   SETUP.trigdir	= fread(fid,1,'char')';			% 492 + 1
   SETUP.AutoScale	= fread(fid,1,'char')';			% 493 + 1
   SETUP.n2		= fread(fid,1,'int16')';		% 494 + 2
   SETUP.dir		= fread(fid,1,'char')';			% 496 + 1
   SETUP.dispmin	= fread(fid,1,'float32')';		% 497 + 4
   SETUP.dispmax	= fread(fid,1,'float32')';		% 501 + 4
   SETUP.xmin		= fread(fid,1,'float32')';		% 505 + 4
   SETUP.xmax		= fread(fid,1,'float32')';		% 509 + 4
   SETUP.AutoMin	= fread(fid,1,'float32')';		% 513 + 4
   SETUP.AutoMax	= fread(fid,1,'float32')';		% 517 + 4
   SETUP.zmin		= fread(fid,1,'float32')';		% 521 + 4
   SETUP.zmax		= fread(fid,1,'float32')';		% 525 + 4
   SETUP.lowcut		= fread(fid,1,'float32')';		% 529 + 4
   SETUP.highcut	= fread(fid,1,'float32')';		% 533 + 4
   SETUP.common		= fread(fid,1,'char')';			% 537 + 1
   SETUP.savemode	= fread(fid,1,'char')';			% 538 + 1
   SETUP.manmode	= fread(fid,1,'char')';			% 539 + 1
   SETUP.ref		= fread(fid,10,'*char')';		% 540 + 10
   SETUP.Rectify	= fread(fid,1,'char')';			% 550 + 1
   SETUP.DisplayXmin	= fread(fid,1,'float32')';		% 551 + 4
   SETUP.DisplayXmax	= fread(fid,1,'float32')';		% 555 + 4
   SETUP.phase		= fread(fid,1,'char')';			% 559 + 1
   SETUP.screen		= fread(fid,16,'*char')';		% 560 + 16
   SETUP.CalMode	= fread(fid,1,'int16')';		% 576 + 2
   SETUP.CalMethod	= fread(fid,1,'int16')';		% 578 + 2
   SETUP.CalUpdate	= fread(fid,1,'int16')';		% 580 + 2
   SETUP.CalBaseline	= fread(fid,1,'int16')';		% 582 + 2
   SETUP.CalSweeps	= fread(fid,1,'int16')';		% 584 + 2
   SETUP.CalAttenuator	= fread(fid,1,'float32')';		% 586 + 4
   SETUP.CalPulseVolt	= fread(fid,1,'float32')';		% 590 + 4
   SETUP.CalPulseStart	= fread(fid,1,'float32')';		% 594 + 4
   SETUP.CalPulseStop	= fread(fid,1,'float32')';		% 598 + 4
   SETUP.CalFreq	= fread(fid,1,'float32')';		% 602 + 4
   SETUP.taskfile	= fread(fid,34,'*char')';		% 606 + 34
   SETUP.seqfile	= fread(fid,34,'*char')';		% 640 + 34
   SETUP.SpectMethod	= fread(fid,1,'char')';			% 674 + 1
   SETUP.SpectScaling	= fread(fid,1,'char')';			% 675 + 1
   SETUP.SpectWindow	= fread(fid,1,'char')';			% 676 + 1
   SETUP.SpectWinLength	= fread(fid,1,'float32')';		% 677 + 4
   SETUP.SpectOrder	= fread(fid,1,'char')';			% 681 + 1

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?