Skip to content

Commit

Permalink
Edit visibility of frames on each page
Browse files Browse the repository at this point in the history
  • Loading branch information
gurayerus committed Dec 9, 2024
1 parent af9e564 commit ae19723
Show file tree
Hide file tree
Showing 6 changed files with 287 additions and 150 deletions.
42 changes: 31 additions & 11 deletions src/viewer/pages/plot_sMRI_vars_study.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,28 @@
"""
)

# Update status of checkboxes
if '_check_view_wdir' in st.session_state:
st.session_state.checkbox['view_wdir'] = st.session_state._check_view_wdir
if '_check_view_in' in st.session_state:
st.session_state.checkbox['view_in'] = st.session_state._check_view_in
if '_check_view_select' in st.session_state:
st.session_state.checkbox['view_select'] = st.session_state._check_view_select
if '_check_view_plot' in st.session_state:
st.session_state.checkbox['view_plot'] = st.session_state._check_view_plot


def panel_wdir() -> None:
"""
Panel for selecting the working dir
"""
icon = st.session_state.icon_thumb[st.session_state.flags["dir_out"]]
show_panel_wdir = st.checkbox(
f":material/folder_shared: Working Directory {icon}", value=False
f":material/folder_shared: Working Directory {icon}",
key='_check_view_wdir',
value=st.session_state.checkbox['view_wdir']
)
if not show_panel_wdir:
if not st.session_state._check_view_wdir:
return

with st.container(border=True):
Expand All @@ -66,11 +79,16 @@ def panel_incsv() -> None:
show_panel_incsv = st.checkbox(
f":material/upload: {msg} Data {icon}",
disabled=not st.session_state.flags["dir_out"],
value=False,
key='_check_view_in',
value=st.session_state.checkbox['view_in']
)
if not show_panel_incsv:
if not st.session_state._check_view_in:
return

## Reset plots if dataframe is empty
#if st.session_state.plot_var["df_data"].shape[0]==0:


with st.container(border=True):
if st.session_state.app_type == "cloud":
st.session_state.is_updated["csv_plot"] = utilst.util_upload_file(
Expand All @@ -88,8 +106,6 @@ def panel_incsv() -> None:
st.session_state.paths["file_search_dir"],
)

print(f'aaaa {st.session_state.is_updated["csv_plot"]}')

if os.path.exists(st.session_state.paths["csv_plot"]):
p_plot = st.session_state.paths["csv_plot"]
st.success(f"Data is ready ({p_plot})", icon=":material/thumb_up:")
Expand Down Expand Up @@ -182,9 +198,10 @@ def panel_select() -> None:
show_panel_select = st.checkbox(
":material/playlist_add: Select Variables (optional)",
disabled=not st.session_state.flags["csv_plot"],
value=False,
key='_check_view_select',
value=st.session_state.checkbox['view_select']
)
if not show_panel_select:
if not st.session_state._check_view_select:
return

with st.container(border=True):
Expand Down Expand Up @@ -376,7 +393,6 @@ def show_plots(df: pd.DataFrame, btn_plots: bool) -> None:
"""
Display plots
"""

# Add a plot (a first plot is added by default; others at button click)
if st.session_state.plots.shape[0] == 0 or btn_plots:
# Select xvar and yvar, if not set yet
Expand Down Expand Up @@ -442,9 +458,10 @@ def panel_plot() -> None:
show_panel_plots = st.checkbox(
":material/bid_landscape: Plot Data",
disabled=not st.session_state.flags["csv_plot"],
key='_check_view_plot',
value=st.session_state.checkbox['view_plot']
)

if not show_panel_plots:
if not st.session_state._check_view_plot:
return

# Read dataframe
Expand All @@ -453,6 +470,9 @@ def panel_plot() -> None:
st.session_state.paths["csv_plot"]
)
df = st.session_state.plot_var["df_data"]

if df.shape[0] == 0:
return

# Add sidebar parameters
with st.sidebar:
Expand Down
61 changes: 40 additions & 21 deletions src/viewer/pages/prep_sMRI_dicomtonifti.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,36 @@

st.write("# Dicom to Nifti Conversion")

# Update status of checkboxes
if '_check_dicoms_wdir' in st.session_state:
st.session_state.checkbox['dicoms_wdir'] = st.session_state._check_dicoms_wdir
if '_check_dicoms_in' in st.session_state:
st.session_state.checkbox['dicoms_in'] = st.session_state._check_dicoms_in
if '_check_dicoms_series' in st.session_state:
st.session_state.checkbox['dicoms_series'] = st.session_state._check_dicoms_series
if '_check_dicoms_run' in st.session_state:
st.session_state.checkbox['dicoms_run'] = st.session_state._check_dicoms_run
if '_check_dicoms_view' in st.session_state:
st.session_state.checkbox['dicoms_view'] = st.session_state._check_dicoms_view
if '_check_dicoms_download' in st.session_state:
st.session_state.checkbox['dicoms_download'] = st.session_state._check_dicoms_download


def progress(p: int, i: int, decoded: Any) -> None:
with result_holder.container():
st.progress(p, f"Progress: Token position={i}")


def panel_wdir() -> None:
"""
Panel for selecting the working dir
"""
icon = st.session_state.icon_thumb[st.session_state.flags["dir_out"]]
show_panel_wdir = st.checkbox(
f":material/folder_shared: Working Directory {icon}", value=False
st.checkbox(
f":material/folder_shared: Working Directory {icon}",
key='_check_dicoms_wdir',
value=st.session_state.checkbox['dicoms_wdir']
)
if not show_panel_wdir:
if not st.session_state._check_dicoms_wdir:
return

with st.container(border=True):
Expand All @@ -53,12 +68,13 @@ def panel_indicoms() -> None:
"""
msg = st.session_state.app_config[st.session_state.app_type]["msg_infile"]
icon = st.session_state.icon_thumb[st.session_state.flags["dir_dicom"]]
show_panel_indicoms = st.checkbox(
st.checkbox(
f":material/upload: {msg} Dicoms {icon}",
disabled=not st.session_state.flags["dir_out"],
value=False,
key='_check_dicoms_in',
value=st.session_state.checkbox['dicoms_in']
)
if not show_panel_indicoms:
if not st.session_state._check_dicoms_in:
return

with st.container(border=True):
Expand Down Expand Up @@ -113,12 +129,13 @@ def panel_detect() -> None:
Panel for detecting dicom series
"""
icon = st.session_state.icon_thumb[st.session_state.flags["dicom_series"]]
show_panel_detect = st.checkbox(
st.checkbox(
f":material/manage_search: Detect Dicom Series {icon}",
disabled=not st.session_state.flags["dir_dicom"],
value=False,
key='_check_dicoms_series',
value=st.session_state.checkbox['dicoms_series']
)
if not show_panel_detect:
if not st.session_state._check_dicoms_series:
return

with st.container(border=True):
Expand Down Expand Up @@ -163,12 +180,13 @@ def panel_extract() -> None:
Panel for extracting dicoms
"""
icon = st.session_state.icon_thumb[st.session_state.flags["dir_nifti"]]
show_panel_extract = st.checkbox(
st.checkbox(
f":material/auto_awesome_motion: Extract Scans {icon}",
disabled=not st.session_state.flags["dicom_series"],
value=False,
key='_check_dicoms_run',
value=st.session_state.checkbox['dicoms_run']
)
if not show_panel_extract:
if not st.session_state._check_dicoms_run:
return

with st.container(border=True):
Expand Down Expand Up @@ -243,13 +261,13 @@ def panel_view() -> None:
"""
Panel for viewing extracted nifti images
"""

show_panel_view = st.checkbox(
st.checkbox(
":material/visibility: View Scans",
disabled=not st.session_state.flags["dir_nifti"],
value=False,
key='_check_dicoms_view',
value=st.session_state.checkbox['dicoms_view']
)
if not show_panel_view:
if not st.session_state._check_dicoms_view:
return

with st.container(border=True):
Expand Down Expand Up @@ -329,14 +347,15 @@ def panel_view() -> None:

def panel_download() -> None:
"""
Panel for viewing extracted nifti images
Panel for downloading extracted nifti images
"""
show_panel_view = st.checkbox(
st.checkbox(
":material/download: Download Scans",
disabled=not st.session_state.flags["dir_nifti"],
value=False,
key='_check_dicoms_download',
value=st.session_state.checkbox['dicoms_download']
)
if not show_panel_view:
if not st.session_state._check_dicoms_download:
return

with st.container(border=True):
Expand Down
57 changes: 37 additions & 20 deletions src/viewer/pages/process_sMRI_DLMUSE.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,30 @@
"""
)

# Update status of checkboxes
if '_check_dlmuse_wdir' in st.session_state:
st.session_state.checkbox['dlmuse_wdir'] = st.session_state._check_dlmuse_wdir
if '_check_dlmuse_in' in st.session_state:
st.session_state.checkbox['dlmuse_in'] = st.session_state._check_dlmuse_in
if '_check_dlmuse_run' in st.session_state:
st.session_state.checkbox['dlmuse_run'] = st.session_state._check_dlmuse_run
if '_check_dlmuse_view' in st.session_state:
st.session_state.checkbox['dlmuse_view'] = st.session_state._check_dlmuse_view
if '_check_dlmuse_download' in st.session_state:
st.session_state.checkbox['dlmuse_download'] = st.session_state._check_dlmuse_download


def panel_wdir() -> None:
"""
Panel for selecting the working dir
"""
icon = st.session_state.icon_thumb[st.session_state.flags["dir_out"]]
show_panel_wdir = st.checkbox(
f":material/folder_shared: Working Directory {icon}", value=False
st.checkbox(
f":material/folder_shared: Working Directory {icon}",
key='_check_dlmuse_wdir',
value=st.session_state.checkbox['dlmuse_wdir']
)
if not show_panel_wdir:
if not st.session_state._check_dlmuse_wdir:
return

with st.container(border=True):
Expand All @@ -57,12 +71,13 @@ def panel_int1() -> None:

msg = st.session_state.app_config[st.session_state.app_type]["msg_infile"]
icon = st.session_state.icon_thumb[st.session_state.flags["dir_t1"]]
show_panel_int1 = st.checkbox(
st.checkbox(
f":material/upload: {msg} T1 Images {icon}",
disabled=not st.session_state.flags["dir_out"],
value=False,
key='_check_dlmuse_in',
value=st.session_state.checkbox['dlmuse_in']
)
if not show_panel_int1:
if not st.session_state._check_dlmuse_in:
return

with st.container(border=True):
Expand Down Expand Up @@ -119,12 +134,13 @@ def panel_dlmuse() -> None:
Panel for running dlmuse
"""
icon = st.session_state.icon_thumb[st.session_state.flags["csv_dlmuse"]]
show_panel_dlmuse = st.checkbox(
st.checkbox(
f":material/new_label: Run DLMUSE {icon}",
disabled=not st.session_state.flags["dir_t1"],
value=False,
key='_check_dlmuse_run',
value=st.session_state.checkbox['dlmuse_run']
)
if not show_panel_dlmuse:
if not st.session_state._check_dlmuse_run:
return

with st.container(border=True):
Expand Down Expand Up @@ -191,12 +207,13 @@ def panel_view() -> None:
"""
Panel for viewing images
"""
show_panel_view = st.checkbox(
st.checkbox(
":material/new_label: View Scans",
disabled=not st.session_state.flags["csv_dlmuse"],
value=False,
key='_check_dlmuse_view',
value=st.session_state.checkbox['dlmuse_view']
)
if not show_panel_view:
if not st.session_state._check_dlmuse_view:
return

with st.container(border=True):
Expand Down Expand Up @@ -321,14 +338,14 @@ def panel_download() -> None:
"""
Panel for downloading results
"""
if st.session_state.app_type == "cloud":
show_panel_view = st.checkbox(
":material/new_label: Download Scans",
disabled=not st.session_state.flags["csv_dlmuse"],
value=False,
)
if not show_panel_view:
return
st.checkbox(
":material/new_label: Download Scans",
disabled=not st.session_state.flags["csv_dlmuse"],
key='_check_dlmuse_download',
value=st.session_state.checkbox['dlmuse_download']
)
if not st.session_state._check_dlmuse_download:
return

with st.container(border=True):

Expand Down
Loading

0 comments on commit ae19723

Please sign in to comment.