classdef SimpleClass < handle & Utilities.StructableHierarchy & Utilities.Structable % Transform nsX file into wavelet features sampled at the task % intervals. % this uses the standard {nspIDX}{FeatureIDX} format for the output. properties (GetAccess = 'public', SetAccess = 'public') % parameters dec=Predictor.FWClassifier(@Analyze.FaceScratch.ClassifierConfig); overwrite=0 CondType = {'R','Imag'}; Type='Classification'; % Correlatin end properties (GetAccess = 'public', SetAccess = 'private') % parameters cvAccuracy % CAR pca coefs timewindow % CAR pca score for CARinds end methods function obj=SimpleClass(varargin) [varargin]=Utilities.argobjprop(obj,varargin); Utilities.argempty(varargin) end function [out,SaveID]=fit_transform(obj,basename,FRTrue,LabelTrue,timeWindow,varargin) % transform braodband data to features binned at the same time % intervals as the task file. SaveID=sprintf('%s_FaceScratch', basename); Basedir=fullfile(env.get('result'),'FaceScratch','ImagExp'); if exist(fullfile(Basedir,[SaveID '.mat'])) && ~obj.overwrite disp('file exists - loading') tmp=load(fullfile(Basedir,SaveID)) out.cvAccuracy=tmp.cvAccuracy; out.timeWindow=tmp.timeWindow; return end opts.cvOptions.ValidationType='ClassicCrossValidation'; opts.cvOptions.NReps=10; opts.cvOptions.NFolds=10; obj.dec.Train('TrainingData',... {FRTrue,[1:length(LabelTrue)],LabelTrue},'CrossValidate','cvOptions',opts.cvOptions); out.BootCI=obj.dec.getBootCI; out.cvAccuracy=obj.dec.Results.cvAccuracy; out.confusionMat=obj.dec.Results.ConfusionMat; save(fullfile(Basedir,SaveID),'-struct','out') end function plotAcc(obj,varargin) [varargin,basename] = Utilities.ProcVarargin(varargin,'basename',[]); plt.fig('units','inches','width',4,'height',4,'font','Helvetica','fontsize',16) obj.dec.plotConfusion axis image colormap(cool) if ~isempty(basename) SaveID=sprintf('%s_FaceScratch', basename); Basedir=fullfile(env.get('result'),'FaceScratch','ImagExp','Figs'); plt.SaveFigure(1,Basedir,SaveID,'PDF') end end function Z=transform(obj,Z) end end methods(Static) function Raw2Wavelet() end end end