Source code for NiBAx.plugins.loadsave.dataio

# This Python file uses the following encoding: utf-8
"""
contact: software@cbica.upenn.edu
Copyright (c) 2018 University of Pennsylvania. All rights reserved.
Use of this source code is governed by license located in license file: https://github.com/CBICA/NiBAx/blob/main/LICENSE
"""

import pandas as pd
import joblib
import os, sys
from NiBAx.core import iStagingLogger

[docs]logger = iStagingLogger.get_logger(__name__)
[docs]class DataIO: def __init__(self): pass
[docs] def ReadPickleFile(self,filename): logger.info("Loading pickle file ...") data = pd.read_pickle(filename) return data
[docs] def ReadCSVFile(self,filename): logger.info("Loading CSV file ...") data = pd.read_csv(filename) return data
[docs] def SavePickleFile(self,data,filename): data.to_pickle(filename)
[docs] def ReadMUSEDictionary(self): # Load MUSE dictionary file MUSEDictfile = os.path.join(os.path.dirname(__file__), 'MUSE_ROI_Dictionary.csv') MUSEDict = pd.read_csv(MUSEDictfile) # Create lookup from name to ID and vice-versa # e.g. name to ID: Hippocampus right -> MUSE_Volume_48 MUSEDictNAMEtoID = dict(zip(MUSEDict['ROI_NAME'], MUSEDict['ROI_COL'])) # e.g. ID to name; MUSE_Volume_48 -> Hippocampus right MUSEDictIDtoNAME = dict(zip(MUSEDict['ROI_COL'], MUSEDict['ROI_NAME'])) MUSEDictDataFrame = MUSEDict logger.info('MUSE dictionary read from file: %s', MUSEDictfile) return MUSEDictNAMEtoID, MUSEDictIDtoNAME, MUSEDictDataFrame
[docs] def ReadDerivedMUSEMap(self): # Load MUSE dictionary file DerivedMapfile = os.path.join(os.path.dirname(__file__), 'MUSE_DerivedROIs_Mappings.csv') DerivedMUSEMap = pd.read_csv(DerivedMapfile, header=None, engine='python').reset_index().rename(columns={'level_0':'ROI_INDEX','level_1':'ROI_NAME'}).set_index('ROI_INDEX').drop(columns=['ROI_NAME']) logger.info('Derived MUSE dictionary read from file: %s', DerivedMapfile) return DerivedMUSEMap
[docs] def ReadSPAREModel(self, filename): with open(filename, "rb") as file: BrainAgeModel, ADModel = joblib.load(filename) return BrainAgeModel, ADModel