mirror of
https://github.com/nerfstudio-project/nerfstudio.git
synced 2026-11-14 11:54:01 +08:00
wip
This commit is contained in:
1 parent
770d843d9b
commit
9352d88f17
2 files changed
+38
-2
No files matched your search
@@ -14,18 +14,49 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import dataclasses
|
||||
from pathlib import Path
|
||||
|
||||
from typing import Literal
|
||||
|
||||
import viser
|
||||
|
||||
from nerfstudio.models.base_model import Model
|
||||
from nerfstudio.models.splatfacto import SplatfactoModel
|
||||
from nerfstudio.viewer.control_panel import ControlPanel
|
||||
from nerfstudio.viewer.viewer_elements import ViewerPlot
|
||||
|
||||
@dataclasses.dataclass
|
||||
class MetricsPanel:
|
||||
server: viser.ViserServer
|
||||
control_panel: ControlPanel
|
||||
config_path: Path
|
||||
viewer_model: Model
|
||||
|
||||
def populate_metrics_tab(
|
||||
server: viser.ViserServer,
|
||||
control_panel: ControlPanel,
|
||||
config_path: Path,
|
||||
viewer_model: Model,
|
||||
) -> None:
|
||||
pass
|
||||
viewing_gsplat = isinstance(viewer_model, SplatfactoModel)
|
||||
|
||||
with server.add_gui_folder("Training Metrics"):
|
||||
populate_train_metrics_tab(server, control_panel, config_path, viewing_gsplat)
|
||||
# with server.add_gui_folder("Training Loss"):
|
||||
# populate_train_loss_tab(server, control_panel, config_path, viewing_gsplat)
|
||||
#training rays?
|
||||
# with server.add_gui_folder("Eval Metrics"):
|
||||
# populate_eval_metrics_tab(server, control_panel, config_path, viewing_gsplat)
|
||||
# with server.add_gui_folder("Eval Metrics (All Images)"):
|
||||
# populate_eval_metrics_all_images_tab(server, control_panel, config_path, viewing_gsplat)
|
||||
# with server.add_gui_folder("Eval Loss"):
|
||||
# populate_eval_loss_tab(server, control_panel, config_path, viewing_gsplat)
|
||||
|
||||
|
||||
def populate_train_metrics_tab(
|
||||
server: viser.ViserServer,
|
||||
control_panel: ControlPanel,
|
||||
config_path: Path,
|
||||
viewing_gsplat: bool,
|
||||
) -> None:
|
||||
ViewerPlot()
|
||||
@@ -40,6 +40,7 @@ from nerfstudio.utils.decorators import check_main_thread, decorate_all
|
||||
from nerfstudio.utils.writer import GLOBAL_BUFFER, EventName
|
||||
from nerfstudio.viewer.control_panel import ControlPanel
|
||||
from nerfstudio.viewer.export_panel import populate_export_tab
|
||||
from nerfstudio.viewer.metrics_panel import populate_metrics_tab
|
||||
from nerfstudio.viewer.render_panel import populate_render_tab
|
||||
from nerfstudio.viewer.render_state_machine import RenderAction, RenderStateMachine
|
||||
from nerfstudio.viewer.utils import CameraState, parse_object
|
||||
@@ -199,6 +200,7 @@ class Viewer:
|
||||
self._output_split_type_change,
|
||||
default_composite_depth=self.config.default_composite_depth,
|
||||
)
|
||||
|
||||
config_path = self.log_filename.parents[0] / "config.yml"
|
||||
with tabs.add_tab("Render", viser.Icon.CAMERA):
|
||||
self.render_tab_state = populate_render_tab(
|
||||
@@ -208,6 +210,9 @@ class Viewer:
|
||||
with tabs.add_tab("Export", viser.Icon.PACKAGE_EXPORT):
|
||||
populate_export_tab(self.viser_server, self.control_panel, config_path, self.pipeline.model)
|
||||
|
||||
with tabs.add_tab("Metrics", viser.Icon.GRAPH):
|
||||
populate_metrics_tab(self.viser_server, self.control_panel, config_path, self.pipeline.model)
|
||||
|
||||
# Keep track of the pointers to generated GUI folders, because each generated folder holds a unique ID.
|
||||
viewer_gui_folders = dict()
|
||||
|
||||
|
||||
Reference in new issue
Block a user