Skip to content

Commit

Permalink
Development (#10)
Browse files Browse the repository at this point in the history
* display real-time node

* display dataset

* many bug fixes and smaller improvements
  • Loading branch information
simon-schaefer authored Apr 27, 2023
1 parent 5d1ef2a commit dee9317
Show file tree
Hide file tree
Showing 14 changed files with 684 additions and 289 deletions.
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,9 @@ def main():
if __name__ == '__main__':
display_scenes(main())
```
```

## Visualization of cached directory
```
python3 -m balanna <cached-directory>
```
23 changes: 19 additions & 4 deletions balanna/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
import balanna.camera_trajectories
import balanna.utils
import balanna.trimesh
import balanna.camera_trajectories as camera_trajectories
import balanna.utils as utils
import balanna.trimesh as trimesh

from balanna.display_scenes import display_scenes, display_real_time, RealTimeNode
from balanna.window_dataset import display_dataset
from balanna.window_generator import display_generated, display_scenes
from balanna.window_real_time import display_real_time, RealTimeNode
from balanna.window_base import SceneDictType


__all__ = [
"camera_trajectories",
"trimesh",
"display_dataset",
"display_scenes",
"display_generated",
"display_real_time",
"RealTimeNode",
"SceneDictType",
]
34 changes: 34 additions & 0 deletions balanna/__main__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import argparse
import pathlib
import pickle as pkl

from balanna.window_dataset import display_dataset


def _parse_args():
parser = argparse.ArgumentParser()
parser.add_argument("directory", type=pathlib.Path, help="cached data directory")
parser.add_argument("--fps", type=int, help="displaying fps", default=10)
parser.add_argument("--print-frame-index", action="store_true")
return parser.parse_args()


def main(args):
if not args.directory.exists():
raise NotADirectoryError(f"Input directory {args.directory} not found")

files = sorted(list(args.directory.glob("*.pkl")))
if len(files) == 0:
raise FileNotFoundError(f"No .pkl files found, invalid or empty cache directory")

for k, file in enumerate(files):
with open(file, 'rb') as f:
scene_dict = pkl.load(f)
if args.print_frame_index and "frame_index" not in scene_dict.keys():
scene_dict["frame_index"] = str(k)
yield scene_dict


if __name__ == '__main__':
args_ = _parse_args()
display_dataset(main(args_), fps=args_.fps)
Loading

0 comments on commit dee9317

Please sign in to comment.