def evaluateQuality(): data_dir = path.join(path.dirname(path.realpath(__file__)), "../example_data/") df_path = path.join(data_dir, "f_reg_quality.csv") registration_qc( df_path, value={"similarity": "Similarity"}, group={"subject": "Subject"}, repeat={"session": "Session"}, extra={"acquisition": "Acquisition"}, save_as="registration_qc.png", show=False, ) df = pd.read_csv(df_path) #model="similarity ~ C(acquisition) + C(session) + C(subject)" model = "similarity ~ C(session) + C(subject)" regression_model = smf.ols(model, data=df).fit() anova_summary = sm.stats.anova_lm(regression_model, typ=2) print(inline_anova(anova_summary, "C(subject)", style="python")) print(inline_anova(anova_summary, "C(session)", style="python", max_len=2)) #print(inline_anova(anova_summary,"C(acquisition)",style="python")) print(inline_anova(anova_summary, "C(subject)", style="tex")) print(inline_anova(anova_summary, "C(session)", style="tex", max_len=2)) #print(inline_anova(anova_summary,"C(acquisition)",style="tex")) # plotting variance results for different metrics # TODO: warum MI = 0? metrics = ['CC', 'MI', 'GC'] means = [] stds = [] for metric in metrics: df_path = path.join('/media/nexus/storage/coding/github/SAMRI/', "f_reg_quality_" + metric + ".csv") df = pd.read_csv(df_path) variances = df.groupby('subject').agg('var') std = sqrt(variances['similarity'].sum()) mean = df.groupby('subject').agg('mean')['similarity'].sum() means.append(mean) stds.append(std) print(metrics) print(means) print(stds) return metrics, means, stds
def reg_gc(): from samri.plotting.aggregate import registration_qc from samri.report.registration import iter_measure_sim from samri.typesetting import inline_anova df = iter_measure_sim( "~/ni_data/ofM.dr/preprocessing/composite", "~/.samri_files/templates/mouse/DSURQE/DSURQEc_200micron_average.nii", #modality="anat", metric="GC", radius_or_number_of_bins=0, sampling_strategy="Regular", sampling_percentage=0.5, save_as=False, ) anova_summary = registration_qc( df, value={"similarity": "Similarity"}, group={"sub": "Subject"}, repeat={"ses": "Session"}, show=False, save_as="/tmp/f_reg_gc.png", ) subject_effect = inline_anova(anova_summary, "C(Subject)", style="python") print("Subject Main Effect: {}".format(subject_effect)) session_effect = inline_anova(anova_summary, "C(Session)", style="python") print("Session Main Effect: {}".format(session_effect))
def reg_gc(): from samri.plotting.aggregate import registration_qc from samri.report.registration import iter_measure_sim from samri.typesetting import inline_anova df = iter_measure_sim( "~/ni_data/ofM.dr/preprocessing/composite", "~/.samri_files/templates/mouse/DSURQE/DSURQEc_200micron_average.nii", #modality="anat", metric="GC", radius_or_number_of_bins = 0, sampling_strategy = "Regular", sampling_percentage=0.5, save_as=False, ) anova_summary = registration_qc(df, value={"similarity":"Similarity"}, group={"sub":"Subject"}, repeat={"ses":"Session"}, show=False, save_as='/tmp/f_reg_gc.png', ) subject_effect = inline_anova(anova_summary,"C(Subject)",style="python") print("Subject Main Effect: {}".format(subject_effect)) session_effect = inline_anova(anova_summary,"C(Session)",style="python") print("Session Main Effect: {}".format(session_effect))
def test_autofind(): """We may be able to turn this into a CI function, if we put together a data fetching script for dummy (empty) BIDS-formatted data. """ from samri.utilities import bids_autofind from samri.plotting.aggregate import registration_qc from samri.report.registration import get_scores from samri.typesetting import inline_anova from samri.utilities import bids_substitution_iterator path_template, substitutions = bids_autofind("~/ni_data/ofM.dr/preprocessing/composite","func") df = get_scores(path_template, substitutions, "~/ni_data/templates/DSURQEc_200micron_average.nii", metric="CC", radius_or_number_of_bins=10, sampling_strategy="Regular", sampling_percentage=0.33, save_as=False, ) anova_summary = registration_qc(df, value={"similarity":"Similarity"}, group={"sub":"Subject"}, repeat={"ses":"Session"}, show=False, save_as="/tmp/f_reg_cc10.png", ) subject_effect = inline_anova(anova_summary,"C(Subject)",style="python") print("Subject Main Effect: {}".format(subject_effect)) session_effect = inline_anova(anova_summary,"C(Session)",style="python") print("Session Main Effect: {}".format(session_effect))
def reg_cc( radius=5, autofind=True, ): from samri.utilities import bids_autofind from samri.plotting.aggregate import registration_qc from samri.report.registration import get_scores from samri.typesetting import inline_anova from samri.utilities import bids_substitution_iterator if autofind: path_template, substitutions = bids_autofind( "~/ni_data/ofM.dr/preprocessing/composite", "func") else: substitutions = bids_substitution_iterator( ["ofM", "ofM_aF", "ofM_cF1", "ofM_cF2", "ofM_pF"], [ "4001", "4007", "4008", "4011", "5692", "5694", "5699", "5700", "5704", "6255", "6262" ], ["EPI_CBV_chr_longSOA", "EPI_CBV_jb_long"], "~/ni_data/ofM.dr/", "composite", ) path_template = "~/ni_data/ofM.dr/preprocessing/{preprocessing_dir}/sub-{subject}/ses-{session}/func/sub-{subject}_ses-{session}_trial-{trial}.nii.gz" df = get_scores( path_template, substitutions, "~/ni_data/templates/DSURQEc_200micron_average.nii", metric="CC", radius_or_number_of_bins=radius, sampling_strategy="Regular", sampling_percentage=0.33, save_as="f_reg_quality.csv", ) anova_summary = registration_qc( df, value={"similarity": "Similarity"}, group={"sub": "Subject"}, repeat={"ses": "Session"}, extra={"trial": "Type"}, model="{value} ~ C({extra}) + C({repeat}) + C({group}) -1", save_as="registration_qc.png", print_model=True, print_anova=True, show=False, ) subject_effect = inline_anova(anova_summary, "C(Subject)", style="python") print("Subject Main Effect: {}".format(subject_effect)) session_effect = inline_anova(anova_summary, "C(Session)", style="python", max_len=2) print("Session Main Effect: {}".format(session_effect)) type_effect = inline_anova(anova_summary, "C(Type)", style="python") print("Scan Type Main Effect: {}".format(type_effect))
from os import path import matplotlib.pyplot as plt from samri.plotting.aggregate import registration_qc from samri.typesetting import inline_anova this_path = path.dirname(path.realpath(__file__)) data_dir = path.join(this_path, "../../example_data/") df_path = path.join(data_dir, "f_reg_quality.csv") plt.style.use(path.join(this_path, "dark.conf")) registration_qc( df_path, value={"similarity": "Similarity"}, group={"subject": "Subject"}, repeat={"session": "Session"}, extra={"acquisition": "Type"}, save_as="2017-09_aic-pom.pdf", show=False, samri_style=False, extra_cmap=["#FFFFFF", "#000000"], cmap=["#EE1111", "#11DD11", "#1111FF", "#CCCC22", "#AA11AA"], values_rename={ "sub": "Subject", "EPI_CBV_chr_longSOA": "longer", "EPI_CBV_jb_long": "shorter", }, )
import pandas as pd import statsmodels.api as sm import statsmodels.formula.api as smf from os import path from samri.plotting.aggregate import registration_qc from samri.typesetting import inline_anova data_dir = path.join(path.dirname(path.realpath(__file__)), "../../example_data/") df_path = path.join(data_dir, "f_reg_quality.csv") registration_qc( df_path, value={"similarity": "Similarity"}, group={"subject": "Subject"}, repeat={"session": "Session"}, extra={"acquisition": "Acquisition"}, save_as="registration_qc.png", show=False, ) df = pd.read_csv(df_path) #model="similarity ~ C(acquisition) + C(session) + C(subject)" model = "similarity ~ C(session) + C(subject)" regression_model = smf.ols(model, data=df).fit() anova_summary = sm.stats.anova_lm(regression_model, typ=2) print(inline_anova(anova_summary, "C(subject)", style="python")) print(inline_anova(anova_summary, "C(session)", style="python", max_len=2)) #print(inline_anova(anova_summary,"C(acquisition)",style="python")) print(inline_anova(anova_summary, "C(subject)", style="tex"))
from os import path from samri.plotting.aggregate import registration_qc from samri.typesetting import inline_anova data_dir = path.join(path.dirname(path.realpath(__file__)),"../../example_data/") df_path = path.join(data_dir,"f_reg_quality.csv") anova_summary = registration_qc(df_path, value={"similarity":"Similarity"}, group={"sub":"Subject"}, repeat={"ses":"Session"}, extra={"trial":"Type"}, model="{value} ~ C({extra}) + C({repeat}) + C({group}) -1", save_as="registration_qc.png", print_model=True, print_anova=True, show=False, anova_type=2, ) print(inline_anova(anova_summary,"C(Subject)",style="python")) print(inline_anova(anova_summary,"C(Session)",style="python", max_len=2)) print(inline_anova(anova_summary,"C(Type)",style="python")) print(inline_anova(anova_summary,"C(Subject)",style="tex")) print(inline_anova(anova_summary,"C(Session)",style="tex", max_len=2)) print(inline_anova(anova_summary,"C(Type)",style="tex"))
data_dir = path.join(this_path, "../../example_data/") df_path = path.join(data_dir, "f_reg_quality.csv") plt.style.use(path.join(this_path, "dark.conf")) anova_summary = registration_qc( df_path, value={"similarity": "Similarity"}, group={"sub": "Subject"}, repeat={"ses": "Session"}, extra={"trial": "Type"}, model="{value} ~ C({extra}) + C({repeat}) + C({group}) -1", save_as="2017-09_aic-pom.pdf", print_model=True, print_anova=True, show=False, anova_type=3, samri_style=False, extra_cmap=["#FFFFFF", "#000000"], cmap=["#EE1111", "#11DD11", "#1111FF", "#CCCC22", "#AA11AA"], values_rename={ "sub": "Subject", "EPI_CBV_chr_longSOA": "longer", "EPI_CBV_jb_long": "shorter", }, ) print(inline_anova(anova_summary, "C(Subject)", style="python")) print(inline_anova(anova_summary, "C(Session)", style="python", max_len=2)) print(inline_anova(anova_summary, "C(Type)", style="python")) print(inline_anova(anova_summary, "C(Subject)", style="tex"))