from collections import namedtuple from typing import List ModelConfig = namedtuple("ModelConfig", ["model_name", "task", "representation", "paradigm", "page_link", "code_link", "organization"]) model_config = {} def register_model_config( nick_name:str, model_name: str, task: str, representation: str, paradigm: str = None, page_link: str = None, code_link: str = None, organization: str = None ): config = ModelConfig(model_name, task, representation, paradigm, page_link, code_link, organization) model_config[nick_name] = config def get_model_config(model_name: str) -> ModelConfig: assert model_name in model_config return model_config[model_name] ### Registering model configurations for TExt-to-3D models register_model_config( nick_name="dreamfusion", model_name="DreamFusion", task="Text-to-3D", representation="NeRF", paradigm="Optimazation", page_link="https://dreamfusion3d.github.io/", code_link="", organization="Google Research" ) register_model_config( nick_name="sjc", model_name="SJC", task="Text-to-3D", representation="Voxel NeRF", paradigm="Optimization", page_link="https://pals.ttic.edu/p/score-jacobian-chaining", code_link="https://github.com/pals-ttic/sjc", organization="TTI-Chicago" ) register_model_config( nick_name="latent-nerf", model_name="Latent-NeRF", task="Text-to-3D", representation="NeRF", paradigm="Optimization", page_link="", code_link="https://github.com/eladrich/latent-nerf", organization="Tel Aviv University" ) register_model_config( nick_name="magic3d", model_name="Magic3D", task="Text-to-3D", representation="", paradigm="", page_link="https://research.nvidia.com/labs/dir/magic3d/", code_link="", organization="Nvidia" ) register_model_config( nick_name="lucid-dreamer", model_name="LucidDreamer", task="Text-to-3D", representation="", paradigm="", page_link="https://luciddreamer-cvlab.github.io/", code_link="https://github.com/luciddreamer-cvlab/LucidDreamer", organization="Computer Vision Lab, Seoul National University " ) register_model_config( nick_name="mvdream", model_name="MVDream", task="Text-to-3D", representation="", paradigm="", page_link="https://mv-dream.github.io/", code_link="https://github.com/bytedance/MVDream", organization="ByteDance" ) register_model_config( nick_name="hunyuan3d-2.5-t", model_name="Hunyuan3D 2.5", task="Text-to-3D", representation="", paradigm="", page_link="https://3d-models.hunyuan.tencent.com/", code_link="", organization="Tencent Hunyuan3D Team" ) register_model_config( nick_name="grm-t", model_name="GRM", task="Text-to-3D", representation="", paradigm="", page_link="https://justimyhxu.github.io/projects/grm/", code_link="https://github.com/justimyhxu/grm", organization="Stanford Univerity" ) register_model_config( nick_name="point-e-t", model_name="Point-E", task="Text-to-3D", representation="", paradigm="", page_link="https://openai.com/index/point-e/", code_link="https://github.com/openai/point-e", organization="OpenAI" ) register_model_config( nick_name="shap-e-t", model_name="Shap-E", task="Text-to-3D", representation="", paradigm="", page_link="", code_link="https://github.com/openai/shap-e", organization="OpenAI" ) ## Registering model configurations for Image-to-3D models register_model_config( nick_name="trellis", model_name="TRELLIS", task="Image-to-3D", representation="", paradigm="Naive 3DGen", page_link="https://microsoft.github.io/TRELLIS/", code_link="https://github.com/Microsoft/TRELLIS", organization="Microsoft Research" ) register_model_config( nick_name="hunyuan3d-2.0", model_name="Hunyuan3D 2.0", task="Image-to-3D", representation="Mesh", paradigm="Naive 3DGen", page_link="https://3d-models.hunyuan.tencent.com/", code_link="https://github.com/Tencent-Hunyuan/Hunyuan3D-2", organization="Tencent Hunyuan3D Team" ) register_model_config( nick_name="hunyuan3d-2.5-i", model_name="Hunyuan3D 2.5", task="Image-to-3D", representation="", paradigm="", page_link="https://3d-models.hunyuan.tencent.com/", code_link="", organization="Tencent Hunyuan3D Team" ) register_model_config( nick_name="spar3d", model_name="SPAR3D", task="Image-to-3D", representation="", paradigm="", page_link="https://spar3d.github.io/", code_link="https://github.com/Stability-AI/stable-point-aware-3d", organization="Stability AI" ) register_model_config( nick_name="instantmesh", model_name="InstantMesh", task="Image-to-3D", representation="", paradigm="", page_link="", code_link="https://github.com/TencentARC/InstantMesh", organization="ARC Lab, Tencent PCG" ) register_model_config( nick_name="triposr", model_name="TripoSR", task="Image-to-3D", representation="", paradigm="", page_link="", code_link="https://github.com/VAST-AI-Research/TripoSR", organization="Tripo AI, Staility AI" ) register_model_config( nick_name="unique3d", model_name="Unique3D", task="Image-to-3D", representation="", paradigm="", page_link="https://wukailu.github.io/Unique3D/", code_link="https://github.com/AiuniAI/Unique3D", organization="Tsinghua University" ) register_model_config( nick_name="crm", model_name="CRM", task="Image-to-3D", representation="", paradigm="", page_link="https://ml.cs.tsinghua.edu.cn/~zhengyi/CRM/", code_link="https://github.com/thu-ml/CRM", organization="Tsinghua University" ) register_model_config( nick_name="ln3diff", model_name="LN3Diff", task="Image-to-3D", representation="", paradigm="", page_link="https://nirvanalan.github.io/projects/ln3diff/", code_link="https://github.com/NIRVANALAN/LN3Diff", organization="S-Lab, Nanyang Technological University" ) register_model_config( nick_name="wonder3d", model_name="Wonder3D", task="Image-to-3D", representation="", paradigm="", page_link="https://www.xxlong.site/Wonder3D/", code_link="https://github.com/xxlong0/Wonder3D", organization="The University of Hong Kong" ) register_model_config( nick_name="openlrm", model_name="OpenLRM", task="Image-to-3D", representation="", paradigm="", page_link="", code_link="https://github.com/3DTopia/OpenLRM", organization="Shanghai AI Lab" ) register_model_config( nick_name="sz123", model_name="Stable Zero123", task="Image-to-3D", representation="", paradigm="", page_link="https://stability.ai/stable-3d", code_link="https://huggingface.co/stabilityai/stable-zero123", organization="Stability AI" ) register_model_config( nick_name="z123", model_name="Zero-1-to-3 XL", task="Image-to-3D", representation="", paradigm="", page_link="https://zero123.cs.columbia.edu/", code_link="https://github.com/cvlab-columbia/zero123", organization="Columbia University" ) register_model_config( nick_name="magic123", model_name="Magic123", task="Image-to-3D", representation="", paradigm="", page_link="https://guochengqian.github.io/project/magic123/", code_link="https://github.com/guochengqian/Magic123", organization="KAUST" ) register_model_config( nick_name="lgm", model_name="LGM", task="Image-to-3D", representation="", paradigm="", page_link="https://me.kiui.moe/lgm/", code_link="https://github.com/3DTopia/LGM", organization="Peking University" ) register_model_config( nick_name="grm-i", model_name="GRM", task="Image-to-3D", representation="", paradigm="", page_link="https://justimyhxu.github.io/projects/grm/", code_link="https://github.com/justimyhxu/grm", organization="Stanford Univerity" ) register_model_config( nick_name="syncdreamer", model_name="SyncDreamer", task="Image-to-3D", representation="", paradigm="", page_link="https://liuyuan-pal.github.io/SyncDreamer/", code_link="https://github.com/liuyuan-pal/SyncDreamer", organization="The University of Hong Kong, Tencent Games" ) register_model_config( nick_name="shap-e-i", model_name="Shap-E", task="Image-to-3D", representation="", paradigm="", page_link="", code_link="https://github.com/openai/shap-e", organization="OpenAI" ) register_model_config( nick_name="point-e-i", model_name="Point-E", task="Image-to-3D", representation="", paradigm="", page_link="https://openai.com/index/point-e/", code_link="https://github.com/openai/point-e", organization="OpenAI" ) register_model_config( nick_name="escher-net", model_name="EscherNet", task="Image-to-3D", representation="", paradigm="", page_link="https://kxhit.github.io/EscherNet", code_link="https://github.com/kxhit/EscherNet", organization="Dyson Robotics Lab, Imperial College London" ) register_model_config( nick_name="free3d", model_name="Free3D", task="Image-to-3D", representation="", paradigm="", page_link="https://chuanxiaz.com/free3d/", code_link="https://github.com/lyndonzheng/Free3D", organization="Visual Geometry Group, University of Oxford" ) register_model_config( nick_name="triplane-gaussian", model_name="TriplaneGaussian", task="Image-to-3D", representation="", paradigm="", page_link="https://zouzx.github.io/TriplaneGaussian/", code_link="https://github.com/VAST-AI-Research/TriplaneGaussian", organization="BNRist, Tsinghua University, VAST" ) # register_model_config( # nick_name="", # model_name="", # task="", # representation="", # paradigm="", # page_link="", # code_link="", # organization="" # )