Skip to content

Commit

Permalink
refactor(image-list): move in column visibility logic
Browse files Browse the repository at this point in the history
  • Loading branch information
PaulHax committed Oct 17, 2024
1 parent 538da8d commit 51b9fdf
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 25 deletions.
6 changes: 0 additions & 6 deletions src/nrtk_explorer/app/images/image_meta.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from typing import TypedDict
from nrtk_explorer.app.trame_utils import delete_state

ImageMetaId = str

Expand Down Expand Up @@ -31,8 +30,3 @@ def update_image_meta(state, dataset_id: str, meta_patch: PartialDatasetImageMet
if state.has(meta_key) and state[meta_key] is not None:
current_meta = state[meta_key]
state[meta_key] = {**IMAGE_META_DEFAULTS, **current_meta, **meta_patch}


def delete_image_meta(state, dataset_id: str):
meta_key = dataset_id_to_meta(dataset_id)
delete_state(state, meta_key)
14 changes: 8 additions & 6 deletions src/nrtk_explorer/app/transforms.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
r"""
Define your classes and create the instances that you need to expose
"""

import logging
from typing import Dict, Callable

Expand All @@ -15,7 +11,6 @@
import nrtk_explorer.library.nrtk_transforms as nrtk_trans
import nrtk_explorer.library.yaml_transforms as nrtk_yaml
from nrtk_explorer.library import object_detector
from nrtk_explorer.app.ui import ImageList
from nrtk_explorer.app.applet import Applet
from nrtk_explorer.app.parameters import ParametersApp
from nrtk_explorer.app.images.image_meta import update_image_meta, dataset_id_to_meta
Expand All @@ -38,7 +33,12 @@
make_stateful_annotations,
make_stateful_predictor,
)
from nrtk_explorer.app.ui.image_list import TRANSFORM_COLUMNS, ORIGINAL_COLUMNS
from nrtk_explorer.app.ui import ImageList
from nrtk_explorer.app.ui.image_list import (
TRANSFORM_COLUMNS,
ORIGINAL_COLUMNS,
init_visibile_columns,
)


logger = logging.getLogger(__name__)
Expand Down Expand Up @@ -162,6 +162,8 @@ def delete_meta_state(old_ids, new_ids):
self.state.transforms = [k for k in self._transforms.keys()]
self.state.current_transform = self.state.transforms[0]

init_visibile_columns(self.state)

# On annotations enabled, run whole pipeline to possibly compute transforms. Why? Transforms compute scores are based on original images
self.annotations_enable_control = ProcessingStep(
server,
Expand Down
23 changes: 10 additions & 13 deletions src/nrtk_explorer/app/ui/image_list.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from pathlib import Path
from trame.widgets import html, quasar, client
from trame.app import get_server
from trame.decorators import TrameApp, change
from nrtk_explorer.app.trame_utils import change_checker
from nrtk_explorer.widgets.nrtk_explorer import ImageDetection
Expand Down Expand Up @@ -38,14 +37,6 @@
]


server = get_server()
state, context, ctrl = server.state, server.context, server.controller

state.client_only("columns")
state.columns = COLUMNS
state.visible_columns = [col["name"] for col in COLUMNS]


def make_dependent_columns_handler(state, columns):
toggle_column = columns[0]
dependent_columns = columns[1:]
Expand All @@ -71,16 +62,17 @@ def column_toggler(old_columns, new_columns):
]


make_dependent_columns_handler(state, ORIGINAL_COLUMNS)


TRANSFORM_COLUMNS = [
"transformed",
"ground_truth_to_transformed_detection_score",
"original_detection_to_transformed_detection_score",
]

make_dependent_columns_handler(state, TRANSFORM_COLUMNS)

def init_visibile_columns(state):
state.visible_columns = [col["name"] for col in COLUMNS]
make_dependent_columns_handler(state, ORIGINAL_COLUMNS)
make_dependent_columns_handler(state, TRANSFORM_COLUMNS)


class ImageWithSpinner(html.Div):
Expand Down Expand Up @@ -160,10 +152,15 @@ def __init__(self, server, on_scroll, on_hover, **kwargs):
self.server = server
self.state = server.state
self.ctrl = server.controller

self.visible_ids = set()
self.scroll_callback = on_scroll
self.update_pagination()
self.state.client_only("image_size_image_list")

self.state.columns = COLUMNS
self.state.client_only("columns")

with self:
client.Style(CSS_FILE.read_text())
get_visible_ids = client.JSEval(
Expand Down

0 comments on commit 51b9fdf

Please sign in to comment.