diff --git a/nerfstudio/engine/trainer.py b/nerfstudio/engine/trainer.py index 30945a4c7..49879c31d 100644 --- a/nerfstudio/engine/trainer.py +++ b/nerfstudio/engine/trainer.py @@ -122,7 +122,9 @@ class Trainer: viewer_log_path = self.base_dir / config.viewer.relative_log_filename self.viewer_state, banner_messages = None, None if self.config.is_viewer_enabled() and local_rank == 0: - self.viewer_state, banner_messages = viewer_utils.setup_viewer(config.viewer, log_filename=viewer_log_path) + self.viewer_state, banner_messages = viewer_utils.setup_viewer( + config.viewer, log_filename=viewer_log_path, datapath=config.pipeline.datamanager.dataparser.data + ) self._check_viewer_warnings() # set up writers/profilers if enabled writer_log_path = self.base_dir / config.logging.relative_log_dir diff --git a/nerfstudio/viewer/app/package.json b/nerfstudio/viewer/app/package.json index 78d4997f3..ccaa2fa1c 100644 --- a/nerfstudio/viewer/app/package.json +++ b/nerfstudio/viewer/app/package.json @@ -1,7 +1,7 @@ { "name": "viewer", "homepage": ".", - "version": "22-12-16-0", + "version": "23-01-19-0", "private": true, "dependencies": { "@emotion/react": "^11.10.4", diff --git a/nerfstudio/viewer/app/src/modules/RenderModal/RenderModal.jsx b/nerfstudio/viewer/app/src/modules/RenderModal/RenderModal.jsx index 6305d4043..c9cea8f1b 100644 --- a/nerfstudio/viewer/app/src/modules/RenderModal/RenderModal.jsx +++ b/nerfstudio/viewer/app/src/modules/RenderModal/RenderModal.jsx @@ -1,7 +1,7 @@ /* eslint-disable react/jsx-props-no-spreading */ import * as React from 'react'; -import { Box, Button, Modal, TextField, Typography } from '@mui/material'; +import { Box, Button, Modal, Typography } from '@mui/material'; import { useSelector } from 'react-redux'; import ContentCopyRoundedIcon from '@mui/icons-material/ContentCopyRounded'; @@ -19,15 +19,22 @@ export default function RenderModal(props: RenderModalProps) { (state) => state.renderingState.config_base_dir, ); + const export_path = useSelector( + (state) => state.renderingState.export_path, + ); + + const data_base_dir = useSelector( + (state) => state.renderingState.data_base_dir, + ); + // react state - const [filename, setFilename] = React.useState('render_output'); const handleClose = () => setOpen(false); // Copy the text inside the text field const config_filename = `${config_base_dir}/config.yml`; - const camera_path_filename = `${config_base_dir}/camera_path.json`; - const cmd = `ns-render --load-config ${config_filename} --traj filename --camera-path-filename ${camera_path_filename} --output-path renders/${filename}.mp4`; + const camera_path_filename = `${export_path}.json`; + const cmd = `ns-render --load-config ${config_filename} --traj filename --camera-path-filename ${data_base_dir}/camera_paths/${camera_path_filename} --output-path renders/${data_base_dir}/${export_path}.mp4`; const text_intro = `To render a full resolution video, run the following command in a terminal.`; @@ -56,22 +63,11 @@ export default function RenderModal(props: RenderModalProps) {
The video will be saved to{' '} - ./renders/{filename}.mp4 + ./renders/{data_base_dir}/{export_path}.mp4 .

- { - setFilename(e.target.value); - }} - value={filename} - variant="standard" - /> +
{cmd}