SYMBOL INDEX (303 symbols across 30 files) FILE: eval_metrics_llff.py class ProjectionType (line 23) | class ProjectionType(enum.Enum): function intrinsic_matrix (line 28) | def intrinsic_matrix(fx: float, function file_exists (line 40) | def file_exists(pth): function listdir (line 43) | def listdir(pth): class NeRFSceneManager (line 48) | class NeRFSceneManager(pycolmap.SceneManager): method process (line 55) | def process( function load_gts (line 144) | def load_gts(data_dir, llffhold = 8, factor = 8, load_alphabetical = True): function load_image (line 186) | def load_image(path): function im2tensor (line 189) | def im2tensor(image, imtype=np.uint8, cent=1., factor=255./2.): FILE: eval_metrics_syn.py function load_image (line 12) | def load_image(path): function im2tensor (line 15) | def im2tensor(image, imtype=np.uint8, cent=1., factor=255./2.): FILE: mip360/eval.py function main (line 44) | def main(unused_argv): FILE: mip360/internal/camera_utils.py function convert_to_ndc (line 32) | def convert_to_ndc(origins: _Array, function pad_poses (line 101) | def pad_poses(p: np.ndarray) -> np.ndarray: function unpad_poses (line 107) | def unpad_poses(p: np.ndarray) -> np.ndarray: function recenter_poses (line 112) | def recenter_poses(poses: np.ndarray) -> Tuple[np.ndarray, np.ndarray]: function average_pose (line 120) | def average_pose(poses: np.ndarray) -> np.ndarray: function viewmatrix (line 129) | def viewmatrix(lookdir: np.ndarray, up: np.ndarray, function normalize (line 139) | def normalize(x: np.ndarray) -> np.ndarray: function focus_point_fn (line 144) | def focus_point_fn(poses: np.ndarray) -> np.ndarray: function generate_spiral_path (line 159) | def generate_spiral_path(poses: np.ndarray, function transform_poses_pca (line 191) | def transform_poses_pca(poses: np.ndarray) -> Tuple[np.ndarray, np.ndarr... function generate_ellipse_path (line 230) | def generate_ellipse_path(poses: np.ndarray, function generate_interpolated_path (line 281) | def generate_interpolated_path(poses: np.ndarray, function interpolate_1d (line 331) | def interpolate_1d(x: np.ndarray, function create_render_spline_path (line 343) | def create_render_spline_path( function intrinsic_matrix (line 398) | def intrinsic_matrix(fx: float, function get_pixtocam (line 411) | def get_pixtocam(focal: float, function pixel_coordinates (line 420) | def pixel_coordinates(width: int, function _compute_residual_and_jacobian (line 427) | def _compute_residual_and_jacobian( function _radial_and_tangential_undistort (line 477) | def _radial_and_tangential_undistort( class ProjectionType (line 514) | class ProjectionType(enum.Enum): function pixels_to_rays (line 520) | def pixels_to_rays( function cast_ray_batch (line 634) | def cast_ray_batch( function cast_pinhole_rays (line 691) | def cast_pinhole_rays(camtoworld: _Array, function cast_spherical_rays (line 716) | def cast_spherical_rays(camtoworld: _Array, FILE: mip360/internal/configs.py class Config (line 47) | class Config: function define_common_flags (line 169) | def define_common_flags(): function load_config (line 177) | def load_config(save_config=True): FILE: mip360/internal/coord.py function contract (line 21) | def contract(x): function inv_contract (line 30) | def inv_contract(z): function track_linearize (line 39) | def track_linearize(fn, mean, cov): function construct_ray_warps (line 63) | def construct_ray_warps(fn, t_near, t_far): function expected_sin (line 102) | def expected_sin(mean, var): function integrated_pos_enc (line 107) | def integrated_pos_enc(mean, var, min_deg, max_deg): function lift_and_diagonalize (line 129) | def lift_and_diagonalize(mean, cov, basis): function pos_enc (line 136) | def pos_enc(x, min_deg, max_deg, append_identity=True): FILE: mip360/internal/datasets.py function load_dataset (line 43) | def load_dataset(split, train_dir, config): class NeRFSceneManager (line 55) | class NeRFSceneManager(pycolmap.SceneManager): method process (line 62) | def process( function load_blender_posedata (line 152) | def load_blender_posedata(data_dir, split=None): class Dataset (line 189) | class Dataset(threading.Thread, metaclass=abc.ABCMeta): method __init__ (line 246) | def __init__(self, method __iter__ (line 331) | def __iter__(self): method __next__ (line 334) | def __next__(self): method peek (line 347) | def peek(self): method run (line 359) | def run(self): method size (line 364) | def size(self): method _load_renderings (line 368) | def _load_renderings(self, config): method _make_ray_batch (line 386) | def _make_ray_batch(self, method _next_train (line 451) | def _next_train(self) -> utils.Batch: method generate_ray_batch (line 486) | def generate_ray_batch(self, cam_idx: int) -> utils.Batch: method _next_test (line 499) | def _next_test(self) -> utils.Batch: class Blender (line 507) | class Blender(Dataset): method _load_renderings (line 510) | def _load_renderings(self, config): class LLFF (line 563) | class LLFF(Dataset): method _load_renderings (line 566) | def _load_renderings(self, config): class TanksAndTemplesNerfPP (line 720) | class TanksAndTemplesNerfPP(Dataset): method _load_renderings (line 723) | def _load_renderings(self, config): class TanksAndTemplesFVS (line 768) | class TanksAndTemplesFVS(Dataset): method _load_renderings (line 771) | def _load_renderings(self, config): class DTU (line 833) | class DTU(Dataset): method _load_renderings (line 836) | def _load_renderings(self, config): FILE: mip360/internal/geopoly.py function compute_sq_dist (line 21) | def compute_sq_dist(mat0, mat1=None): function compute_tesselation_weights (line 33) | def compute_tesselation_weights(v): function tesselate_geodesic (line 46) | def tesselate_geodesic(base_verts, base_faces, v, eps=1e-4): function generate_basis (line 78) | def generate_basis(base_shape, FILE: mip360/internal/image.py function mse_to_psnr (line 28) | def mse_to_psnr(mse): function psnr_to_mse (line 33) | def psnr_to_mse(psnr): function ssim_to_dssim (line 38) | def ssim_to_dssim(ssim): function dssim_to_ssim (line 43) | def dssim_to_ssim(dssim): function linear_to_srgb (line 48) | def linear_to_srgb(linear: _Array, function srgb_to_linear (line 59) | def srgb_to_linear(srgb: _Array, function downsample (line 70) | def downsample(img, factor): function color_correct (line 81) | def color_correct(img, ref, num_iters=5, eps=0.5 / 255): class MetricHarness (line 127) | class MetricHarness: method __init__ (line 130) | def __init__(self): method __call__ (line 133) | def __call__(self, rgb_pred, rgb_gt, name_fn=lambda s: s): FILE: mip360/internal/math.py function matmul (line 21) | def matmul(a, b): function safe_trig_helper (line 26) | def safe_trig_helper(x, fn, t=100 * jnp.pi): function safe_cos (line 31) | def safe_cos(x): function safe_sin (line 36) | def safe_sin(x): function safe_exp (line 42) | def safe_exp(x): function safe_exp_jvp (line 48) | def safe_exp_jvp(primals, tangents): function log_lerp (line 57) | def log_lerp(t, v0, v1): function learning_rate_decay (line 66) | def learning_rate_decay(step, function interp (line 101) | def interp(*args): function sorted_interp (line 108) | def sorted_interp(x, xp, fp): FILE: mip360/internal/models.py function random_split (line 39) | def random_split(rng): class Model (line 48) | class Model(nn.Module): method __call__ (line 76) | def __call__( function construct_model (line 340) | def construct_model(rng, rays, config): class MLP (line 366) | class MLP(nn.Module): method setup (line 406) | def setup(self): method __call__ (line 428) | def __call__(self, class Decoder (line 649) | class Decoder(nn.Module): method __call__ (line 657) | def __call__(self, class NerfMLP (line 682) | class NerfMLP(MLP): class PropMLP (line 687) | class PropMLP(MLP): class DecoderMLP (line 691) | class DecoderMLP(Decoder): function render_image (line 694) | def render_image(render_fn: Callable[[jnp.array, utils.Rays], FILE: mip360/internal/raw_utils.py function postprocess_raw (line 35) | def postprocess_raw(raw: _Array, function pixels_to_bayer_mask (line 69) | def pixels_to_bayer_mask(pix_x: np.ndarray, pix_y: np.ndarray) -> np.nda... function bilinear_demosaic (line 80) | def bilinear_demosaic(bayer: _Array, function load_raw_images (line 152) | def load_raw_images(image_dir: str, function process_exif (line 215) | def process_exif( function load_raw_dataset (line 273) | def load_raw_dataset(split: utils.DataSplit, function best_fit_affine (line 387) | def best_fit_affine(x: _Array, y: _Array, axis: _Axis) -> _Array: function match_images_affine (line 399) | def match_images_affine(est: _Array, gt: _Array, FILE: mip360/internal/ref_utils.py function reflect (line 22) | def reflect(viewdirs, normals): function l2_normalize (line 40) | def l2_normalize(x, eps=jnp.finfo(jnp.float32).eps): function compute_weighted_mae (line 45) | def compute_weighted_mae(weights, normals, normals_gt): function generalized_binomial_coeff (line 53) | def generalized_binomial_coeff(a, k): function assoc_legendre_coeff (line 58) | def assoc_legendre_coeff(l, m, k): function sph_harm_coeff (line 77) | def sph_harm_coeff(l, m, k): function get_ml_array (line 84) | def get_ml_array(deg_view): function generate_ide_fn (line 98) | def generate_ide_fn(deg_view): function generate_dir_enc_fn (line 162) | def generate_dir_enc_fn(deg_view): FILE: mip360/internal/render.py function lift_gaussian (line 22) | def lift_gaussian(d, t_mean, t_var, r_var, diag): function conical_frustum_to_gaussian (line 45) | def conical_frustum_to_gaussian(d, t0, t1, base_radius, diag, stable=True): function cylinder_to_gaussian (line 82) | def cylinder_to_gaussian(d, t0, t1, radius, diag): function cast_rays (line 104) | def cast_rays(tdist, origins, directions, radii, ray_shape, diag=True): function compute_alpha_weights (line 134) | def compute_alpha_weights(density, tdist, dirs, opaque_background=False): function compute_alpha_weights_multispace (line 157) | def compute_alpha_weights_multispace(density, tdist, dirs, opaque_backgr... function volumetric_rendering (line 180) | def volumetric_rendering(rgbs, function volumetric_rendering_multispace (line 241) | def volumetric_rendering_multispace(feats, FILE: mip360/internal/stepfun.py function searchsorted (line 30) | def searchsorted(a, v): function query (line 56) | def query(tq, t, y, outside_value=0): function inner_outer (line 64) | def inner_outer(t0, t1, y1): function lossfun_outer (line 80) | def lossfun_outer(t, w, t_env, w_env, eps=jnp.finfo(jnp.float32).eps): function weight_to_pdf (line 89) | def weight_to_pdf(t, w, eps=jnp.finfo(jnp.float32).eps**2): function pdf_to_weight (line 94) | def pdf_to_weight(t, p): function max_dilate (line 99) | def max_dilate(t, w, dilation, domain=(-jnp.inf, jnp.inf)): function max_dilate_weights (line 116) | def max_dilate_weights(t, function integrate_weights (line 131) | def integrate_weights(w): function invert_cdf (line 153) | def invert_cdf(u, t, w_logits, use_gpu_resampling=False): function sample (line 164) | def sample(rng, function sample_intervals (line 214) | def sample_intervals(rng, function lossfun_distortion (line 266) | def lossfun_distortion(t, w): function interval_distortion (line 279) | def interval_distortion(t0_lo, t0_hi, t1_lo, t1_hi): function weighted_percentile (line 298) | def weighted_percentile(t, w, ps): function resample (line 311) | def resample(t, tp, vp, use_avg=False, eps=jnp.finfo(jnp.float32).eps): FILE: mip360/internal/train_utils.py function tree_sum (line 38) | def tree_sum(tree): function tree_norm_sq (line 42) | def tree_norm_sq(tree): function tree_norm (line 46) | def tree_norm(tree): function tree_abs_max (line 50) | def tree_abs_max(tree): function tree_len (line 55) | def tree_len(tree): function summarize_tree (line 60) | def summarize_tree(tree, fn, ancestry=(), max_depth=3): function compute_data_loss (line 71) | def compute_data_loss(batch, renderings, rays, config): function interlevel_loss (line 133) | def interlevel_loss(ray_history, config): function distortion_loss (line 147) | def distortion_loss(ray_history, config): function orientation_loss (line 156) | def orientation_loss(rays, model, ray_history, config): function predicted_normal_loss (line 175) | def predicted_normal_loss(model, ray_history, config): function clip_gradients (line 194) | def clip_gradients(grad, config): function create_train_step (line 215) | def create_train_step(model: models.Model, function create_optimizer (line 340) | def create_optimizer( function create_render_fn (line 368) | def create_render_fn(model: models.Model): function setup_model (line 390) | def setup_model( FILE: mip360/internal/utils.py class Pixels (line 32) | class Pixels: class Rays (line 45) | class Rays: function dummy_rays (line 61) | def dummy_rays(include_exposure_idx: bool = False, class Batch (line 83) | class Batch: class DataSplit (line 92) | class DataSplit(enum.Enum): class BatchingMethod (line 98) | class BatchingMethod(enum.Enum): function open_file (line 104) | def open_file(pth, mode='r'): function file_exists (line 108) | def file_exists(pth): function listdir (line 112) | def listdir(pth): function isdir (line 116) | def isdir(pth): function makedirs (line 120) | def makedirs(pth): function shard (line 125) | def shard(xs): function unshard (line 131) | def unshard(x, padding=0): function load_img (line 139) | def load_img(pth: str) -> np.ndarray: function load_exif (line 146) | def load_exif(pth: str) -> Dict[str, Any]: function save_img_u8 (line 160) | def save_img_u8(img, pth): function save_img_f32 (line 168) | def save_img_f32(depthmap, pth): FILE: mip360/internal/vis.py function weighted_percentile (line 22) | def weighted_percentile(x, w, ps, assume_sorted=False): function sinebow (line 33) | def sinebow(h): function matte (line 39) | def matte(vis, acc, dark=0.8, light=1.0, width=8): function visualize_cmap (line 48) | def visualize_cmap(value, function visualize_coord_mod (line 109) | def visualize_coord_mod(coords, acc): function visualize_rays (line 114) | def visualize_rays(dist, function visualize_suite (line 170) | def visualize_suite(rendering, rays): FILE: mip360/render.py function create_videos (line 41) | def create_videos(config, base_dir, out_dir, out_name, num_frames): function main (line 98) | def main(unused_argv): FILE: mip360/tests/camera_utils_test.py class CameraUtilsTest (line 25) | class CameraUtilsTest(parameterized.TestCase): method test_convert_to_ndc (line 27) | def test_convert_to_ndc(self): FILE: mip360/tests/coord_test.py function sample_covariance (line 27) | def sample_covariance(rng, batch_size, num_dims): function stable_pos_enc (line 34) | def stable_pos_enc(x, n): class CoordTest (line 46) | class CoordTest(parameterized.TestCase): method test_stable_pos_enc (line 48) | def test_stable_pos_enc(self): method test_contract_matches_special_case (line 61) | def test_contract_matches_special_case(self): method test_contract_is_bounded (line 71) | def test_contract_is_bounded(self): method test_contract_is_noop_when_norm_is_leq_one (line 80) | def test_contract_is_noop_when_norm_is_leq_one(self): method test_contract_gradients_are_finite (line 93) | def test_contract_gradients_are_finite(self): method test_inv_contract_gradients_are_finite (line 99) | def test_inv_contract_gradients_are_finite(self): method test_inv_contract_inverts_contract (line 106) | def test_inv_contract_inverts_contract(self): method test_pos_enc (line 120) | def test_pos_enc(self, n, tol): method test_pos_enc_matches_integrated (line 129) | def test_pos_enc_matches_integrated(self): method test_track_linearize (line 142) | def test_track_linearize(self): method test_construct_ray_warps_extents (line 180) | def test_construct_ray_warps_extents(self, fn): method test_construct_ray_warps_special_reciprocal (line 199) | def test_construct_ray_warps_special_reciprocal(self): method test_expected_sin (line 223) | def test_expected_sin(self): method test_integrated_pos_enc (line 230) | def test_integrated_pos_enc(self): FILE: mip360/tests/datasets_test.py class DummyDataset (line 25) | class DummyDataset(datasets.Dataset): method _load_renderings (line 27) | def _load_renderings(self, config): class DatasetsTest (line 52) | class DatasetsTest(absltest.TestCase): method test_dataset_batch_creation (line 54) | def test_dataset_batch_creation(self): FILE: mip360/tests/geopoly_test.py function is_same_basis (line 25) | def is_same_basis(x, y, tol=1e-10): class GeopolyTest (line 34) | class GeopolyTest(absltest.TestCase): method test_compute_sq_dist_reference (line 36) | def test_compute_sq_dist_reference(self): method test_compute_sq_dist_single_input (line 55) | def test_compute_sq_dist_single_input(self): method test_compute_tesselation_weights_reference (line 67) | def test_compute_tesselation_weights_reference(self): method test_generate_basis_golden (line 76) | def test_generate_basis_golden(self): FILE: mip360/tests/image_test.py function matmul (line 25) | def matmul(a, b): class ImageTest (line 30) | class ImageTest(absltest.TestCase): method test_color_correction (line 32) | def test_color_correction(self): method test_psnr_mse_round_trip (line 60) | def test_psnr_mse_round_trip(self): method test_ssim_dssim_round_trip (line 69) | def test_ssim_dssim_round_trip(self): method test_srgb_linearize (line 78) | def test_srgb_linearize(self): method test_srgb_to_linear_golden (line 91) | def test_srgb_to_linear_golden(self): method test_mse_to_psnr_golden (line 110) | def test_mse_to_psnr_golden(self): FILE: mip360/tests/math_test.py function safe_trig_harness (line 28) | def safe_trig_harness(fn, max_exp): class MathTest (line 36) | class MathTest(parameterized.TestCase): method test_sin (line 38) | def test_sin(self): method test_safe_exp_correct (line 49) | def test_safe_exp_correct(self): method test_safe_exp_finite (line 58) | def test_safe_exp_finite(self): method test_learning_rate_decay (line 72) | def test_learning_rate_decay(self): method test_delayed_learning_rate_decay (line 106) | def test_delayed_learning_rate_decay(self): method test_interp (line 157) | def test_interp(self, sort): FILE: mip360/tests/ref_utils_test.py function generate_dir_enc_fn_scipy (line 25) | def generate_dir_enc_fn_scipy(deg_view): class RefUtilsTest (line 38) | class RefUtilsTest(absltest.TestCase): method test_reflection (line 40) | def test_reflection(self): method test_spherical_harmonics (line 61) | def test_spherical_harmonics(self): FILE: mip360/tests/render_test.py function surface_stats (line 29) | def surface_stats(points): function sqrtm (line 37) | def sqrtm(mat): function control_points (line 44) | def control_points(mean, cov): function inside_conical_frustum (line 52) | def inside_conical_frustum(x, d, t0, t1, r, ttol=1e-6, rtol=1e-6): function sample_conical_frustum (line 66) | def sample_conical_frustum(rng, num_samples, d, t0, t1, base_radius): function generate_random_cylinder (line 96) | def generate_random_cylinder(rng, num_zs=4): function generate_random_conical_frustum (line 122) | def generate_random_conical_frustum(rng, num_zs=4): function cylinder_to_gaussian_sample (line 148) | def cylinder_to_gaussian_sample(key, function conical_frustum_to_gaussian_sample (line 176) | def conical_frustum_to_gaussian_sample(key, raydir, t0, t1, r): function finite_output_and_gradient (line 184) | def finite_output_and_gradient(fn, args): class RenderTest (line 198) | class RenderTest(parameterized.TestCase): method test_cylinder_scaling (line 200) | def test_cylinder_scaling(self): method test_conical_frustum_scaling (line 230) | def test_conical_frustum_scaling(self): method test_control_points (line 260) | def test_control_points(self): method test_conical_frustum (line 279) | def test_conical_frustum(self): method test_inside_conical_frustum (line 304) | def test_inside_conical_frustum(self): method test_conical_frustum_stable (line 320) | def test_conical_frustum_stable(self): method test_cylinder (line 333) | def test_cylinder(self): method test_lift_gaussian_diag (line 354) | def test_lift_gaussian_diag(self): method test_rotated_conic_frustums (line 372) | def test_rotated_conic_frustums(self): method test_alpha_weights_finite (line 426) | def test_alpha_weights_finite(self, log_density_log_mult, tvals_log_mu... method test_alpha_weights_delta_correct (line 443) | def test_alpha_weights_delta_correct(self): method test_conical_frustum_to_gaussian_finite (line 483) | def test_conical_frustum_to_gaussian_finite( FILE: mip360/tests/stepfun_test.py function inner (line 27) | def inner(t0, t1, w1): function outer (line 40) | def outer(t0, t1, w1): class StepFunTest (line 53) | class StepFunTest(parameterized.TestCase): method test_searchsorted_in_bounds (line 55) | def test_searchsorted_in_bounds(self): method test_searchsorted_out_of_bounds (line 79) | def test_searchsorted_out_of_bounds(self): method test_searchsorted_reference (line 108) | def test_searchsorted_reference(self): method test_searchsorted (line 126) | def test_searchsorted(self): method test_query (line 158) | def test_query(self, mode, delta): method test_distortion_loss_against_sampling (line 201) | def test_distortion_loss_against_sampling(self): method test_interval_distortion_against_brute_force (line 227) | def test_interval_distortion_against_brute_force(self): method test_distortion_loss_against_interval_distortion (line 252) | def test_distortion_loss_against_interval_distortion(self): method test_max_dilate (line 275) | def test_max_dilate(self): method test_sample_train_mode (line 305) | def test_sample_train_mode(self, randomized, single_jitter): method test_sample_large_flat (line 388) | def test_sample_large_flat(self, randomized, single_jitter): method test_gpu_vs_tpu_resampling (line 415) | def test_gpu_vs_tpu_resampling(self): method test_sample_sparse_delta (line 444) | def test_sample_sparse_delta(self, randomized, single_jitter): method test_sample_single_bin (line 477) | def test_sample_single_bin(self, randomized, single_jitter): method test_sample_intervals_accuracy (line 499) | def test_sample_intervals_accuracy(self, randomized, tolerance): method test_sample_intervals_unbiased (line 542) | def test_sample_intervals_unbiased(self, randomized, bound_domain): method test_sample_single_interval (line 579) | def test_sample_single_interval(self): method test_lossfun_outer (line 589) | def test_lossfun_outer(self, num_ablate, is_all_zero): method test_inner_outer (line 624) | def test_inner_outer(self): method test_lossfun_outer_monotonic (line 657) | def test_lossfun_outer_monotonic(self): method test_lossfun_outer_self_zero (line 683) | def test_lossfun_outer_self_zero(self): method test_outer_measure_reference (line 699) | def test_outer_measure_reference(self): method test_inner_measure_reference (line 719) | def test_inner_measure_reference(self): method test_weighted_percentile (line 739) | def test_weighted_percentile(self): method test_weighted_percentile_vectorized (line 765) | def test_weighted_percentile_vectorized(self): method test_resample_self_noop (line 793) | def test_resample_self_noop(self, use_avg): method test_resample_2x_downsample (line 809) | def test_resample_2x_downsample(self, use_avg): method test_resample_entire_interval (line 835) | def test_resample_entire_interval(self, use_avg): method test_resample_entire_domain (line 856) | def test_resample_entire_domain(self): method test_resample_single_span (line 875) | def test_resample_single_span(self, use_avg): method test_resample_vectorized (line 898) | def test_resample_vectorized(self, use_avg): FILE: mip360/tests/utils_test.py class UtilsTest (line 22) | class UtilsTest(absltest.TestCase): method test_dummy_rays (line 24) | def test_dummy_rays(self): FILE: mip360/train.py function main (line 48) | def main(unused_argv):