Metadata-Version: 2.1
Name: relationship_structure_identification
Version: 0.0.1
Summary: Implementation of our method for identifying the relationship structure among multiple datasets
Home-page: https://github.com/SSTGroup/relationship_structure_identification
Author: Isabell Lehmann
Author-email: isabell.lehmann@sst.upb.de
License: LICENSE
Keywords: independent vector analysis,
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: pytest
Requires-Dist: matplotlib
Requires-Dist: independent_vector_analysis
Requires-Dist: argparse
Requires-Dist: scikit-learn
Requires-Dist: pathlib

# Simulations to identify the relationship structure among multiple datasets using Independent Vector Analysis

This package contains the code for reproducing the simulations of our paper:

Isabell Lehmann, Tanuj Hasija, Ben Gabrielson, M. A. B. S. Akhonda, Vince D. Calhoun, TÃ¼lay Adali,
**Identifying the Relationship Structure among Multiple Datasets Using Independent Vector Analysis: Application to Multi-task fMRI Data**, *submitted in 2023*


## Installing this Package

The only pre-requisite is to have **Python 3** (version >=3.11) installed. This package can be
installed (optionally in a virtual environment) with:

    git clone https://github.com/SSTGroup/relationship_structure_identification
    cd relationship_structure_identification
    pip install -e .

Required third-party packages will automatically be installed.


## Generating Simulations and Results

The simulated data is generated with:

    cd relationship_structure_identification
    python simulations.py @../simulations/simulation_parameters.txt

After running the code, the folder *relationship_structure_identification/simulations* will contain the generated .npy files,
consisting of the true data and the estimated results for IVA-L-SOS, the bootstrap and the clustering, for each Monte-Carlo run.

Then, the performance metrics are calcuted with (from the relationship_structure_identification folder):

    python performance_metrics.py @../simulations/performance_parameters.txt

The .npy files containing the performace metrics will also be saved in the *simulations* folder.


## Visualizing Results

After having calculated the performance metrics, the boxplots can be generated by running the
notebook.
The *metrics_rhoxx.npy* files must be in the *simulations* folder. 


## Changing Parameters

By changing the scenario in *parameters.txt*, the simulations for different values of 'rho' are generated.
The other parameters are set to the values according to the simulations in our paper.
The default values can be changed by adding the parameters to the *simulation_parameters.txt* or
*performance_parameters.txt* files.


## Contact

In case of questions, suggestions, problems etc. please send an email to isabell.lehmann@sst.upb.de,
or open an issue here on Github.


## Citing

If you use this code in an academic paper, please cite [1]

    @article{Lehmann2023,
      title   = {Identifying the Relationship Structure among Multiple Datasets Using Independent Vector Analysis: Application to Multi-task fMRI Data},
      author  = {Lehmann, Isabell and Hasija, Tanuj and Gabrielson, Ben and Akhonda, M. A. B. S. and Calhoun, Vince D. and Adali, T{\"u}lay},
      booktitle={tba},
      pages={tba},
      year={2023}
      } 

[1] Isabell Lehmann, Tanuj Hasija, et al.,
**Identifying the Relationship Structure among Multiple Datasets Using Independent Vector Analysis: Application to Multi-task fMRI Data**,
*submitted in 2023*.



