NEMO ERP Analysis Toolkit ERP Pattern Decomposition An Overview
NEMO processing pipeline 2/11/11NEMO NIH Annual All-Hands Meeting2
NEMO Data Analysis 2/11/11NEMO NIH Annual All-Hands Meeting3
NEMO Information Processing Pipeline ERP Pattern Extraction, Identification and Labeling Obtain ERP data sets with compatible functional constraints – NEMO consortium data Decompose / segment ERP data into discrete spatio-temporal patterns – ERP Pattern Decomposition / ERP Pattern Segmentation Mark-up patterns with their spatial, temporal & functional characteristics – ERP Metric Extraction Meta-Analysis Extracted ERP pattern labeling Extracted ERP pattern clustering Protocol incorporates and integrates: ERP pattern extraction ERP metric extraction/RDF generation NEMO Data Base (NEMO Portal / NEMO FTP Server) NEMO Knowledge Base (NEMO Ontology/Query Engine)
ERP Pattern Decomposition Tool MATLAB and Directory Configuration Get Latest Toolkit Version (NEMO Wiki : Screencasts : Versions ) – Update your local (working) copy of the NEMO Sourceforge Repository Configure MATLAB (NEMO Wiki : Screencasts : NEMO ERP Analysis Toolkit I) – MATLAB R2010a / R2010b, Optimization and Statistics Toolboxes – Add to the MATLAB path, with subfolders: NEMO_ERP_Dataset_Import / NEMO_ERP_Dataset_Information NEMO_ERP_Metric_Extraction / NEMO_ERP_Pattern_Decomposition / NEMO_ERP_Pattern_Segmentation Configure Experiment Folder (NEMO Wiki : Screencasts : NEMO ERP Analysis Toolkit I & II) – Create an experiment-specific parent folder containing Data, Metric Extraction, Pattern Decomposition and Pattern Segmentation subfolders – Copy the metric extraction, decomposition and segmentation script templates from your NEMO Sourceforge Repository working copy to their respective script subfolders – Add the experiment-specific parent folder, with its subfolders, to the MATLAB path
File_Name Electrode_Montage_ID Cell_Index Factor_Index ERP_Onset_Latency ERP_Offset_Latency ERP_Baseline_Latency ERP Pattern Decomposition Tool Metascript Configuration – Step 1 of 7: Data Parameters
File_Name – Name of an EGI segmented simple binary file, as a single-quoted string Example: ‘SimErpData.raw’ At present, Metric Extraction only accepts factor files from the Pattern Decomposition tool Electrode_Montage_ID – Name of an EGI/Biosemi electrode montage file, as a single-quoted string Valid montage strings: ‘GSN-128’, ‘GSN-256’, ‘HCGSN-128’, ‘HCGSN-256’, ‘Biosemi-64+5exg’, ‘Biosemi-64-sansNZ_LPA_RPA’ The NEMO ERP Analysis Toolkit will require EEGLAB channel location file (.ced) format for all proprietary, user-specified, montages Cell_Index – Indices of cells / conditions to import, as a MATLAB vector Indices correspond to the ordering of cells in the data file See Metric_obj.Dataset.Metadata.SrcFileInfo.Cellcode for the ordered list of conditions Factor_Index – Indices of PCA factors to import, as a MATLAB vector Indices correspond to the ordering of factors in the data file ERP Pattern Decomposition Tool Metascript Configuration – Step 1 of 7: Data Parameters
ERP_Onset_Latency – Time, in milliseconds, of the first ERP sample point to import, as a MATLAB scalar 0 ms = stimulus onset Positive values specify post-stimulus time points, negative values pre-stimulus time points All latencies must be in integer multiples of the sampling interval (for example, +’ve / -’ve multiples of Hz) ERP_Offset_Latency – Time, in milliseconds, of the last ERP sample point to import, as a MATLAB scalar 0 ms = stimulus onset Positive values specify post-stimulus time points, and must be greater than the ERP_Onset_Latency ERP_Offset_Latency must not exceed the final data sample point (for example, a 1000 ms ERP with a 200 ms baseline: maximum 800 ms ERP_Offset_Latency) ERP_Baseline_Latency – Time, in negative milliseconds, of the pre-stimulus ERP sample points to exclude from import, as a MATLAB scalar ERP_Baseline_Latency = 0 no baseline To import pre-stimulus sample points, specify ERP_Baseline_Latency < ERP_Onset_Latency < 0 All latencies must be within the data range (for example, a 1000 ms ERP with a 200 ms baseline: ERP_Baseline_Latency = -200 ms, ERP_Onset_Latency = 0 ms and ERP_Offset_Latency = 800 ms imports the 800 ms post-stimulus interval, including stimulus onset) ERP Pattern Decomposition Tool Metascript Configuration – Step 1 of 7: Data Parameters
ERP Pattern Decomposition Tool Metascript Configuration – Step 2 of 7: Experiment Parameters (Required) Lab_ID Experiment_ID Session_ID Subject_Group_ID Subject_ID Experiment_Info
ERP Pattern Decomposition Tool Metascript Configuration – Step 2 of 7: Experiment Parameters (Required) Lab_ID – Laboratory identification label, as a single-quoted string Example: ‘My Simulated Lab’ Experiment_ID – Experiment identification label, as a single-quoted string Example: ‘My Simulated Experiment’ Session_ID – Session identification label, as a single-quoted string Example: ‘My Simulated Session’ Subject_Group_ID – Subject group identification label, as a single-quoted string Example: ‘My Simulated Subject Group’ Subject_ID – Subject identification label, as a single-quoted string Example: ‘My Simulated Subject # 1’ Experiment_Info – Experiment note, as a single-quoted string Example: ‘tPCA with Infomax rotation’
ERP Pattern Decomposition Tool Metascript Configuration – Step 3 of 7: Experiment Parameters (Optional) Event_Type_Label Stimulus_Type_Label Stimulus_Modality_Label Cell_Label_Descriptor
ERP Pattern Decomposition Tool Metascript Configuration – Step 3 of 7: Experiment Parameters (Optional) Event_Type_Label – MATLAB cell array of cell/condition event type labels One label per cell/condition, as a single-quoted string Example: {‘SimEventType1’, ‘SimEventType2’, ‘SimEventType3’} Stimulus_Type_Label – MATLAB cell array of cell/condition stimulus type labels One label per cell/condition, as a single-quoted string Example: {‘SimStimulusType1’, ‘SimStimulusType2’, ‘SimStimulusType3’} Stimulus_Modality_Label – MATLAB cell array of cell/condition stimulus modality labels One label per cell/condition, as a single-quoted string Example: {‘SimStimulusModality1’, ‘SimStimulusModality2’, ‘SimStimulusModality3’} Cell_Label_Descriptor – MATLAB cell array of cell/condition description labels One label per cell/condition, as a single-quoted string Optional Labels: E-prime assigned cell codes imported from input data file Example: {‘SimConditionDescription1’, ‘SimConditionDescription2’, ‘SimConditionDescription3’}
ERP Pattern Decomposition Tool Metascript Configuration – Step 4 of 7: Stage 1 Component Decomposition Parameters PCAmode MAT_TYPE ROTATION LOADING NUM_FAC SORTOPT GAVE Stage 1 tPCA
ERP Pattern Decomposition Tool Metascript Configuration – Step 4 of 7: Stage 1 Component Decomposition Parameters PCAmode – Specifies the PCA mode, as a single-quoted string ‘temp’: Temporal PCA, in which time points are variables ‘spat’: Spatial PCA, in which channel voltages are variables MAT_TYPE – Specifies the PCA eigenvector/relationship matrix, as a single-quoted string ‘COV’: Covariance matrix (mean correction) ‘COR’: Correlation matrix (mean + variance correction) ‘SCP’: Sum of squares cross product (no mean/variance correction) ROTATION – Specifies the PCA factor rotation type, as a single-quoted string ‘IMAX’: Infomax - ”Statistically Independent” factor loadings via high-order statistics ‘VMAX’: Varimax - Maximal variance factor loadings subject to orthogonality constraint ‘PMAX’: Promax - Relaxes factor orthogonality constraint of relationship matrix eigenvectors Promax rotation is automatically applied subsequent to Varimax rotation when ROTATION = ‘VMAX’
ERP Pattern Decomposition Tool Metascript Configuration – Step 4 of 7: Stage 1 Component Decomposition Parameters LOADING – Specifies factor loading type, the rotated factor loading scaling transform, as a single-quoted string ‘N’: None ‘K’: Kaiser ‘C’: Covariance ‘W’: Cureton-Mulaik NUM_FAC – Specifies the number of PCA factors to rotate, as a MATLAB scalar For sPCA: 1.LE. NUM_FAC.LE. number of electrode channels For tPCA: 1.LE. NUM_FAC.LE. number of imported ERP time points SORTOPT – Specifies the ordering (sort) of post-rotation PCA factors, as a single quoted string ‘PreRot’: Sort in order of decreasing pre-rotation (eigenvector) factor variance ‘FacVar’: Sort in order of decreasing post-rotation factor variance, via FacVar parameter GAVE – Optionally perform analysis on grand average data ‘N’: Perform analysis on subject average data only ‘Y’: Perform analysis on grand average data; convert factor scores to subject average form for export
ERP Pattern Decomposition Tool Metascript Configuration – Step 4 of 7: Stage 2 Component Decomposition Parameters MAT_TYPE_st ROTATION_st LOADING_st NUM_FAC_st SORTOPT_st Stage 1 tPCA _st spatio-temporal or stage 2 PCA parameters
ERP Pattern Decomposition Tool Metascript Configuration – Step 4 of 7: Stage 2 Component Decomposition Parameters PCAmode – Specifies the PCA mode, as a single-quoted string ‘temp’: Temporal PCA, in which time points are variables ‘spat’: Spatial PCA, in which channel voltages are variables MAT_TYPE_st – Specifies the PCA eigenvector/relationship matrix, as a single-quoted string ‘COV’: Covariance matrix (mean correction) ‘COR’: Correlation matrix (mean + variance correction) ‘SCP’: Sum of squares cross product (no mean/variance correction) ROTATION_st – Specifies the PCA factor rotation type, as a single-quoted string ‘IMAX’: Infomax - ”Statistically Independent” factor loadings via high-order statistics ‘VMAX’: Varimax - Maximal variance factor loadings subject to orthogonality constraint ‘PMAX’: Promax - Relaxes factor orthogonality constraint of relationship matrix eigenvectors Promax rotation is automatically applied subsequent to Varimax rotation when ROTATION = ‘VMAX’ Stage 1 tPCA Stage 2 sPCA Stage 1 sPCA Stage 2 tPCA
ERP Pattern Decomposition Tool Metascript Configuration – Step 4 of 7: Stage 2 Component Decomposition Parameters LOADING_st – Specifies factor loading type, the rotated factor loading scaling transform, as a single-quoted string ‘N’: None ‘K’: Kaiser ‘C’: Covariance ‘W’: Cureton-Mulaik NUM_FAC_st – Specifies the number of PCA factors to rotate, as a MATLAB scalar 1.LE. NUM_FAC_st.LE. NUM_FAC (Number of stage 1 factors to rotate) SORTOPT_st – Specifies the ordering (sort) of post-rotation PCA factors, as a single quoted string ‘PreRot’: Sort in order of decreasing pre-rotation (eigenvector) factor variance ‘FacVar’: Sort in order of decreasing post-rotation factor variance, via FacVar parameter GAVE – Optionally perform analysis on grand average data ‘N’: Perform analysis on subject average data only ‘Y’: Perform analysis on grand average data; convert factor scores to subject average form for export Specified in Stage 1
ERP Pattern Decomposition Tool Metascript Configuration – Step 5 of 7: Export to EGI Simple Binary Parameters Num_Fac_Export Num_Fac_Export_st Cell_IO_Rule Output_File_Type Grand_Avg_Add Exclude_Channel Stage 1 Stage 2
ERP Pattern Decomposition Tool Metascript Configuration – Step 5 of 7: Export to EGI Simple Binary Parameters Num_Fac_Export / Num_Fac_Export_st – Specifies the number of stage 1 / stage 2 PCA factors to export, as a MATLAB scalar 1.LE. Num_Fac_Export.LE. NUM_FAC (# of stage 1 PCA factors to rotate) 1.LE. Num_Fac_Export_st.LE. NUM_FAC_st (# of stage 2 PCA factors to rotate) Cell_IO_Rule – Specifies the input cell to output cell rule, as a 2D MATLAB array Output cell x input cell logical indexing matrix Type.HelpTopic(‘PCAtoEgiSbin’) For Detail Output_File_Type – Specifies the output PCA factor file type, as a single quoted string ‘G’: Grand average factor file (Average across subject factors for each cell type | 1 file) ‘S’: Subject average factor file (Subject-specific factors for each cell type | 1 file per subject) Grand_Avg_Add – Specifies option to add grand average to factor reconstructions ‘N’: Do not add grand average to factor reconstructions ‘Y’: Add grand average to factor reconstructions Exclude_Channel – List of peri-ocular or midline channels to omit in ANOVA (N/A = []), as a MATLAB vector
ERP Pattern Decomposition Tool Metascript Configuration – Step 6 of 7: Class Instantiation I Instantiate EGI reader class object Initialize object parameters Import metadata Import signal (ERP) data
ERP Pattern Decomposition Tool Metascript Configuration – Step 6 of 7: Class Instantiation I (EP Toolkit) Instantiate EGI reader class object Initialize object parameters Import metadata and signal (ERP) data via EPToolkit’s ep_readData
ERP Pattern Decomposition Tool Metascript Configuration – Step 6 of 7: Class Instantiation II Instantiate Pattern Decomposition class object Initialize object parameters
ERP Pattern Decomposition Tool Metascript Configuration – Step 7 of 7: Class Invocation Call ComputeTwoStagePCA method: Two stage PCA decomposition Call OneStagePCAtoEgiSbin method: Export One stage PCA decomposition results Call TwoStagePCAtoEgiSbin method: Export Two stage PCA decomposition results Call PlotFactorVariance method: Plot unrotated factor scree and rotated factor variance
ERP Pattern Decomposition Tool Metascript Configuration – Step 7 of 7: Class Invocation (EP Toolkit) Call ComputeTwoStagePCA method: Two stage PCA decomposition Call OneStagePCAtoEgiSbin method: Export One stage PCA decomposition results Call TwoStagePCAtoEgiSbin method: Export Two stage PCA decomposition results Call TwoStagePCAtoEPworkCache method: Exports EPworkCache folder Call PlotFactorVariance method: Plot unrotated factor scree and rotated factor variance
ERP Pattern Decomposition Tool Plot Factor Variance GUI
Pattern Decomposition output folder contents – RAW files tPCA: InputDataFile_tPCA_GAV/AVG.raw sPCA: InputDataFile_sPCA_GAV/AVG.raw stPCA/tsPCA: InputDataFile_stPCA/tsPCA_GAV/AVG.raw – Epwork Folder: EP Toolkit integration folder (if used EPT_readData) – NemoErpPatternDecompostion workspace object in MATLAB (.mat) format ERP Pattern Decomposition Tool Folder Output for SimErpData.raw Input data fileTime stamp
ERP Pattern Decomposition Tool Viewing Pattern Decomposition Class Properties in MATLAB MATLAB Workspace view NemoErpPatternDecomposition object EgiRawIO object Double click to open…
ERP Pattern Decomposition Tool Viewing Pattern Decomposition Class Properties in MATLAB EPreadDataInput: MATLAB structure of input parameters to ep_readData Epdata: MATLAB structure of output data and metadata from ep_readData EGIreadDataInput: MATLAB structure of (optional) input parameters to EGI_readData and EGI_readMetaData Metadata: MATLAB structure of output metadata from EGI_readMetadata Data: MATLAB structure of output data from EGI_readData Keep on double clicking … MATLAB Workspace view
ERP Pattern Decomposition Tool Viewing Pattern Decomposition Class Properties in MATLAB EPdoPCAInput: MATLAB structure of input parameters to ep_doPCA FactorResults: MATLAB structure of output factor decomposition and metadata from ep_doPCA EPdoPCAstInput: MATLAB structure of input parameters to second PCA step (ep_doPCAst) FactorResultsST: MATLAB structure of output factor decomposition and metadata from second PCA step (ep_doPCAst) PCAtoEgiSbin: MATLAB structure of input parameters to OneStagePCAtoEgiSbin / TwoStagePCAtoEgiSbin Keep on double clicking … MATLAB Workspace view