* `isort` -> `ruff`
* `pylint` -> `ruff`
* Remove line
* More minor cleanup
* Better documentation for rules we are enabling
* Fix gitignore, run black
* vscode settings
---------
Co-authored-by: Matt Tancik <mattt4001@gmail.com>
* Copy in `viser` communication infrastructure
* Update background image
* Add build directory to fix viser HTTP server
May want to remove these later
* Copy in `viser` communication infrastructure
* Update background image
* Pass dataset vis using viser
* initial impl of ViewerParameter
* idk what i did but brent and matt know
* Suppress eslint typescript warnings
* implement ViewerElement base class, then ViewerButton, ViewerSlider, etc
* client -> server message setup
* multi folder stuff
* Stream controls over viser
* import
* add types to viewer_param.py
* Move another message to viser
* Update folder color
* Use non throttled messages
* multiple folders works
* Cleanup, more porting
* starting impl of control panel in viser
* More porting
* scenebox to viser
* Cleanup
* Fix render updates
* More cleanup, docs, typing
* start control_panel.py
* set_hidden logic but not merged in
* control_panel replicates behavior of existing control panel (visually), except for setting the list of output options. not yet integrated with viewer_utils.py for logic flow. also implemented set_disabled and set_hidden in javscript/ViewerElement side
* Remove some original leva components
* add some train util logic, attempt set_value, doesn't work on javascript side fully yet (value updates but not slider visually
* bye zmq
* missing call to decoder
* 'gui_set' works properly, control panel now replicates behavior of original
* remove print
* Fix status viewer message
* More cleanup
* support set_options in dropdown
* hiding buttons works correctly
* fix set_options, switch from cur_value to get_value()
* Fix slowdown
* output options
* colormap logic converted
* add handle to cb_hook
* fix some lambda bugs
* cleanup
* Save checkpoint logic readded
* Cleanup and minor fixes
* snappier ui
* Refactoring
* Fix state update bugs
* Bug fixes
* Write less to redux
* added comments to reducer code
* Render state machine (#1727)
* state machine works, but train step throttling not implemented
* more step logic, cleanup
* remove random try catcH
* mutex logic for render
* Update lock logic
* types and docs
* added some state machine logic to help rerenders
* merge
---------
Co-authored-by: Justin <justin.g.kerr@gmail.com>
* Refactor and cleanup
* More cleanup and docs
* docstring to gui_utils
* docstrings, rename viewer_param.py to viewer_elements.py
* Fix viewer, remove bridge stuff
* Render on connect
* Fix lint errors
* More eslint fixes
* render_freq logic
* better rerender logic for crop
* More cleanup
* Purge
* Cleanup
* Lint fixes
* Fix cache
* better parsing logic
* Fix infinite test
* More cleanup
* typo
* Update webdocs
* Update docs
* rerender on custom hooks
* add more docs
* Use shared utilities in `viser.infra`
* rework callback to use elements instead of handles
* Fix ESlint errors
* change naming of handle to element, add setter for value
* cleanup
---------
Co-authored-by: Matt Tancik <mattt4001@gmail.com>
Co-authored-by: Justin <justin.g.kerr@gmail.com>
Co-authored-by: Ethan Weber <eweb0124@gmail.com>
Co-authored-by: Matthew Tancik <tancik@berkeley.edu>
* add neus_facto method
* fix missing pixsfm from video process
* fix dev errors and small typos
---------
Co-authored-by: Ethan Weber <eweb0124@gmail.com>
* add initial method configs and data manager
* add neus scheduler
* add initial surface model and neus
* add Neus ray sampler
* add sdf field
* move scale/shift calc to math utils
* add debug and fix sdf_dataset typo
* update vscode neus debug
* fix dataset and get initial working version
* add magic number from original repo
* black fixes
* clean up get weights/transmittance from alphas
* clean up typos in sdf datamanager
* type annotations on neus scheduler and remove unused params
* clean up and annotate sdf field along w/ other fixes
* more clean up
* remove unnessary directions norm
* resolve comments
* update neus scheduler to follow refactor
* fix linter errors
* fix some typos
* remove get_weights_from_alpha
* more comment fixes
* more linter error fixes
* clean up and add comments
* more little fixes for types/comments
* more comments
* rename NeuS Scheduler to DelayedScheduler
* rename DelayedScheduler to CosineDecayScheduler
Making TrainerConfig an InstantiateConfig so it can be swapped in and out with different methods. Also made the TrainerConfig a subclass of ExperimentConfig (which was changed from a printableconfig to an instantiateconfig), since we were already instantiating the Trainer class with the ExperimentConfig
Removed the "config" field from the TrainerCallbackAttributes struct to eliminate circular dependencies when types are checked.
Minor scripts and docs changes to accommodate the update to the config struct, meaning the flags that were associated with the TrainerConfig were moved up to the top level of the config.
* misc cuda improvements. added cone angle as param
* wandb as default. better organization for experiments
* turn off tensorboard
* disable eval when using viewer
* remove comment
* launch.json
* added tensorf, updated requirements for windows
* cleaning up imports
* tensorf changes
* initial working version of tensorf
* added callback for feature upsampling
* modifying tests to match changes
* reverting requirements changes
* reverting unnecessary changes
* reverting unnecessary changes
* no more upsampling on step 0
* removed density field, fixed error msg
* modified callbacks and upsampling, reinitializing optimzer in training loop
* deleting tensorf_field file"
* checkpointing progress on restructuring callbacks
* updated callback logic for before and after train capabilities
* fixing upsampling stepping
* merging
* adding tensorf to config, fixing some bugs with new callback
* changed the way callbacks detected steps argument in callback func
* fixing typing
* adding pylint disable no self use to get_training_callbacks
* fixing config
* changing callback in vanilla nerf to allow for no density field
* cleanup
* removing config yaml
Co-authored-by: Ethan Weber <eweb0124@gmail.com>
* starting docs for pipelines
* working on an example
* clearing output
* starting to implement config changes and add documentation
* wip: removed cicular imports; porting basic config into python; todo: get python setups workin
* circular imports again
* wip: pausing at dataloader sort of working
* break for today
* running vanilla
* wip need to get all the config docs working
* laptop about to die
* instant ngp working
* added all configs for all methods; not tested yet: [mipnerf360, nerfw, semantic_nerf]
* unpacking later
* done with pylinting
* mostly done. just need to do docs and one test
* added import order to docs
* fixing near/far plane and other config things
* making loggers also instantiable via configs
* docs
* lint
* making --help work with dcargs
* moving configs back into flat
* convert list to tuples; fixed post init function with mutable params
* lint
* made run_eval and benchmarking scripts compatible with new config/dcargs
* lint
* added option to load configs from presaved config
Co-authored-by: evonneng <evonne_ng@berkeley.edu>
* starting docs for pipelines
* working on an example
* clearing output
* starting to implement config changes and add documentation
* removing diff
* format
* templated pipeline notebook a bit
* black
* initial commit for viewer refactor
* updating name change to nerfactory
* adding headers
* making the rendering fix which broke from a merge
* things are starting to work. removing old commands now
* removed prints
* cleanup
* updating state works now even for nested dictionaries
* updating state in redux. listening for state changes. trying to draw three.js now
* added drawing functionality. need to fix translation of frustums and image planes
* images and frustums drawn correctly
* fixing lint
* github actions
* back to npm
* fixing eslint
* remove package.json from root
* new favicon
* some viewer cleanup
* notebook
* fixed camera drawings speed to avoid redraw
* trying to get Leva to update
* quick fix
* synced config panel
* adding notebook
* fixing output print error
* added beta_min to nerfw, which I think is needed
* added camera interpolation path and restructured run_eval code
* adding to gitignore
* addressing github comments. mostly documentation
* fixing nerfw dataset for test cases
Contract the scene to a sphere of radius 2. This is the same contraction used in MipNeRF 360.
Add mipnerf 360 graph and config. It currently doesn't contain the other advancements made in the paper (sample proposal network, regularizers)
* renaming dataloader to data. adding some dataloader classes
* restructuring configs
* fixed instant ngp tcnn direction rescaling
* working through test cases
* black and lint and tests
* in progress. camera_indices broken
* faster dataloader. starting on pixel sampler logic
* imagesampler and pixelsampler
* lint and black
* continuing merge
* pytest working
* fixed docs
* docs
* minor changes
* some initial cuda code as I learn. using git to save progress.
* first cuda kernel for ray sampling that mostly works
* cleaning up code. working on lr. structs for scene bounds aabb
* added scene bounds collider code
* updated setup
* setup
* setup
* black
* including some files
* exporting env variable
* new file
* git workflows
* github actions
* github actions
* github actions
* removing env var
* initial nerfw code
* nerfw should be implmented correctly now
* semantic nerf in progress. data loader is too slow and not clean right now
* added implementation of semantic nerf
* mend
* abstracted some test logic and actually using test images now
* moved logging from trainer to graph
* fixing dataset path
* refactored instant ngp code to use inheritance
* fixed my run_train
* fixed data path
* fixed data dir