Tools (.tools)

Contents

Tools (.tools)#

blendscript_import_infinigen#

Copy this file into blender’s scripting window and run it whenever you open a new blender instance.

It will configure the sys.path and load gin. This is necessary before any other procgen files can be imported/used within blender.

Once this is done, you can do things like from infinigen.assets.objects.creatures.util.genomes.carnivore import CarnivoreFactory then CarnivoreFactory(0).spawn_asset(0) directly in the blender commandline

blendscript_path_append#

compress_masks#

infinigen.tools.compress_masks.show(x)[source]#
Parameters:

x

infinigen.tools.compress_masks.compress(arr)[source]#
Parameters:

arr

infinigen.tools.compress_masks.recover(d)[source]#
Parameters:

d

compute_occlusion_masks#

infinigen.tools.compute_occlusion_masks.get_mask(depth, flow, dst_depth)[source]#
Parameters:
  • depth

  • flow

  • dst_depth

convert_displacement#

infinigen.tools.convert_displacement.find_connected(node, origin_socket_index, tree_origin_socket=False)[source]#
Parameters:
  • node

  • origin_socket_index

  • tree_origin_socket -- (default: False)

infinigen.tools.convert_displacement.remove_unconnected(node_tree)[source]#
Parameters:

node_tree

infinigen.tools.convert_displacement.copy_nodes(shader_node_tree, geo_node_tree)[source]#
Parameters:
  • shader_node_tree

  • geo_node_tree

infinigen.tools.convert_displacement.bake_vertex_colors(obj)[source]#
Parameters:

obj

infinigen.tools.convert_displacement.create_modifier(obj, scale_val, apply_geo_modifier)[source]#
Parameters:
  • obj

  • scale_val

  • apply_geo_modifier

infinigen.tools.convert_displacement.convert_shader_displacement(obj, apply_geo_modifier=True)[source]#
Parameters:
  • obj

  • apply_geo_modifier -- (default: True)

datarelease_toolkit#

infinigen.tools.datarelease_toolkit.mapfunc(f, its, n_workers)[source]#
Parameters:
  • f

  • its

  • n_workers

infinigen.tools.datarelease_toolkit.download_except_already_present(...)[source]#
Parameters:
  • smb_path

  • local_path

  • min_date_str

  • n_workers -- (default: 1)

  • verbose -- (default: False)

infinigen.tools.datarelease_toolkit.untar(p)[source]#
Parameters:

p

infinigen.tools.datarelease_toolkit.cleanup(p)[source]#
Parameters:

p

infinigen.tools.datarelease_toolkit.fix_scene_structure(p, n_subcams)[source]#
Parameters:
  • p

  • n_subcams

infinigen.tools.datarelease_toolkit.fix_metadata(p, override_version='1.0.4b')[source]#
Parameters:
  • p

  • override_version -- (default: '1.0.4b')

infinigen.tools.datarelease_toolkit.optimize_json_inplace(json_path)[source]#
Parameters:

json_path

infinigen.tools.datarelease_toolkit.resize_inplace(...)[source]#
Parameters:
  • img_path

  • target_shape

  • interp_method

  • npz_prefix -- (default: 'NPZ_')

infinigen.tools.datarelease_toolkit.optimize_groundtruth_filesize(scene_folder)[source]#
Parameters:

scene_folder

infinigen.tools.datarelease_toolkit.parse_jobscene_path(args)[source]#
Parameters:

args

infinigen.tools.datarelease_toolkit.cleanup_smb(smb_parent_folder)[source]#
Parameters:

smb_parent_folder

infinigen.tools.datarelease_toolkit.fix_missing_camviewdata(local_folder, dummy)[source]#
Parameters:
  • local_folder

  • dummy

infinigen.tools.datarelease_toolkit.reorganize_old_framesfolder(frames_old)[source]#
Parameters:

frames_old

infinigen.tools.datarelease_toolkit.fix_frames_folderstructure(p)[source]#
Parameters:

p

infinigen.tools.datarelease_toolkit.retar_for_distribution(local_folder, distrib_path)[source]#
Parameters:
  • local_folder

  • distrib_path

infinigen.tools.datarelease_toolkit.process_one_scene(p, args)[source]#
Parameters:
  • p

  • args

infinigen.tools.datarelease_toolkit.try_process(p, args)[source]#
Parameters:
  • p

  • args

infinigen.tools.datarelease_toolkit.main(args)[source]#
Parameters:

args

dataset_loader#

infinigen.tools.dataset_loader.get_blocksize(scene_folder)[source]#
Parameters:

scene_folder

infinigen.tools.dataset_loader.get_framebounds_inclusive(scene_folder)[source]#
Parameters:

scene_folder

infinigen.tools.dataset_loader.get_cameras_available(scene_folder)[source]#
Parameters:

scene_folder

infinigen.tools.dataset_loader.get_imagetypes_available(scene_folder)[source]#
Parameters:

scene_folder

infinigen.tools.dataset_loader.get_frame_path(...) Path[source]#
Parameters:
  • scene_folder

  • cam (int)

  • frame_idx

  • data_type

class infinigen.tools.dataset_loader.InfinigenSceneDataset(
scene_folder,
data_types=None,
cameras=None,
gt_for_first_camera_only=True,
)[source]#

Bases: object

Parameters:
static load_any_filetype(path)[source]#
Parameters:

path

validate()[source]#
frame_path(i, cam, dtype)[source]#
Parameters:
infinigen.tools.dataset_loader.get_infinigen_dataset(...)[source]#
Parameters:
  • data_folder (Path)

  • mode -- (default: 'concat')

  • validate -- (default: False)

download_pregenerated_data#

infinigen.tools.download_pregenerated_data.wget_path(args, path)[source]#
Parameters:
  • args

  • path

infinigen.tools.download_pregenerated_data.untar_path(args, tarfile)[source]#
Parameters:
  • args

  • tarfile

infinigen.tools.download_pregenerated_data.url_to_text(url)[source]#
Parameters:

url

infinigen.tools.download_pregenerated_data.user_select_string_list(values, descriptions_dict=None, extra_msg=None)[source]#
Parameters:
  • values

  • descriptions_dict -- (default: None)

  • extra_msg -- (default: None)

infinigen.tools.download_pregenerated_data.check_and_preprocess_args(args, metadata)[source]#
Parameters:
  • args

  • metadata

infinigen.tools.download_pregenerated_data.process_path(args, path)[source]#
Parameters:
  • args

  • path

infinigen.tools.download_pregenerated_data.main(args)[source]#
Parameters:

args

export#

infinigen.tools.export.apply_all_modifiers(obj)[source]#
Parameters:

obj

infinigen.tools.export.realizeInstances(obj)[source]#
Parameters:

obj

infinigen.tools.export.remove_shade_smooth(obj)[source]#
Parameters:

obj

infinigen.tools.export.check_material_geonode(node_tree)[source]#
Parameters:

node_tree

infinigen.tools.export.handle_geo_modifiers(obj, export_usd)[source]#
Parameters:
  • obj

  • export_usd

infinigen.tools.export.split_glass_mats()[source]#
infinigen.tools.export.clean_names(obj=None)[source]#
Parameters:

obj -- (default: None)

infinigen.tools.export.remove_obj_parents(obj=None)[source]#
Parameters:

obj -- (default: None)

infinigen.tools.export.delete_objects()[source]#
infinigen.tools.export.rename_all_meshes(obj=None)[source]#
Parameters:

obj -- (default: None)

infinigen.tools.export.update_visibility()[source]#
infinigen.tools.export.uv_unwrap(obj)[source]#
Parameters:

obj

infinigen.tools.export.bakeVertexColors(obj)[source]#
Parameters:

obj

infinigen.tools.export.apply_baked_tex(obj, paramDict={})[source]#
Parameters:
  • obj

  • paramDict -- (default: {})

infinigen.tools.export.create_glass_shader(node_tree, export_usd)[source]#
Parameters:
  • node_tree

  • export_usd

infinigen.tools.export.process_glass_materials(obj, export_usd)[source]#
Parameters:
  • obj

  • export_usd

infinigen.tools.export.bake_pass(...)[source]#
Parameters:
  • obj

  • dest (Path)

  • img_size

  • bake_type

  • export_usd

  • export_name -- (default: None)

infinigen.tools.export.bake_special_emit(...)[source]#
Parameters:
  • obj

  • dest

  • img_size

  • export_usd

  • bake_type

  • export_name -- (default: None)

infinigen.tools.export.remove_params(mat, node_tree)[source]#
Parameters:
  • mat

  • node_tree

infinigen.tools.export.process_interfering_params(obj)[source]#
Parameters:

obj

infinigen.tools.export.skipBake(obj)[source]#
Parameters:

obj

infinigen.tools.export.triangulate_mesh(obj)[source]#
Parameters:

obj (Object)

infinigen.tools.export.triangulate_meshes()[source]#
infinigen.tools.export.adjust_wattages()[source]#
infinigen.tools.export.set_center_of_mass()[source]#
infinigen.tools.export.duplicate_node_groups(node_tree, group_map=None)[source]#
Parameters:
  • node_tree

  • group_map -- (default: None)

infinigen.tools.export.deep_copy_material(original_material, new_name_suffix='_deepcopy')[source]#
Parameters:
  • original_material

  • new_name_suffix -- (default: '_deepcopy')

infinigen.tools.export.bake_object(...)[source]#
Parameters:
  • obj

  • dest

  • img_size

  • export_usd

  • export_name -- (default: None)

infinigen.tools.export.bake_scene(...)[source]#
Parameters:
  • folderPath (Path)

  • image_res

  • vertex_colors

  • export_usd

infinigen.tools.export.run_blender_export(...)[source]#
Parameters:
  • exportPath (Path)

  • format (str)

  • vertex_colors (bool)

  • individual_export (bool)

infinigen.tools.export.export_scene(...)[source]#
Parameters:
  • input_blend (Path)

  • output_folder (Path)

  • pipeline_folder -- (default: None)

  • task_uniqname -- (default: None)

infinigen.tools.export.export_single_obj(...)[source]#
Parameters:
  • obj (Object)

  • output_folder (Path)

  • format -- (default: 'usdc')

  • image_res -- (default: 1024)

  • vertex_colors -- (default: False)

infinigen.tools.export.export_sim_ready(...) Dict[str, List[Path]][source]#

Exports both the visual and collision assets for a geometry.

Parameters:
  • obj (Object)

  • output_folder (Path)

  • image_res (int) -- (default: 1024)

  • translation (Tuple) -- (default: (0, 0, 0))

  • name (str | None) -- (default: None)

  • visual_only (bool) -- (default: False)

  • collision_only (bool) -- (default: False)

  • separate_asset_dirs (bool) -- (default: True)

  • zaxis (array) -- (default: array([0, 0, 1]))

infinigen.tools.export.export_curr_scene(...) Path[source]#
Parameters:
  • output_folder (Path)

  • format -- (default: 'usdc')

  • image_res -- (default: 1024)

  • vertex_colors -- (default: False)

  • individual_export -- (default: False)

  • omniverse_export -- (default: False)

  • pipeline_folder -- (default: None)

  • task_uniqname -- (default: None)

infinigen.tools.export.main(args)[source]#
Parameters:

args

infinigen.tools.export.make_args()[source]#

indoor_profile#

infinigen.tools.indoor_profile.td_to_str(td)[source]#

convert a timedelta object td to a string in HH:MM:SS format.

Parameters:

td

infinigen.tools.indoor_profile.main(dir)[source]#
Parameters:

dir (Path)

infinigen.tools.indoor_profile.make_stats(data_df)[source]#
Parameters:

data_df

infinigen.tools.indoor_profile.make_args()[source]#

isaac_sim#

class infinigen.tools.isaac_sim.RobotController(*args, **kwargs)[source]#

Bases: BaseController

forward()[source]#
class infinigen.tools.isaac_sim.InfinigenIsaacScene(cfg)[source]#

Bases: object

setup_scene()[source]#
apply_action()[source]#
reset()[source]#
run()[source]#

process_mvs_data#

infinigen.tools.process_mvs_data.transform(T, p)[source]#
Parameters:
  • T

  • p

infinigen.tools.process_mvs_data.from_homog(x)[source]#
Parameters:

x

infinigen.tools.process_mvs_data.coords_grid(...)[source]#
Parameters:
  • batch

  • ht

  • wd

  • device

infinigen.tools.process_mvs_data.reproject(...)[source]#
Parameters:
  • depth1

  • pose1

  • pose2

  • K1

  • K2

infinigen.tools.process_mvs_data.induced_flow(depth0, depth1, data)[source]#
Parameters:
  • depth0

  • depth1

  • data

infinigen.tools.process_mvs_data.bilinear_sampler(...)[source]#

Wrapper for grid_sample, uses pixel coordinates

Parameters:
  • img

  • coords

  • mode -- (default: 'bilinear')

  • mask -- (default: False)

infinigen.tools.process_mvs_data.check_cycle_consistency(flow_01, flow_10, threshold=1)[source]#
Parameters:
  • flow_01

  • flow_10

  • threshold -- (default: 1)

infinigen.tools.process_mvs_data.compute_covisibility(...)[source]#
Parameters:
  • depth0

  • depth1

  • camview0

  • camview1

process_static_meshes#

suffixes#

infinigen.tools.suffixes.get_suffix(indices)[source]#
Parameters:

indices

infinigen.tools.suffixes.parse_suffix(s)[source]#
Parameters:

s

Module contents#