[Eeglablist] Subject: Collaboration Opportunity: EEG Analysis in Schizophrenia vs. Healthy Controls
נתי שטרן
nsh531 at gmail.com
Thu Aug 14 22:21:58 PDT 2025
Dear EEGLAB community,
I am currently developing *Java-based tools* for the analysis of *clinical
EEG data*, specifically comparing *schizophrenia patient recordings against
healthy control groups*. The goal is to build *robust, reproducible
pipelines* for preprocessing, feature extraction, statistical analysis, and
machine learning-based classification to support psychiatric research and
potential clinical applications.
We are particularly interested in expertise from researchers experienced
with:
-
EEGLAB plugins and workflows for preprocessing, artifact rejection, and
feature extraction.
-
High-density and wearable EEG systems across multiple channels.
-
Integrating machine learning pipelines (classification, feature
selection, cross-validation) into EEG analysis.
-
Handling *clinical datasets*, particularly de-identified schizophrenia
vs. healthy control EEG recordings.
To illustrate the workflow in Java, here is a simple example using *EEG
feature extraction and classification* with Weka:
import weka.classifiers.trees.RandomForest;
import weka.core.Instances;
import weka.core.converters.ConverterUtils.DataSource;
import weka.filters.Filter;
import weka.filters.unsupervised.attribute.Standardize;
public class EEGClassifier {
public static void main(String[] args) throws Exception {
// Load dataset (e.g., features extracted from EEG epochs)
DataSource source = new DataSource("eeg_features.arff");
Instances data = source.getDataSet();
// Set class index (last attribute is the label: 0 = control,
1 = schizophrenia)
if (data.classIndex() == -1)
data.setClassIndex(data.numAttributes() - 1);
// Standardize features
Standardize standardize = new Standardize();
standardize.setInputFormat(data);
Instances standardizedData = Filter.useFilter(data, standardize);
// Split into training and test sets
int trainSize = (int) Math.round(standardizedData.numInstances() * 0.8);
int testSize = standardizedData.numInstances() - trainSize;
Instances train = new Instances(standardizedData, 0, trainSize);
Instances test = new Instances(standardizedData, trainSize, testSize);
// Train classifier
RandomForest rf = new RandomForest();
rf.setNumTrees(100);
rf.buildClassifier(train);
// Evaluate on test set
int correct = 0;
for (int i = 0; i < test.numInstances(); i++) {
double pred = rf.classifyInstance(test.instance(i));
if (pred == test.instance(i).classValue()) correct++;
}
double accuracy = 100.0 * correct / test.numInstances();
System.out.println("Test set accuracy: " + accuracy + "%");
}
}
This workflow can be extended to include:
-
*Time-domain, frequency-domain, and nonlinear features*
-
*Cross-validation and hyperparameter tuning*
-
Integration with *EEGLAB preprocessing outputs* via exported feature
files (.mat or .csv)
If you have experience with *relevant clinical EEG datasets*, or have
developed EEGLAB tools for similar purposes, I would greatly appreciate the
opportunity to discuss potential collaboration, share ideas, and explore
methodological alignment.
Please feel free to reach out at *nsh531 at gmail.com <nsh531 at gmail.com>* for
more details about the project and Java-based analysis pipelines.
Thank you for your time and consideration. I look forward to connecting
with members of the EEGLAB community who have relevant expertise.
Best regards,
Netanel
More information about the eeglablist
mailing list