Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ge dev #46

Merged
merged 6 commits into from
Dec 10, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Edit variable selection panel
gurayerus committed Dec 10, 2024
commit 7734291f56c649f518d9c83142665a5620798740
2 changes: 1 addition & 1 deletion src/Image_Processing/DTI/qsiprep
2 changes: 1 addition & 1 deletion src/Image_Processing/fMRI/fmriprep
2 changes: 1 addition & 1 deletion src/Image_Processing/fMRI/xcp_d
Submodule xcp_d updated 169 files
2 changes: 1 addition & 1 deletion src/Machine_Learning/spare_score
39 changes: 20 additions & 19 deletions src/viewer/pages/plot_sMRI_vars_study.py
Original file line number Diff line number Diff line change
@@ -231,35 +231,35 @@ def panel_select() -> None:
)

if sel_cat is None:
sel_vars = []
sel_vars_cat = []
else:
sel_vars = dict_categories[sel_cat]
sel_vars = [x for x in sel_vars if x in df.columns]
sel_vars_cat = dict_categories[sel_cat]
sel_vars_cat = [x for x in sel_vars_cat if x in df.columns]

with cols_tmp[1]:
sel_vars = st.multiselect(
sel_vars_cat = st.multiselect(
"Select variables from this category",
sel_vars,
sel_vars,
sel_vars_cat,
sel_vars_cat,
help="The list shows variables that are present in the data file! If the list is empty, it means that none of the variables in this category are present in the data file.",
)

with cols_tmp[2]:
if st.button("Add selected variables"):
sel_vars_uniq = [
v for v in sel_vars if v not in st.session_state.plot_sel_vars
sel_vars_cat_uniq = [
v for v in sel_vars_cat if v not in st.session_state.plot_sel_vars
]
st.session_state.plot_sel_vars += sel_vars_uniq
st.session_state.plot_sel_vars += sel_vars_cat_uniq

sel_vars_all = st.multiselect(
sel_vars_final = st.multiselect(
"Select final variables to keep",
st.session_state.plot_sel_vars,
st.session_state.plot_sel_vars,
)

# Select the ones in current dataframe
sel_vars_all = [x for x in sel_vars_all if x in df.columns]
st.session_state.plot_sel_vars = sel_vars_all
sel_vars_final = [x for x in sel_vars_final if x in df.columns]
st.session_state.plot_sel_vars = sel_vars_final

if st.button("Select variables"):
if "MRID" not in st.session_state.plot_sel_vars:
@@ -269,14 +269,15 @@ def panel_select() -> None:
sel_vars = st.session_state.plot_sel_vars
st.success(f"Selected variables: {sel_vars}")

# Add centile vars
vars_cent = []
for tmp_var in sel_vars:
if tmp_var + '_centiles' in df.columns:
vars_cent.append(tmp_var + '_centiles')
sel_vars = sel_vars + vars_cent
st.session_state.plot_sel_vars = sel_vars

df = df[st.session_state.plot_sel_vars]
c_var=tmp_var + '_centiles'
if c_var in df.columns and c_var not in sel_vars:
vars_cent.append(c_var)
sel_vars_wcent = sel_vars + vars_cent
df = df[sel_vars_wcent]
st.session_state.plot_var["df_data"] = df

with st.expander('Show selected data', expanded=False):
@@ -291,7 +292,7 @@ def panel_select() -> None:
)
utilss.reset_plots()
st.session_state.is_updated["csv_plot"] = False

st.session_state.plot_sel_vars = []

s_title="Variable Selection"
s_text="""
15 changes: 4 additions & 11 deletions src/viewer/pages/workflow_sMRI_MLScores.py
Original file line number Diff line number Diff line change
@@ -76,15 +76,6 @@ def panel_indata() -> None:
if not st.session_state._check_ml_in:
return

show_panel_int1 = st.checkbox(
f":material/upload: {msg} T1 Images {icon}",
disabled=not st.session_state.flags["dir_out"],
key='_check_ml_in',
value=st.session_state.checkbox['ml_in']
)
if not st.session_state._check_ml_in:
return

with st.container(border=True):
if st.session_state.app_type == "cloud":
utilst.util_upload_file(
@@ -139,9 +130,11 @@ def panel_indata() -> None:
if f_check == 0:
st.session_state.flags["csv_dlmuse+demog"] = True
st.success(m_check, icon=":material/thumb_up:")
st.session_state.flags["csv_mlscores"] = True
else:
st.session_state.flags["csv_dlmuse+demog"] = False
st.error(m_check, icon=":material/thumb_down:")
st.session_state.flags["csv_mlscores"] = False

# Check the input data
@st.dialog("Input data requirements") # type:ignore
@@ -199,8 +192,8 @@ def panel_run() -> None:
"""
icon = st.session_state.icon_thumb[st.session_state.flags["csv_mlscores"]]
st.checkbox(
f":material/new_label: Run DLMUSE {icon}",
disabled=not st.session_state.flags["dir_t1"],
f":material/new_label: Run MLScores {icon}",
disabled=not st.session_state.flags["csv_mlscores"],
key='_check_ml_run',
value=st.session_state.checkbox['ml_run']
)
1 change: 1 addition & 0 deletions src/viewer/utils/utils_plot.py
Original file line number Diff line number Diff line change
@@ -196,6 +196,7 @@ def on_hvar_change():
key=f"plot_hvar_{plot_id}"
sel_val=st.session_state[key]
df_plots.loc[plot_id, "hvar"]=sel_val
df_plots.loc[plot_id, "hvals"]=[]

hind = get_index_in_list(list_cols_ext, df_plots.loc[plot_id, "hvar"])
st.selectbox(