SYMBOL INDEX (818 symbols across 82 files) FILE: client-server/graspgen_client.py function parse_args (line 43) | def parse_args(): function load_point_cloud_from_mesh (line 96) | def load_point_cloud_from_mesh(mesh_file: str, scale: float, num_points:... function load_point_cloud_from_file (line 106) | def load_point_cloud_from_file(pcd_file: str) -> np.ndarray: function _read_pcd_ascii (line 129) | def _read_pcd_ascii(path: str) -> np.ndarray: function main (line 144) | def main(): function visualize_results (line 204) | def visualize_results( FILE: client-server/graspgen_server.py function parse_args (line 27) | def parse_args(): function main (line 53) | def main(): FILE: config/grippers/franka_panda.py class GripperModel (line 8) | class GripperModel(): method __init__ (line 9) | def __init__(self, data_root_dir=None): method set_offset (line 26) | def set_offset(self, offset): method get_gripper_collision_mesh (line 30) | def get_gripper_collision_mesh(self): method get_gripper_visual_mesh (line 33) | def get_gripper_visual_mesh(self): function get_gripper_offset_bins (line 36) | def get_gripper_offset_bins(): function load_control_points (line 52) | def load_control_points() -> torch.Tensor: function load_control_points_for_visualization (line 65) | def load_control_points_for_visualization(): FILE: config/grippers/robotiq_2f_140.py class GripperModel (line 8) | class GripperModel(object): method __init__ (line 9) | def __init__(self, data_root_dir=None): method get_gripper_collision_mesh (line 15) | def get_gripper_collision_mesh(self): method get_gripper_visual_mesh (line 18) | def get_gripper_visual_mesh(self): function get_gripper_offset_bins (line 21) | def get_gripper_offset_bins(): function load_control_points (line 36) | def load_control_points() -> torch.Tensor: function load_control_points_for_visualization (line 48) | def load_control_points_for_visualization(): FILE: config/grippers/single_suction_cup_30mm.py class GripperModel (line 9) | class GripperModel(object): method __init__ (line 10) | def __init__(self, data_root_dir=None, simplified=True): method get_gripper_collision_mesh (line 17) | def get_gripper_collision_mesh(self): method get_gripper_visual_mesh (line 23) | def get_gripper_visual_mesh(self): function load_visualize_control_points_suction (line 27) | def load_visualize_control_points_suction(): function load_control_points (line 33) | def load_control_points() -> torch.Tensor: function load_control_points_for_visualization (line 44) | def load_control_points_for_visualization(): function get_transform_from_base_link_to_tool_tcp (line 68) | def get_transform_from_base_link_to_tool_tcp(): FILE: grasp_gen/dataset/dataset.py function get_cache_path (line 78) | def get_cache_path(cache_dir: str, root_dir: str) -> str: function get_cache_prefix (line 87) | def get_cache_prefix(prob_point_cloud: float, load_discriminator_dataset... function get_pc_setting_name (line 94) | def get_pc_setting_name(prob_point_cloud: float) -> str: function get_denylist_path (line 101) | def get_denylist_path( function is_valid_cache_dir (line 112) | def is_valid_cache_dir(cfg: DictConfig) -> bool: function load_grasps_with_contacts (line 205) | def load_grasps_with_contacts( function load_scenes_from_text_file (line 337) | def load_scenes_from_text_file(file_path: str) -> list: class PickDataset (line 362) | class PickDataset(Dataset): method __init__ (line 363) | def __init__( method load_onpolicy_dataset (line 493) | def load_onpolicy_dataset(self): method load_cache (line 611) | def load_cache(self, cache_save_freq: int = 2000): method save_to_denylist (line 763) | def save_to_denylist(self, denylist_path, key, error_code): method from_config (line 775) | def from_config(cls, cfg): method __len__ (line 814) | def __len__(self): method __getitem__ (line 817) | def __getitem__(self, idx): class ObjectPickDataset (line 821) | class ObjectPickDataset(PickDataset): method calculate_dataset_kappa (line 823) | def calculate_dataset_kappa(self) -> float: method __getitem__ (line 855) | def __getitem__(self, idx): function generate_negative_hardnegatives (line 1315) | def generate_negative_hardnegatives( function generate_negative_retract (line 1414) | def generate_negative_retract( function generate_negative_freespace (line 1434) | def generate_negative_freespace(num_grasps: int) -> np.ndarray: function load_discriminator_batch_with_stratified_sampling (line 1451) | def load_discriminator_batch_with_stratified_sampling( function collate_batch_keys (line 1634) | def collate_batch_keys(batch): function collate (line 1660) | def collate(batch): FILE: grasp_gen/dataset/dataset_utils.py class GraspJsonDatasetReader (line 63) | class GraspJsonDatasetReader: method __init__ (line 66) | def __init__(self, grasp_root_dir: str): method _create_uuid_to_path_mapping (line 95) | def _create_uuid_to_path_mapping(self): method read_grasps_by_uuid (line 125) | def read_grasps_by_uuid(self, object_id: str) -> Union[Dict, None]: function sample_points (line 152) | def sample_points(xyz, num_points): function load_from_json (line 160) | def load_from_json(json_path) -> dict: function convert_trimesh_to_dict (line 167) | def convert_trimesh_to_dict(mesh: trimesh.base.Trimesh) -> Dict: function convert_dict_to_trimesh (line 193) | def convert_dict_to_trimesh(mesh_data: Dict) -> trimesh.base.Trimesh: class ObjectGraspDataset (line 208) | class ObjectGraspDataset: method export_to_dict (line 218) | def export_to_dict(self) -> Dict: method from_dict (line 231) | def from_dict(cls, data: Dict): function filter_grasps_by_point_cloud_visibility (line 248) | def filter_grasps_by_point_cloud_visibility( class GraspGenDatasetCache (line 291) | class GraspGenDatasetCache(dict): method __init__ (line 292) | def __init__(self): method __getitem__ (line 295) | def __getitem__(self, key: str) -> Tuple[ObjectGraspDataset, dict]: method __setitem__ (line 298) | def __setitem__(self, key: str, value: Tuple[ObjectGraspDataset, dict]): method __len__ (line 301) | def __len__(self): method __contains__ (line 304) | def __contains__(self, key: str) -> bool: method load_from_h5_file (line 308) | def load_from_h5_file(cls, path_to_h5_file: str): method save_to_h5_file (line 344) | def save_to_h5_file(self, path_to_h5_file: str): function compute_emd_data (line 374) | def compute_emd_data( function visualize_object_grasp_dataset (line 501) | def visualize_object_grasp_dataset( function load_object_grasp_data (line 559) | def load_object_grasp_data( function get_json_file_given_object_id (line 639) | def get_json_file_given_object_id(json_files: List[str], object_id_key: ... function load_onpolicy_dataset (line 656) | def load_onpolicy_dataset( function load_object_grasp_acronym (line 710) | def load_object_grasp_acronym( function load_grasp_data (line 820) | def load_grasp_data( function load_object_grasp_datapoint_objaverse (line 836) | def load_object_grasp_datapoint_objaverse( function dump_object_list (line 974) | def dump_object_list(objects, json_file_path): function purge_redundant_checkpoints (line 980) | def purge_redundant_checkpoints(list_of_dirs: List[str], execute: bool =... function get_rotation_augmentation (line 1010) | def get_rotation_augmentation(stratified_sampling: bool = True) -> np.nd... FILE: grasp_gen/dataset/eval_utils.py function log_worker (line 16) | def log_worker(log_queue, log_file=None): function get_logger (line 31) | def get_logger(name, log_queue): function get_timestamp (line 43) | def get_timestamp(): function check_collision (line 56) | def check_collision(scene_mesh, object_mesh, transforms): function write_to_h5 (line 73) | def write_to_h5(key, src, dst): function is_empty (line 82) | def is_empty(data): function load_h5_handle_empty_case (line 86) | def load_h5_handle_empty_case(data): function write_info (line 93) | def write_info(group: Group, info: dict): function pose_as_dict (line 127) | def pose_as_dict(p): function create_scene (line 136) | def create_scene(robot_pose, object_asset): function create_object_asset (line 151) | def create_object_asset(file_name, scale, actor_name, asset_root, resolu... function create_robot_asset (line 187) | def create_robot_asset(): function save_to_isaac_grasp_format (line 210) | def save_to_isaac_grasp_format( function load_from_isaac_grasp_format (line 250) | def load_from_isaac_grasp_format(file_path: str) -> Tuple[np.ndarray, np... function load_urdf_scene (line 285) | def load_urdf_scene(urdf_path: str) -> URDF: FILE: grasp_gen/dataset/exceptions.py class ErrorInfo (line 6) | class ErrorInfo: class DataLoaderError (line 11) | class DataLoaderError(Enum): method code (line 55) | def code(self) -> int: method description (line 59) | def description(self) -> str: method is_success (line 62) | def is_success(self) -> bool: method is_error (line 65) | def is_error(self) -> bool: FILE: grasp_gen/dataset/image_utils.py function gen_lut (line 38) | def gen_lut() -> np.ndarray: function labels2rgb (line 55) | def labels2rgb(labels: np.ndarray, lut: np.ndarray = None) -> np.ndarray: function depth2rgb (line 73) | def depth2rgb(depth: np.ndarray, colormap: int = None) -> np.ndarray: function draw_circles (line 96) | def draw_circles( function draw_lines (line 119) | def draw_lines( function draw_rectangles (line 152) | def draw_rectangles( function blend_images (line 177) | def blend_images(images: List[np.ndarray], ratios: List[float] = None) -... function image_grid (line 202) | def image_grid( function imshow (line 248) | def imshow(im: np.ndarray, name: str = "", is_blocking: bool = True) -> ... function save_image (line 267) | def save_image(img: Union[np.ndarray, Image.Image], image_fname: str) ->... function draw_bbox (line 282) | def draw_bbox( function convert_label_img_to_seg (line 320) | def convert_label_img_to_seg(seg: np.ndarray) -> np.ndarray: function decompress_png (line 342) | def decompress_png(image_comp: np.ndarray, return_unit8: bool) -> np.nda... function convert_img_float_uint8 (line 367) | def convert_img_float_uint8(image: np.ndarray) -> Image.Image: function compress_img (line 389) | def compress_img(image: Union[np.ndarray, Image.Image], is_unit8: bool) ... function jitter_gaussian (line 420) | def jitter_gaussian(xyz: torch.Tensor, std: float, clip: float) -> torch... function add_noise_to_xyz (line 437) | def add_noise_to_xyz( function add_gaussian_noise_to_depth (line 474) | def add_gaussian_noise_to_depth( function dropout_random_ellipses (line 499) | def dropout_random_ellipses( function get_xp_yp (line 580) | def get_xp_yp(rows: int, cols: int) -> Tuple[np.ndarray, np.ndarray]: function add_gaussian_shifts (line 599) | def add_gaussian_shifts( function mask_object_edge (line 654) | def mask_object_edge( function add_kinect_noise_to_depth (line 702) | def add_kinect_noise_to_depth(depth: np.ndarray, noise_params: Dict) -> ... class NormalizeInverse (line 727) | class NormalizeInverse(transforms.Normalize): method __init__ (line 734) | def __init__( method __call__ (line 751) | def __call__(self, tensor: torch.Tensor) -> torch.Tensor: FILE: grasp_gen/dataset/renderer.py function fov_and_size_to_intrinsics (line 79) | def fov_and_size_to_intrinsics(fov, img_size, device="cpu"): function depth2points (line 93) | def depth2points( function compute_camera_pose (line 172) | def compute_camera_pose(center, distance, azimuth, elevation): function sample_camera_pose (line 185) | def sample_camera_pose( class Renderer (line 217) | class Renderer: method __init__ (line 218) | def __init__(self): method create_camera (line 232) | def create_camera(self, intrinsics, image_size, znear=0.04, zfar=100.0): method set_camera_pose (line 250) | def set_camera_pose(self, cam_pose): method get_camera_pose (line 256) | def get_camera_pose(self): method render_rgbd (line 261) | def render_rgbd(self, depth_only=True): method render_segmentation (line 269) | def render_segmentation(self, full_depth=None): method render_all (line 290) | def render_all(self): method add_object (line 296) | def add_object(self, name, mesh, pose=None): method set_object_pose (line 308) | def set_object_pose(self, name, pose): method has_object (line 311) | def has_object(self, name): method remove_object (line 314) | def remove_object(self, name): method show_objects (line 318) | def show_objects(self, names=None): method toggle_wireframe (line 323) | def toggle_wireframe(self, names=None): method hide_objects (line 328) | def hide_objects(self, names=None): method reset (line 333) | def reset(self): function add_gaussian_noise_to_depth (line 339) | def add_gaussian_noise_to_depth( function add_depth_noise (line 364) | def add_depth_noise(depth: np.array) -> np.array: function add_noise_to_random_object_region (line 373) | def add_noise_to_random_object_region( function render_images_given_scene (line 474) | def render_images_given_scene( function add_edge_noise (line 501) | def add_edge_noise(segmentation_image, noise_level=0.40): function render_point_cloud_from_object (line 563) | def render_point_cloud_from_object( function render_pc (line 731) | def render_pc( FILE: grasp_gen/dataset/suction.py function make_parser (line 23) | def make_parser(): function colorized_points (line 84) | def colorized_points(points, quality): function colorize (line 88) | def colorize(quality): function color_interpolation (line 99) | def color_interpolation(input): function colorize_for_meshcat (line 110) | def colorize_for_meshcat(quality): function skew (line 119) | def skew(x): function adjoint_transform (line 124) | def adjoint_transform(frame_a, frame_b): function sunflower_radius (line 145) | def sunflower_radius(k, n, b): function sunflower (line 152) | def sunflower(n, radius, alpha=2.0, geodesic=False): class SuctionCupArray (line 166) | class SuctionCupArray(object): method __init__ (line 167) | def __init__( method _create_pyramid (line 246) | def _create_pyramid( method sample_grasps (line 343) | def sample_grasps(self, obj_mesh, num_grasps): method get_spring_lengths (line 380) | def get_spring_lengths(self, obj_mesh, suction_ring_transform): method is_sealed (line 470) | def is_sealed(self, obj_mesh, grasp_transform): method is_wrench_resistant (line 566) | def is_wrench_resistant(self, contact_frames, w, qp_solver="clarabel"): method evaluate_grasps (line 672) | def evaluate_grasps( method as_dict (line 759) | def as_dict(self): method from_file (line 776) | def from_file(cls, fname, key=None): function main_func (line 806) | def main_func(args): FILE: grasp_gen/dataset/visualize_utils.py function visualize_generator_dataset (line 26) | def visualize_generator_dataset( function visualize_discriminator_dataset (line 76) | def visualize_discriminator_dataset( FILE: grasp_gen/dataset/webdataset_utils.py function load_uuid_list (line 16) | def load_uuid_list(uuid_list_path: str) -> list[str]: function convert_to_webdataset (line 45) | def convert_to_webdataset( function is_webdataset (line 113) | def is_webdataset(dataset_path: str) -> bool: class GraspWebDatasetReader (line 132) | class GraspWebDatasetReader: method __init__ (line 135) | def __init__(self, dataset_path: str): method read_grasps_by_uuid (line 153) | def read_grasps_by_uuid(self, object_uuid: str) -> Optional[Dict]: FILE: grasp_gen/grasp_server.py function load_grasp_cfg (line 28) | def load_grasp_cfg(gripper_config: str) -> omegaconf.DictConfig: class GraspGenSampler (line 51) | class GraspGenSampler: method __init__ (line 52) | def __init__( method run_inference (line 91) | def run_inference( method sample (line 168) | def sample( FILE: grasp_gen/metrics.py function compute_recall (line 24) | def compute_recall( function compute_metrics_given_two_sets_of_poses (line 40) | def compute_metrics_given_two_sets_of_poses( function angular_distance_phi3 (line 111) | def angular_distance_phi3( function quat_multiply (line 139) | def quat_multiply( class OrientationError (line 159) | class OrientationError(Function): method geodesic_distance (line 161) | def geodesic_distance(goal_quat, current_quat, quat_res): method forward (line 172) | def forward(ctx, goal_quat, current_quat, quat_res): method backward (line 179) | def backward(ctx, grad_out): function normalize_quaternion (line 195) | def normalize_quaternion(in_quaternion: torch.Tensor) -> torch.Tensor: class GeodesicLoss (line 205) | class GeodesicLoss(nn.Module): method __init__ (line 235) | def __init__(self, eps: float = 1e-7, reduction: str = "mean") -> None: method forward (line 240) | def forward(self, input: Tensor, target: Tensor) -> Tensor: FILE: grasp_gen/models/action_decoder.py function double_split (line 22) | def double_split(tensor, chunks): function build_6d_grasp (line 30) | def build_6d_grasp( function build_6d_place (line 59) | def build_6d_place(contact_pts, rot, offset, ee_pose): function compute_offset (line 75) | def compute_offset(obj_pts, ee_pose, rot, grid_res=0, cam_pose=None): function infer_placements (line 95) | def infer_placements( class ActionDecoder (line 133) | class ActionDecoder(torch.nn.Module): method __init__ (line 134) | def __init__( method from_config (line 165) | def from_config(cls, cfg, contact_decoder): method forward (line 180) | def forward( FILE: grasp_gen/models/contact_decoder.py function compute_attention_mask (line 31) | def compute_attention_mask(attn_mask, nn_ids, context_size, num_heads): class ContactDecoder (line 60) | class ContactDecoder(nn.Module): method __init__ (line 61) | def __init__( method from_config (line 168) | def from_config(cls, cfg, scene_channels, obj_channels): method predict (line 191) | def predict(self, embed, mask_features): method construct_context (line 211) | def construct_context(self, features, feature_keys, feature_proj): method forward (line 227) | def forward(self, scene_features, obj_features): FILE: grasp_gen/models/criterion.py function dice_loss (line 23) | def dice_loss(pred: torch.Tensor, target: torch.Tensor, num_objs: torch.... function adds (line 40) | def adds(pred_grasps, confidence, target_grasps, ctr_pts): function average (line 73) | def average(inputs, num_objs, num_points, mask=False): class MaskCriterion (line 87) | class MaskCriterion(nn.Module): method __init__ (line 88) | def __init__(self, loss_weights, top_k): method from_config (line 94) | def from_config(cls, cfg): method forward (line 100) | def forward(self, key, out_mask, tgt_mask, loss_mask=None): class SetCriterion (line 126) | class SetCriterion(nn.Module): method __init__ (line 134) | def __init__( method from_config (line 169) | def from_config(cls, cfg, matcher): method get_pseudo_ce_loss (line 179) | def get_pseudo_ce_loss(self, pred_masks, gt_masks, matched_idx): method get_loss (line 194) | def get_loss(self, pred, data, matched_idx, layer=None): method forward (line 232) | def forward(self, pred, targets): class ADDSCriterion (line 253) | class ADDSCriterion(nn.Module): method __init__ (line 254) | def __init__(self, pred2gt_weight, gt2pred_weight, adds_per_obj, gripp... method forward (line 264) | def forward(self, pred_grasps, confidence, gt_grasps, device): class GraspCriterion (line 317) | class GraspCriterion(nn.Module): method __init__ (line 318) | def __init__( method from_config (line 336) | def from_config(cls, cfg): method forward (line 350) | def forward(self, pred, data): class PlaceCriterion (line 378) | class PlaceCriterion(nn.Module): method __init__ (line 379) | def __init__(self, mask_criterion, deep_supervision): method from_config (line 385) | def from_config(cls, cfg): method forward (line 391) | def forward(self, pred, data): FILE: grasp_gen/models/discriminator.py class GraspGenDiscriminator (line 36) | class GraspGenDiscriminator(nn.Module): method __init__ (line 54) | def __init__( method from_config (line 171) | def from_config(cls, cfg): method forward (line 194) | def forward(self, data, cfg=None, eval=False): method infer (line 331) | def infer(self, data): FILE: grasp_gen/models/generator.py class GraspGenGenerator (line 38) | class GraspGenGenerator(nn.Module): method __init__ (line 68) | def __init__( method from_config (line 206) | def from_config(cls, cfg): method forward (line 240) | def forward(self, data, cfg=None, eval=False): method infer (line 256) | def infer(self, data, return_metrics=False): method forward_train (line 268) | def forward_train(self, data): method forward_inference (line 407) | def forward_inference(self, data, return_metrics=False): class DiffusionNoisePredictionNet (line 657) | class DiffusionNoisePredictionNet(nn.Module): method __init__ (line 673) | def __init__( method forward (line 762) | def forward( FILE: grasp_gen/models/grasp_gen.py class GraspGen (line 23) | class GraspGen(nn.Module): method __init__ (line 34) | def __init__( method forward (line 43) | def forward(self, data): method infer (line 60) | def infer(self, data, return_metrics=False): method from_config (line 73) | def from_config( method load_state_dict (line 87) | def load_state_dict( FILE: grasp_gen/models/m2t2.py class M2T2 (line 24) | class M2T2(nn.Module): method __init__ (line 25) | def __init__( method from_config (line 45) | def from_config(cls, cfg): method forward (line 68) | def forward(self, data, cfg): method infer (line 120) | def infer(self, data, cfg): FILE: grasp_gen/models/matcher.py function dice_loss_matrix (line 20) | def dice_loss_matrix(inputs: torch.Tensor, targets: torch.Tensor): function bce_loss_matrix (line 38) | def bce_loss_matrix(inputs: torch.Tensor, targets: torch.Tensor): class HungarianMatcher (line 64) | class HungarianMatcher(torch.nn.Module): method __init__ (line 71) | def __init__(self, object_weight, bce_weight, dice_weight): method from_config (line 78) | def from_config(cls, cfg): method forward (line 86) | def forward(self, outputs, data): FILE: grasp_gen/models/model_utils.py function load_pretrained_checkpoint_to_dict (line 26) | def load_pretrained_checkpoint_to_dict(checkpoint_path, model_name): function convert_to_ptv3_pc_format (line 51) | def convert_to_ptv3_pc_format(point_cloud: torch.Tensor, grid_size: floa... function repeat_new_axis (line 65) | def repeat_new_axis(tensor, rep, dim): class SinusoidalPosEmb (line 71) | class SinusoidalPosEmb(nn.Module): method __init__ (line 72) | def __init__(self, dim): method forward (line 76) | def forward(self, x): function break_up_pc (line 91) | def break_up_pc(pc): function offset2bincount (line 97) | def offset2bincount(offset): function offset2batch (line 103) | def offset2batch(offset): function compute_grasp_loss (line 110) | def compute_grasp_loss(target_grasps, pred_grasps, ctr_pts): function get_activation_fn (line 120) | def get_activation_fn(activation): class PointNetPlusPlus (line 133) | class PointNetPlusPlus(nn.Module): method __init__ (line 134) | def __init__( method forward (line 165) | def forward(self, pc): class MLP (line 174) | class MLP(nn.Module): method __init__ (line 175) | def __init__( method forward (line 194) | def forward(self, x): class AttentionLayer (line 198) | class AttentionLayer(nn.Module): method __init__ (line 199) | def __init__(self, embed_dim, num_heads): method forward (line 204) | def forward(self, query, key, value, query_pos_enc, key_pos_enc, attn_... class FFNLayer (line 211) | class FFNLayer(nn.Module): method __init__ (line 212) | def __init__(self, embed_dim, hidden_dim, activation="ReLU"): method forward (line 221) | def forward(self, x): class PositionEncoding3D (line 225) | class PositionEncoding3D(nn.Module): method __init__ (line 231) | def __init__(self, enc_dim, scale=np.pi, temperature=10000): method forward (line 238) | def forward(self, pos): class PositionEncodingOld3D (line 250) | class PositionEncodingOld3D(nn.Module): method __init__ (line 256) | def __init__(self, enc_dim, scale=np.pi, temperature=10000): method forward (line 263) | def forward(self, pos): FILE: grasp_gen/models/pointnet/pointnet2.py class PointNet2Base (line 22) | class PointNet2Base(nn.Module): method __init__ (line 23) | def __init__(self): method _break_up_pc (line 28) | def _break_up_pc(self, pc): method forward (line 35) | def forward(self, pointcloud): class PointNet2MSG (line 76) | class PointNet2MSG(PointNet2Base): method __init__ (line 77) | def __init__( method from_config (line 149) | def from_config(cls, cfg): class PointNet2MSGCls (line 159) | class PointNet2MSGCls(PointNet2Base): method __init__ (line 160) | def __init__( method from_config (line 217) | def from_config(cls, cfg): FILE: grasp_gen/models/pointnet/pointnet2_modules.py function _get_norm (line 28) | def _get_norm(norm, dim): function build_shared_mlp (line 35) | def build_shared_mlp(mlp_spec: List[int], norm: str): class _PointnetSAModuleBase (line 49) | class _PointnetSAModuleBase(nn.Module): method __init__ (line 50) | def __init__(self): method forward (line 56) | def forward( class _PointnetSAModuleVarNPts (line 103) | class _PointnetSAModuleVarNPts(nn.Module): method __init__ (line 104) | def __init__(self): method forward (line 110) | def forward( class PointnetSAModuleMSG (line 181) | class PointnetSAModuleMSG(_PointnetSAModuleBase): method __init__ (line 198) | def __init__(self, npoint, radii, nsamples, mlps, norm="BN", use_xyz=T... class PointnetSAModuleMSGVarNPts (line 221) | class PointnetSAModuleMSGVarNPts(_PointnetSAModuleVarNPts): method __init__ (line 238) | def __init__(self, npoint, radii, nsamples, mlps, norm="BN", use_xyz=T... class PointnetSAModule (line 261) | class PointnetSAModule(PointnetSAModuleMSG): method __init__ (line 278) | def __init__( class PointnetFPModule (line 291) | class PointnetFPModule(nn.Module): method __init__ (line 302) | def __init__(self, mlp, norm="BN"): method forward (line 307) | def forward(self, unknown, known, unknow_feats, known_feats): FILE: grasp_gen/models/pointnet/pointnet2_utils.py class FurthestPointSampling (line 45) | class FurthestPointSampling(Function): method forward (line 47) | def forward(ctx, xyz, npoint): method backward (line 71) | def backward(ctx, grad_out): class GatherOperation (line 78) | class GatherOperation(Function): method forward (line 80) | def forward(ctx, features, idx): method backward (line 102) | def backward(ctx, grad_out): class ThreeNN (line 113) | class ThreeNN(Function): method forward (line 115) | def forward(ctx, unknown, known): method backward (line 141) | def backward(ctx, grad_dist, grad_idx): class ThreeInterpolate (line 148) | class ThreeInterpolate(Function): method forward (line 150) | def forward(ctx, features, idx, weight): method backward (line 173) | def backward(ctx, grad_out): class GroupingOperation (line 203) | class GroupingOperation(Function): method forward (line 205) | def forward(ctx, features, idx): method backward (line 226) | def backward(ctx, grad_out): class BallQuery (line 252) | class BallQuery(Function): method forward (line 254) | def forward(ctx, radius, nsample, xyz, new_xyz): method backward (line 281) | def backward(ctx, grad_out): class QueryAndGroup (line 288) | class QueryAndGroup(nn.Module): method __init__ (line 300) | def __init__(self, radius, nsample, use_xyz=True): method forward (line 305) | def forward(self, xyz, new_xyz, features=None): class GroupAll (line 350) | class GroupAll(nn.Module): method __init__ (line 358) | def __init__(self, use_xyz=True): method forward (line 363) | def forward(self, xyz, new_xyz, features=None): FILE: grasp_gen/models/ptv3/ptv3.py function offset2bincount (line 37) | def offset2bincount(offset): function offset2batch (line 44) | def offset2batch(offset): function batch2offset (line 52) | def batch2offset(batch): class Point (line 56) | class Point(Dict): method __init__ (line 81) | def __init__(self, *args, **kwargs): method serialization (line 89) | def serialization(self, order="z", depth=None, shuffle_orders=False): method sparsify (line 146) | def sparsify(self, pad=96): class PointModule (line 185) | class PointModule(nn.Module): method __init__ (line 190) | def __init__(self, *args, **kwargs): class PointSequential (line 194) | class PointSequential(PointModule): method __init__ (line 200) | def __init__(self, *args, **kwargs): method __getitem__ (line 215) | def __getitem__(self, idx): method __len__ (line 225) | def __len__(self): method add (line 228) | def add(self, module, name=None): method forward (line 235) | def forward(self, input): class PDNorm (line 263) | class PDNorm(PointModule): method __init__ (line 264) | def __init__( method forward (line 286) | def forward(self, point): class RPE (line 305) | class RPE(torch.nn.Module): method __init__ (line 306) | def __init__(self, patch_size, num_heads): method forward (line 315) | def forward(self, coord): class SerializedAttention (line 327) | class SerializedAttention(PointModule): method __init__ (line 328) | def __init__( method get_rel_pos (line 381) | def get_rel_pos(self, point, order): method get_padding_and_inverse (line 391) | def get_padding_and_inverse(self, point): method forward (line 448) | def forward(self, point): class MLP (line 501) | class MLP(nn.Module): method __init__ (line 502) | def __init__( method forward (line 518) | def forward(self, x): class Block (line 527) | class Block(PointModule): method __init__ (line 528) | def __init__( method forward (line 594) | def forward(self, point: Point): class SerializedPooling (line 617) | class SerializedPooling(PointModule): method __init__ (line 618) | def __init__( method forward (line 647) | def forward(self, point: Point): class SerializedUnpooling (line 723) | class SerializedUnpooling(PointModule): method __init__ (line 724) | def __init__( method forward (line 747) | def forward(self, point): class Embedding (line 761) | class Embedding(PointModule): method __init__ (line 762) | def __init__( method forward (line 789) | def forward(self, point: Point): class PointTransformerV3 (line 794) | class PointTransformerV3(PointModule): method __init__ (line 795) | def __init__( method forward (line 974) | def forward(self, data_dict): FILE: grasp_gen/models/ptv3/serialization/default.py function encode (line 10) | def encode(grid_coord, batch=None, depth=16, order="z"): function decode (line 29) | def decode(code, depth=16, order="z"): function z_order_encode (line 42) | def z_order_encode(grid_coord: torch.Tensor, depth: int = 16): function z_order_decode (line 49) | def z_order_decode(code: torch.Tensor, depth): function hilbert_encode (line 55) | def hilbert_encode(grid_coord: torch.Tensor, depth: int = 16): function hilbert_decode (line 59) | def hilbert_decode(code: torch.Tensor, depth: int = 16): FILE: grasp_gen/models/ptv3/serialization/hilbert.py function right_shift (line 12) | def right_shift(binary, k=1, axis=-1): function binary2gray (line 46) | def binary2gray(binary, axis=-1): function gray2binary (line 69) | def gray2binary(gray, axis=-1): function encode (line 91) | def encode(locs, num_dims, num_bits): function decode (line 201) | def decode(hilberts, num_dims, num_bits): FILE: grasp_gen/models/ptv3/serialization/z_order.py class KeyLUT (line 13) | class KeyLUT: method __init__ (line 14) | def __init__(self): method encode_lut (line 29) | def encode_lut(self, device=torch.device("cpu")): method decode_lut (line 35) | def decode_lut(self, device=torch.device("cpu")): method xyz2key (line 41) | def xyz2key(self, x, y, z, depth): method key2xyz (line 53) | def key2xyz(self, key, depth): function xyz2key (line 67) | def xyz2key( function key2xyz (line 105) | def key2xyz(key: torch.Tensor, depth: int = 16): FILE: grasp_gen/models/vit.py class SinusoidalPosEmb (line 66) | class SinusoidalPosEmb(nn.Module): method __init__ (line 67) | def __init__(self, dim): method forward (line 71) | def forward(self, x): class Attention (line 81) | class Attention(nn.Module): method __init__ (line 84) | def __init__( method forward (line 108) | def forward(self, x): class LayerScale (line 138) | class LayerScale(nn.Module): method __init__ (line 139) | def __init__(self, dim, init_values=1e-5, inplace=False): method forward (line 144) | def forward(self, x): class Block (line 148) | class Block(nn.Module): method __init__ (line 150) | def __init__( method forward (line 193) | def forward(self, x): class VisionTransformer (line 199) | class VisionTransformer(nn.Module): method __init__ (line 208) | def __init__( method init_weights (line 372) | def init_weights(self, mode=""): method _init_weights (line 380) | def _init_weights(self, m): method load_pretrained (line 385) | def load_pretrained(self, checkpoint_path, prefix=""): method no_weight_decay (line 389) | def no_weight_decay(self): method group_matcher (line 393) | def group_matcher(self, coarse=False): method set_grad_checkpointing (line 400) | def set_grad_checkpointing(self, enable=True): method get_classifier (line 404) | def get_classifier(self): method reset_classifier (line 407) | def reset_classifier(self, num_classes: int, global_pool=None): method _pos_embed (line 416) | def _pos_embed(self, x): method _intermediate_layers (line 449) | def _intermediate_layers( method get_intermediate_layers (line 471) | def get_intermediate_layers( method forward_features (line 502) | def forward_features(self, x): method forward_head (line 520) | def forward_head(self, x, pre_logits: bool = False): method forward (line 533) | def forward(self, x): function init_weights_vit_timm (line 539) | def init_weights_vit_timm(module: nn.Module, name: str = ""): function init_weights_vit_jax (line 549) | def init_weights_vit_jax(module: nn.Module, name: str = "", head_bias: f... function init_weights_vit_moco (line 571) | def init_weights_vit_moco(module: nn.Module, name: str = ""): function get_init_weights_vit (line 588) | def get_init_weights_vit(mode="jax", head_bias: float = 0.0): function resize_pos_embed (line 597) | def resize_pos_embed( function _load_weights (line 642) | def _load_weights(model: nn.Module, checkpoint_path: str, prefix: str = ... function _convert_openai_clip (line 832) | def _convert_openai_clip(state_dict, model): function _convert_dinov2 (line 878) | def _convert_dinov2(state_dict, model): function checkpoint_filter_fn (line 895) | def checkpoint_filter_fn( FILE: grasp_gen/robot.py class GripperInfo (line 31) | class GripperInfo: function get_canonical_gripper_control_points (line 65) | def get_canonical_gripper_control_points(w, d): function get_gripper_depth (line 85) | def get_gripper_depth(gripper_name) -> float: function load_control_points_core (line 100) | def load_control_points_core(gripper_config: Dict): function load_control_points_for_visualization (line 128) | def load_control_points_for_visualization(gripper_name: str): function load_control_points (line 142) | def load_control_points(gripper_name: str) -> torch.Tensor: function generate_circle_points (line 156) | def generate_circle_points(center, radius=0.007, N=30): function load_visualize_control_points_multi_suction (line 191) | def load_visualize_control_points_multi_suction( function load_gripper_yaml_file (line 228) | def load_gripper_yaml_file(yaml_path: Path): function import_module_from_path (line 242) | def import_module_from_path(path): function load_default_gripper_config (line 267) | def load_default_gripper_config(gripper_name: str) -> Dict: function parse_offset_transform_from_yaml (line 283) | def parse_offset_transform_from_yaml(offset_transform: List[List[float]]... function get_gripper_info (line 313) | def get_gripper_info(name: str) -> GripperInfo: FILE: grasp_gen/serving/__init__.py function __getattr__ (line 1) | def __getattr__(name): FILE: grasp_gen/serving/zmq_client.py class GraspGenClient (line 35) | class GraspGenClient: method __init__ (line 38) | def __init__( method _create_socket (line 55) | def _create_socket(self) -> zmq.Socket: method _wait_for_server (line 63) | def _wait_for_server(self, retry_interval_s: float) -> None: method _ensure_connected (line 80) | def _ensure_connected(self) -> None: method _request (line 84) | def _request(self, payload: dict) -> dict: method server_metadata (line 94) | def server_metadata(self) -> Optional[dict]: method health_check (line 97) | def health_check(self) -> bool: method get_metadata (line 104) | def get_metadata(self) -> dict: method infer (line 107) | def infer( method close (line 153) | def close(self) -> None: method __enter__ (line 159) | def __enter__(self): method __exit__ (line 162) | def __exit__(self, *args): method __del__ (line 165) | def __del__(self): FILE: grasp_gen/serving/zmq_server.py class GraspGenZMQServer (line 25) | class GraspGenZMQServer: method __init__ (line 35) | def __init__( method serve_forever (line 64) | def serve_forever(self) -> None: method _handle (line 87) | def _handle(self, request: dict) -> dict: method _handle_infer (line 97) | def _handle_infer(self, request: dict) -> dict: FILE: grasp_gen/utils/logging_config.py function setup_logging (line 8) | def setup_logging(): function get_logger (line 28) | def get_logger(name): FILE: grasp_gen/utils/math_utils.py function matrix_to_rt (line 22) | def matrix_to_rt( function rt_to_matrix (line 49) | def rt_to_matrix( function rotation_6d_to_matrix (line 76) | def rotation_6d_to_matrix(d6: torch.Tensor) -> torch.Tensor: function matrix_to_rotation_6d (line 102) | def matrix_to_rotation_6d(matrix: torch.Tensor) -> torch.Tensor: function rotation_from_vectors (line 123) | def rotation_from_vectors(v1, v2): function construct_suction_grasp_from_point_and_vector (line 145) | def construct_suction_grasp_from_point_and_vector( function rotation_matrix_from_vectors (line 178) | def rotation_matrix_from_vectors( function compute_pose_distance_batch (line 231) | def compute_pose_distance_batch( function compute_pose_emd (line 274) | def compute_pose_emd(poses1: torch.Tensor, poses2: torch.Tensor) -> float: FILE: grasp_gen/utils/meshcat_utils.py function is_rotation_matrix (line 28) | def is_rotation_matrix(M, tol=1e-4): function get_color_from_score (line 44) | def get_color_from_score(labels, use_255_scale=False): function trimesh_to_meshcat_geometry (line 57) | def trimesh_to_meshcat_geometry( function visualize_mesh (line 68) | def visualize_mesh( function rgb2hex (line 91) | def rgb2hex(rgb: Tuple[int, int, int]) -> str: function create_visualizer (line 101) | def create_visualizer(clear=True): function make_frame (line 112) | def make_frame( function visualize_bbox (line 161) | def visualize_bbox( function visualize_pointcloud (line 188) | def visualize_pointcloud( function load_visualization_gripper_points (line 232) | def load_visualization_gripper_points( function visualize_grasp (line 252) | def visualize_grasp( function get_normals_from_mesh (line 274) | def get_normals_from_mesh( FILE: grasp_gen/utils/plot_utils.py function get_set_colors (line 22) | def get_set_colors(): function plot_mask_3D (line 33) | def plot_mask_3D( function plot_place_mask_3D (line 94) | def plot_place_mask_3D(pts, rgb, depth, seg, out_mask, tgt_mask, size): function plot_3D (line 158) | def plot_3D( FILE: grasp_gen/utils/point_cloud_utils.py function knn_points (line 26) | def knn_points(X: torch.Tensor, K: int, norm: int): function point_cloud_outlier_removal (line 53) | def point_cloud_outlier_removal( function point_cloud_outlier_removal_with_color (line 91) | def point_cloud_outlier_removal_with_color( function depth_and_segmentation_to_point_clouds (line 141) | def depth_and_segmentation_to_point_clouds( function filter_colliding_grasps (line 237) | def filter_colliding_grasps( function depth_and_segmentation_to_point_clouds (line 309) | def depth_and_segmentation_to_point_clouds( function filter_colliding_grasps (line 405) | def filter_colliding_grasps( FILE: grasp_gen/utils/rotation_conversions.py function quaternion_to_matrix (line 44) | def quaternion_to_matrix(quaternions: torch.Tensor) -> torch.Tensor: function _copysign (line 76) | def _copysign(a: torch.Tensor, b: torch.Tensor) -> torch.Tensor: function _sqrt_positive_part (line 94) | def _sqrt_positive_part(x: torch.Tensor) -> torch.Tensor: function matrix_to_quaternion (line 108) | def matrix_to_quaternion(matrix: torch.Tensor) -> torch.Tensor: function _axis_angle_rotation (line 170) | def _axis_angle_rotation(axis: str, angle: torch.Tensor) -> torch.Tensor: function euler_angles_to_matrix (line 200) | def euler_angles_to_matrix(euler_angles: torch.Tensor, convention: str) ... function _angle_from_tan (line 229) | def _angle_from_tan( function _index_from_letter (line 262) | def _index_from_letter(letter: str) -> int: function matrix_to_euler_angles (line 272) | def matrix_to_euler_angles(matrix: torch.Tensor, convention: str) -> tor... function random_quaternions (line 314) | def random_quaternions( function random_rotations (line 338) | def random_rotations( function random_rotation (line 357) | def random_rotation( function standardize_quaternion (line 374) | def standardize_quaternion(quaternions: torch.Tensor) -> torch.Tensor: function quaternion_raw_multiply (line 389) | def quaternion_raw_multiply(a: torch.Tensor, b: torch.Tensor) -> torch.T... function quaternion_multiply (line 410) | def quaternion_multiply(a: torch.Tensor, b: torch.Tensor) -> torch.Tensor: function quaternion_invert (line 427) | def quaternion_invert(quaternion: torch.Tensor) -> torch.Tensor: function quaternion_apply (line 444) | def quaternion_apply(quaternion: torch.Tensor, point: torch.Tensor) -> t... function axis_angle_to_matrix (line 467) | def axis_angle_to_matrix(axis_angle: torch.Tensor, fast: bool = False) -... function matrix_to_axis_angle (line 508) | def matrix_to_axis_angle(matrix: torch.Tensor, fast: bool = False) -> to... function axis_angle_to_quaternion (line 565) | def axis_angle_to_quaternion(axis_angle: torch.Tensor) -> torch.Tensor: function quaternion_to_axis_angle (line 585) | def quaternion_to_axis_angle(quaternions: torch.Tensor) -> torch.Tensor: function rotation_6d_to_matrix (line 607) | def rotation_6d_to_matrix(d6: torch.Tensor) -> torch.Tensor: function matrix_to_rotation_6d (line 631) | def matrix_to_rotation_6d(matrix: torch.Tensor) -> torch.Tensor: FILE: grasp_gen/utils/so3.py function hat (line 16) | def hat(v: torch.Tensor) -> torch.Tensor: function so3_exp_map (line 54) | def so3_exp_map(log_rot: torch.Tensor, eps: float = 0.0001) -> torch.Ten... function _so3_exp_map (line 81) | def _so3_exp_map( function so3_log_map (line 104) | def so3_log_map( FILE: grasp_gen/utils/train_utils.py function worker_init_fn (line 29) | def worker_init_fn(worker_id): function get_data_loader (line 33) | def get_data_loader(cfg, data_cfg, split, scenes, use_ddp, training, inf... function build_optimizer (line 127) | def build_optimizer(cfg, model): function save_model (line 179) | def save_model(epoch, model, optimizer, log_dir, use_ddp, name=None, bat... function to_gpu (line 193) | def to_gpu(dic): function to_cpu (line 208) | def to_cpu(dic): function write_scalar_ddp (line 223) | def write_scalar_ddp(writer, key, value, step, rank, num, reduce=False, ... function add_to_dict (line 241) | def add_to_dict(dict, key, val): function get_iou (line 247) | def get_iou(out_masks, tgt_masks, reduce=True): function compute_iou (line 256) | def compute_iou(out_masks, tgt_masks, thresh=0.0, loss_masks=None, reduc... function clip_grad_norm (line 300) | def clip_grad_norm(parameters, max_norm, norm_type): FILE: grasp_gen/utils/viser_utils.py function is_rotation_matrix (line 28) | def is_rotation_matrix(M, tol=1e-4): function get_color_from_score (line 44) | def get_color_from_score(labels, use_255_scale=False): function rgb2hex (line 57) | def rgb2hex(rgb: Tuple[int, int, int]) -> str: function _matrix_to_wxyz_position (line 67) | def _matrix_to_wxyz_position(T: np.ndarray) -> Tuple[np.ndarray, np.ndar... function create_visualizer (line 88) | def create_visualizer(clear=True, port: int = 8080): function make_frame (line 107) | def make_frame( function visualize_mesh (line 147) | def visualize_mesh( function visualize_bbox (line 183) | def visualize_bbox( function visualize_pointcloud (line 229) | def visualize_pointcloud( function load_visualization_gripper_points (line 317) | def load_visualization_gripper_points( function visualize_grasp (line 337) | def visualize_grasp( function get_normals_from_mesh (line 397) | def get_normals_from_mesh( FILE: mcp/src/mcp_server_graspgen/__init__.py function main (line 12) | def main(): FILE: mcp/src/mcp_server_graspgen/server.py function _get_server_addr (line 59) | def _get_server_addr() -> str: function _get_socket (line 68) | def _get_socket(timeout_ms: int = 30_000) -> zmq.Socket: function _reset_socket (line 80) | def _reset_socket() -> None: function _zmq_request (line 90) | def _zmq_request(payload: dict, timeout_ms: int = 60_000) -> dict: function _gripper_polyline (line 135) | def _gripper_polyline(width: float, depth: float) -> np.ndarray: function _get_or_create_viser (line 156) | def _get_or_create_viser(port: int) -> viser.ViserServer: function _visualize_grasps_in_viser (line 167) | def _visualize_grasps_in_viser( class GenerateGraspsFromMesh (line 228) | class GenerateGraspsFromMesh(BaseModel): class GenerateGraspsFromPointCloud (line 256) | class GenerateGraspsFromPointCloud(BaseModel): class VisualizeGrasps (line 282) | class VisualizeGrasps(BaseModel): function _read_pcd_ascii (line 323) | def _read_pcd_ascii(path: str) -> np.ndarray: function _load_point_cloud_from_file (line 340) | def _load_point_cloud_from_file(path: str) -> np.ndarray: function _load_and_sample_mesh (line 388) | def _load_and_sample_mesh(mesh_file: str, scale: float, num_points: int)... function _format_grasp_results (line 405) | def _format_grasp_results(grasps: np.ndarray, confidences: np.ndarray, t... function serve (line 446) | async def serve(host: str = "localhost", port: int = 5556) -> None: FILE: pointnet2_ops/pointnet2_ops/_ext-src/include/cuda_utils.h function opt_n_threads (line 15) | inline int opt_n_threads(int work_size) { function dim3 (line 21) | inline dim3 opt_block_config(int x, int y) { FILE: pointnet2_ops/pointnet2_ops/_ext-src/src/ball_query.cpp function ball_query (line 13) | at::Tensor ball_query(at::Tensor new_xyz, at::Tensor xyz, const float ra... FILE: pointnet2_ops/pointnet2_ops/_ext-src/src/bindings.cpp function PYBIND11_MODULE (line 6) | PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { FILE: pointnet2_ops/pointnet2_ops/_ext-src/src/group_points.cpp function group_points (line 17) | at::Tensor group_points(at::Tensor points, at::Tensor idx) { function group_points_grad (line 43) | at::Tensor group_points_grad(at::Tensor grad_out, at::Tensor idx, const ... FILE: pointnet2_ops/pointnet2_ops/_ext-src/src/interpolate.cpp function three_nn (line 19) | std::vector three_nn(at::Tensor unknowns, at::Tensor knows) { function three_interpolate (line 47) | at::Tensor three_interpolate(at::Tensor points, at::Tensor idx, function three_interpolate_grad (line 76) | at::Tensor three_interpolate_grad(at::Tensor grad_out, at::Tensor idx, FILE: pointnet2_ops/pointnet2_ops/_ext-src/src/sampling.cpp function gather_points (line 21) | at::Tensor gather_points(at::Tensor points, at::Tensor idx) { function gather_points_grad (line 46) | at::Tensor gather_points_grad(at::Tensor grad_out, at::Tensor idx, function furthest_point_sampling (line 73) | at::Tensor furthest_point_sampling(at::Tensor points, const int nsamples) { FILE: pointnet2_ops/pointnet2_ops/pointnet2_modules.py function build_shared_mlp (line 9) | def build_shared_mlp(mlp_spec: List[int], bn: bool = True): class _PointnetSAModuleBase (line 22) | class _PointnetSAModuleBase(nn.Module): method __init__ (line 23) | def __init__(self): method forward (line 29) | def forward( class PointnetSAModuleMSG (line 77) | class PointnetSAModuleMSG(_PointnetSAModuleBase): method __init__ (line 94) | def __init__(self, npoint, radii, nsamples, mlps, bn=True, use_xyz=True): class PointnetSAModule (line 118) | class PointnetSAModule(PointnetSAModuleMSG): method __init__ (line 135) | def __init__( class PointnetFPModule (line 149) | class PointnetFPModule(nn.Module): method __init__ (line 160) | def __init__(self, mlp, bn=True): method forward (line 165) | def forward(self, unknown, known, unknow_feats, known_feats): FILE: pointnet2_ops/pointnet2_ops/pointnet2_utils.py class FurthestPointSampling (line 34) | class FurthestPointSampling(Function): method forward (line 36) | def forward(ctx, xyz, npoint): method backward (line 60) | def backward(ctx, grad_out): class GatherOperation (line 67) | class GatherOperation(Function): method forward (line 69) | def forward(ctx, features, idx): method backward (line 92) | def backward(ctx, grad_out): class ThreeNN (line 103) | class ThreeNN(Function): method forward (line 105) | def forward(ctx, unknown, known): method backward (line 131) | def backward(ctx, grad_dist, grad_idx): class ThreeInterpolate (line 138) | class ThreeInterpolate(Function): method forward (line 140) | def forward(ctx, features, idx, weight): method backward (line 163) | def backward(ctx, grad_out): class GroupingOperation (line 193) | class GroupingOperation(Function): method forward (line 195) | def forward(ctx, features, idx): method backward (line 216) | def backward(ctx, grad_out): class BallQuery (line 242) | class BallQuery(Function): method forward (line 244) | def forward(ctx, radius, nsample, xyz, new_xyz): method backward (line 271) | def backward(ctx, grad_out): class QueryAndGroup (line 278) | class QueryAndGroup(nn.Module): method __init__ (line 290) | def __init__(self, radius, nsample, use_xyz=True): method forward (line 295) | def forward(self, xyz, new_xyz, features=None): class GroupAll (line 335) | class GroupAll(nn.Module): method __init__ (line 343) | def __init__(self, use_xyz=True): method forward (line 348) | def forward(self, xyz, new_xyz, features=None): FILE: scripts/convert_obj_to_usd.py function parse_args (line 21) | def parse_args(): function set_usd_mesh_display_color (line 66) | def set_usd_mesh_display_color(usd_path: str, color_rgb: tuple) -> None: function convert_mesh_to_usd (line 86) | def convert_mesh_to_usd( FILE: scripts/create_grasp_sim_usd.py function _numpy_to_gf_matrix4d (line 36) | def _numpy_to_gf_matrix4d(m: np.ndarray) -> Gf.Matrix4d: function _env_offset_index (line 40) | def _env_offset_index(i: int, num_envs: int, env_spacing: float): function create_grasp_sim_usd (line 48) | def create_grasp_sim_usd( function main (line 130) | def main(): FILE: scripts/demo_collision_free_grasps.py function parse_args (line 39) | def parse_args(): function process_point_cloud (line 119) | def process_point_cloud(pc, grasps, grasp_conf, pc_colors=None): FILE: scripts/demo_object_mesh.py function parse_args (line 32) | def parse_args(): function load_mesh_data (line 98) | def load_mesh_data(mesh_file, scale, num_sample_points): FILE: scripts/demo_object_pc.py function parse_args (line 34) | def parse_args(): function process_point_cloud (line 77) | def process_point_cloud(pc, grasps, grasp_conf): FILE: scripts/demo_scene_pc.py function process_grasps_for_visualization (line 38) | def process_grasps_for_visualization(pc, grasps, grasp_conf, pc_colors=N... function parse_args (line 56) | def parse_args(): FILE: scripts/download_objects.py function load_uuid_list (line 46) | def load_uuid_list(uuid_list_path: str) -> list[str]: function simplify_mesh (line 73) | def simplify_mesh(input_path: str, output_path: str) -> bool: function download_with_retry (line 127) | def download_with_retry(uuids: list[str], max_retries: int = 5, batch_si... function process_single_object (line 174) | def process_single_object( function process_single_object_with_uuid (line 226) | def process_single_object_with_uuid( function download_objaverse_meshes (line 252) | def download_objaverse_meshes( function process_text_file (line 403) | def process_text_file( function process_directory (line 420) | def process_directory( function parse_args (line 457) | def parse_args(): FILE: scripts/inference_graspgen.py function record_grasps_diffusion (line 49) | def record_grasps_diffusion(log, cfg, gripper, inputs, output_file=None): function main (line 480) | def main(cfg: DictConfig) -> None: FILE: scripts/inference_m2t2.py function load_scene (line 50) | def load_scene(inputs): function select_grasp (line 69) | def select_grasp(contacts, confidence, args): function record_grasps (line 88) | def record_grasps(log, cfg, gripper, inputs, output_file=None): function record_worker (line 377) | def record_worker(rank, queue, log_queue, record_fn, gripper, args, outp... function main (line 389) | def main(cfg: DictConfig) -> None: FILE: scripts/run_grasp_sim_omniverse.py function _get_articulation_roots_under_world (line 39) | def _get_articulation_roots_under_world(stage): function _get_closed_joint_positions (line 56) | def _get_closed_joint_positions(articulation, use_lower=True): function run_grasp_on_play (line 71) | def run_grasp_on_play(): function main (line 128) | def main(): FILE: scripts/save_grasps_to_usd.py function save_grasps_to_usd (line 41) | def save_grasps_to_usd( function load_grasps_from_usd (line 114) | def load_grasps_from_usd( function _numpy_to_gf_matrix4d (line 148) | def _numpy_to_gf_matrix4d(m: np.ndarray) -> Gf.Matrix4d: function _gf_matrix4d_to_numpy (line 153) | def _gf_matrix4d_to_numpy(m: Gf.Matrix4d) -> np.ndarray: function _remove_existing_grasps (line 158) | def _remove_existing_grasps(stage: Usd.Stage, grasps_root: str): function _get_gripper_wireframe_segments (line 165) | def _get_gripper_wireframe_segments(gripper_name: str) -> np.ndarray: function _add_basis_curves_prim (line 188) | def _add_basis_curves_prim( function add_grasps_visualization_to_stage (line 228) | def add_grasps_visualization_to_stage( function _load_yaml_grasps (line 262) | def _load_yaml_grasps(yaml_path: str): function parse_args (line 282) | def parse_args(): FILE: scripts/train_graspgen.py function train_one_epoch (line 60) | def train_one_epoch( function eval_one_epoch (line 225) | def eval_one_epoch(loader, model, writer, epoch, global_step, cfg): function init_seeds (line 332) | def init_seeds(seed): function train (line 342) | def train(rank, cfg): function main (line 508) | def main(cfg: DictConfig) -> None: FILE: scripts/train_m2t2.py function train_one_epoch (line 57) | def train_one_epoch( function eval_one_epoch (line 276) | def eval_one_epoch(loader, model, writer, epoch, global_step, plot_fn, c... function init_seeds (line 454) | def init_seeds(seed): function train (line 464) | def train(rank, cfg): function main (line 607) | def main(cfg: DictConfig) -> None: FILE: tests/conftest.py function pytest_addoption (line 6) | def pytest_addoption(parser): function device (line 17) | def device(): function random_seed (line 23) | def random_seed(): function sample_point_cloud (line 31) | def sample_point_cloud(): function sample_rotation_matrix (line 46) | def sample_rotation_matrix(): function sample_pose (line 54) | def sample_pose(): FILE: tests/test_dataset_format.py function test_dataset_format_convention (line 10) | def test_dataset_format_convention(): FILE: tests/test_grasp_server.py function sample_point_cloud (line 10) | def sample_point_cloud(): function franka_config_path (line 21) | def franka_config_path(): function robotiq_config_path (line 30) | def robotiq_config_path(): function test_grasp_sampler_initialization_franka (line 38) | def test_grasp_sampler_initialization_franka(franka_config_path): function test_grasp_sampler_initialization_robotiq (line 54) | def test_grasp_sampler_initialization_robotiq(robotiq_config_path): function test_grasp_sampling_basic_franka (line 70) | def test_grasp_sampling_basic_franka(sample_point_cloud, franka_config_p... function test_grasp_sampling_basic_robotiq (line 107) | def test_grasp_sampling_basic_robotiq(sample_point_cloud, robotiq_config... function test_grasp_sampling_parameters_franka (line 143) | def test_grasp_sampling_parameters_franka(sample_point_cloud, franka_con... function test_grasp_sampling_parameters_robotiq (line 184) | def test_grasp_sampling_parameters_robotiq(sample_point_cloud, robotiq_c... FILE: tests/test_inference_installation.py function box_mesh_path (line 36) | def box_mesh_path(): function point_cloud_from_box (line 46) | def point_cloud_from_box(box_mesh_path): function _make_generator_cfg (line 54) | def _make_generator_cfg(backbone: str) -> DictConfig: function _make_discriminator_cfg (line 82) | def _make_discriminator_cfg(backbone: str) -> DictConfig: function _prepare_batch (line 99) | def _prepare_batch(point_cloud: torch.Tensor, device: torch.device) -> d... function _run_inference (line 114) | def _run_inference(model, data_batch, num_grasps: int = 100): function test_inference_100_grasps (line 129) | def test_inference_100_grasps(backbone, point_cloud_from_box): function test_model_components (line 168) | def test_model_components(backbone): FILE: tests/test_inference_perf.py function _make_generator_cfg (line 76) | def _make_generator_cfg(backbone: str) -> DictConfig: function _make_discriminator_cfg (line 103) | def _make_discriminator_cfg(backbone: str) -> DictConfig: function _prepare_batch (line 119) | def _prepare_batch(point_cloud: torch.Tensor, device: torch.device) -> d... class BenchResult (line 134) | class BenchResult: method mean_ms (line 140) | def mean_ms(self) -> float: method std_ms (line 144) | def std_ms(self) -> float: method hz_mean (line 148) | def hz_mean(self) -> float: method hz_std (line 152) | def hz_std(self) -> float: function _bench_loop (line 156) | def _bench_loop(model, data_batch, warmup_seconds, warmup_min_iters, ben... function _print_table (line 185) | def _print_table(backbone: str, mesh_name: str, rows): function mesh_path (line 229) | def mesh_path(request): function point_cloud_from_mesh (line 246) | def point_cloud_from_mesh(mesh_path): function test_inference_perf (line 262) | def test_inference_perf(backbone, point_cloud_from_mesh, mesh_path): FILE: tests/test_math_utils.py function test_rotation_so3_conversion (line 13) | def test_rotation_so3_conversion(): function test_rotation_so3_batch (line 29) | def test_rotation_so3_batch(): function test_compute_pose_distance_batch (line 43) | def test_compute_pose_distance_batch(): function test_compute_pose_emd (line 62) | def test_compute_pose_emd(): function test_rotation_orthogonality (line 79) | def test_rotation_orthogonality(): FILE: tests/test_point_cloud_utils.py function test_knn_points_basic (line 7) | def test_knn_points_basic(): function test_knn_points_identical_points (line 34) | def test_knn_points_identical_points(): function test_point_cloud_outlier_removal (line 49) | def test_point_cloud_outlier_removal(): function test_point_cloud_outlier_removal_no_outliers (line 74) | def test_point_cloud_outlier_removal_no_outliers(): function test_point_cloud_outlier_removal_identical_points (line 85) | def test_point_cloud_outlier_removal_identical_points(): FILE: tests/test_robot.py function test_canonical_gripper_control_points (line 19) | def test_canonical_gripper_control_points(): function test_load_visualize_control_points_multi_suction (line 41) | def test_load_visualize_control_points_multi_suction(): function test_parse_offset_transform_from_yaml (line 63) | def test_parse_offset_transform_from_yaml(): function test_gripper_info_dataclass (line 88) | def test_gripper_info_dataclass(): function test_canonical_gripper_control_points_parameterized (line 118) | def test_canonical_gripper_control_points_parameterized(width, depth): function test_load_gripper_yaml_file (line 137) | def test_load_gripper_yaml_file(tmp_path): function test_load_default_gripper_config_franka_panda (line 165) | def test_load_default_gripper_config_franka_panda(): function test_get_gripper_info (line 175) | def test_get_gripper_info(): function test_get_gripper_depth (line 190) | def test_get_gripper_depth(): function test_gripper_info_consistency (line 201) | def test_gripper_info_consistency(gripper_name): FILE: tests/test_rotation_conversions.py function test_euler_matrix_conversion (line 12) | def test_euler_matrix_conversion(sample_rotation_matrix): function test_quaternion_matrix_conversion (line 24) | def test_quaternion_matrix_conversion(sample_rotation_matrix): function test_euler_angles_consistency (line 36) | def test_euler_angles_consistency(): function test_rotation_identity (line 54) | def test_rotation_identity(): function test_rotation_composition (line 72) | def test_rotation_composition(): FILE: tests/test_serving.py class TestPCDReader (line 36) | class TestPCDReader: method test_read_example_pcd (line 39) | def test_read_example_pcd(self): method test_read_synthetic_pcd (line 50) | def test_read_synthetic_pcd(self, tmp_path): class TestLoadPointCloudFromFile (line 76) | class TestLoadPointCloudFromFile: method test_load_pcd (line 79) | def test_load_pcd(self): method test_load_npy (line 90) | def test_load_npy(self, tmp_path): method test_load_xyz (line 101) | def test_load_xyz(self, tmp_path): method test_unsupported_format_raises (line 111) | def test_unsupported_format_raises(self, tmp_path): method test_bad_shape_raises (line 119) | def test_bad_shape_raises(self, tmp_path): class TestLoadPointCloudFromMesh (line 129) | class TestLoadPointCloudFromMesh: method test_load_box_mesh (line 130) | def test_load_box_mesh(self): method test_mesh_scale (line 140) | def test_mesh_scale(self): function _make_fake_grasps (line 159) | def _make_fake_grasps(n: int): class MockGraspGenServer (line 168) | class MockGraspGenServer: method __init__ (line 171) | def __init__(self, port: int, num_fake_grasps: int = 10): method _loop (line 181) | def _loop(self): method _handle (line 192) | def _handle(self, req: dict) -> dict: method stop (line 218) | def stop(self): function mock_server (line 226) | def mock_server(): class TestClientProtocol (line 235) | class TestClientProtocol: method test_health_check (line 238) | def test_health_check(self, mock_server): method test_get_metadata (line 248) | def test_get_metadata(self, mock_server): method test_infer_returns_correct_shapes (line 260) | def test_infer_returns_correct_shapes(self, mock_server): method test_infer_validates_bad_input (line 277) | def test_infer_validates_bad_input(self, mock_server): method test_context_manager (line 288) | def test_context_manager(self, mock_server): method test_wait_for_server_connects (line 297) | def test_wait_for_server_connects(self, mock_server): method test_multiple_infer_calls (line 308) | def test_multiple_infer_calls(self, mock_server): function _live_server_available (line 328) | def _live_server_available(host: str = "localhost", port: int = 5556) ->... class TestLiveServer (line 348) | class TestLiveServer: method _require_live_server (line 356) | def _require_live_server(self): method test_live_health (line 360) | def test_live_health(self): method test_live_metadata (line 366) | def test_live_metadata(self): method test_live_infer_random_cloud (line 374) | def test_live_infer_random_cloud(self): method test_live_infer_example_pcd (line 386) | def test_live_infer_example_pcd(self): method test_live_infer_example_mesh (line 404) | def test_live_infer_example_mesh(self): FILE: tests/test_usd_grasp_pipeline.py function box_obj_path (line 46) | def box_obj_path(): function tmp_dir (line 53) | def tmp_dir(): function box_usd_path (line 59) | def box_usd_path(box_obj_path, tmp_dir): function _make_synthetic_grasps (line 67) | def _make_synthetic_grasps(n: int = 10, seed: int = 42): class TestObjToUsdConversion (line 85) | class TestObjToUsdConversion: method test_usd_file_created (line 88) | def test_usd_file_created(self, box_usd_path): method test_usd_mesh_matches_obj (line 92) | def test_usd_mesh_matches_obj(self, box_obj_path, box_usd_path): class TestSaveGraspsToUsd (line 114) | class TestSaveGraspsToUsd: method test_save_and_load_roundtrip (line 117) | def test_save_and_load_roundtrip(self, box_usd_path): method test_grasp_transforms_are_valid_homogeneous (line 139) | def test_grasp_transforms_are_valid_homogeneous(self, box_usd_path): method test_overwrite_replaces_old_grasps (line 159) | def test_overwrite_replaces_old_grasps(self, box_usd_path): method test_save_to_separate_output (line 171) | def test_save_to_separate_output(self, box_usd_path, tmp_dir): class TestUsdGraspPrimStructure (line 185) | class TestUsdGraspPrimStructure: method test_grasps_root_exists (line 188) | def test_grasps_root_exists(self, box_usd_path): method test_each_grasp_is_xform_with_confidence (line 199) | def test_each_grasp_is_xform_with_confidence(self, box_usd_path): method test_object_mesh_preserved (line 218) | def test_object_mesh_preserved(self, box_usd_path): class TestEndToEndPipeline (line 237) | class TestEndToEndPipeline: method test_full_pipeline (line 240) | def test_full_pipeline(self, box_obj_path, tmp_dir): FILE: tutorials/generate_dataset_suction_single_object.py function parse_args (line 38) | def parse_args(): function setup_directories (line 97) | def setup_directories(output_dir, object_basename): function copy_object_to_dataset (line 110) | def copy_object_to_dataset( function generate_grasps (line 129) | def generate_grasps(obj_mesh, suction_gripper, num_grasps, num_disturban... function create_grasp_dataset_json (line 155) | def create_grasp_dataset_json( function create_splits_file (line 214) | def create_splits_file(tutorial_object_dir, tutorial_grasp_dir, object_b... function main (line 232) | def main(): FILE: tutorials/generate_model_inference_config.py function parse_args (line 30) | def parse_args(): function copy_checkpoint (line 58) | def copy_checkpoint(src_path, dst_path, checkpoint_name): function create_config_file (line 73) | def create_config_file(gen_log_dir, dis_log_dir, models_dir): function main (line 131) | def main():