SYMBOL INDEX (874 symbols across 97 files) FILE: MotionCorrection/python/motion_correction/motion_postprocess.py function correct_motion (line 13) | def correct_motion( FILE: MotionCorrection/run_test.py class Joint (line 10) | class Joint: method __init__ (line 11) | def __init__(self, name, parent, t_pose_translation, t_pose_rotation, ... function create_test_rig (line 19) | def create_test_rig(): FILE: MotionCorrection/setup.py class CMakeExtension (line 17) | class CMakeExtension(Extension): method __init__ (line 18) | def __init__(self, name, sourcedir=""): class CMakeBuild (line 23) | class CMakeBuild(build_ext): method run (line 24) | def run(self): method build_extension (line 33) | def build_extension(self, ext): FILE: MotionCorrection/src/cpp/AnimProcessing/InverseKinematics.cpp function getAngleWithTwoSideVectors (line 16) | float getAngleWithTwoSideVectors(const Math::Vector& vecLeft, const Math... function getAngleWithCosineRule (line 27) | float getAngleWithCosineRule (const float lSideLeft, const float lSideRi... FILE: MotionCorrection/src/cpp/AnimProcessing/InverseKinematics.h function namespace (line 14) | namespace IK { FILE: MotionCorrection/src/cpp/AnimProcessing/TrajectoryCorrector.cpp function removeRows (line 9) | static void removeRows( function multVelWeights (line 46) | static void multVelWeights( FILE: MotionCorrection/src/cpp/AnimProcessing/TrajectoryCorrector.h function class (line 10) | class TrajectoryCorrector FILE: MotionCorrection/src/cpp/AnimProcessing/Utility.cpp function DebugPrintIntervalsEnabled (line 27) | bool DebugPrintIntervalsEnabled() function FilterContactIntervals (line 39) | void FilterContactIntervals( function ComputeContactIntervals (line 82) | std::vector> ComputeContactIntervals( function FindContactPoints (line 122) | void FindContactPoints( function TargetReachFalloff (line 194) | float TargetReachFalloff( function CorrectHipsY (line 222) | void CorrectHipsY( function SmoothChannels (line 265) | void SmoothChannels( function CorrectHipsXZ (line 296) | void CorrectHipsXZ( function CorrectRotationsForBone (line 368) | void CorrectRotationsForBone( function CorrectJointRotations (line 452) | void CorrectJointRotations( function DoEffectorIK (line 488) | void DoEffectorIK( function DoContactIK (line 608) | void DoContactIK( FILE: MotionCorrection/src/cpp/AnimProcessing/Utility.h function namespace (line 13) | namespace Animation FILE: MotionCorrection/src/cpp/BindingsPython.cpp function strip_nan_inf (line 21) | float strip_nan_inf(float x) noexcept function correct_motion (line 28) | void correct_motion( function PYBIND11_MODULE (line 361) | PYBIND11_MODULE(_motion_correction, m) { FILE: MotionCorrection/src/cpp/Math/Constants.h function namespace (line 12) | namespace Math FILE: MotionCorrection/src/cpp/Math/Matrix.cpp function CheckForZeroScaleInRow (line 14) | static bool CheckForZeroScaleInRow(float scale, const Vector& row) function ExtractAndRemoveScalingAndShear (line 29) | static bool ExtractAndRemoveScalingAndShear(Matrix& matrix, Vector& scal... type Math (line 166) | namespace Math function EulerAngles (line 232) | EulerAngles Matrix::ToEulerAngles() const function Vector (line 266) | Vector Matrix::GetScale() const function Matrix (line 281) | Matrix& Matrix::SetScale(const Vector& newScale) function Matrix (line 295) | Matrix& Matrix::RemoveScale() FILE: MotionCorrection/src/cpp/Math/Matrix.h type class (line 11) | enum class FILE: MotionCorrection/src/cpp/Math/Quaternion.cpp type Math (line 9) | namespace Math function EulerAngles (line 14) | EulerAngles Quaternion::ToEulerAngles() const function Quaternion (line 19) | Quaternion Quaternion::LookRotation(const Vector& forward, const Vecto... FILE: MotionCorrection/src/cpp/Math/Quaternion.h function namespace (line 10) | namespace Math FILE: MotionCorrection/src/cpp/Math/SIMD.h function namespace (line 11) | namespace SIMD FILE: MotionCorrection/src/cpp/Math/Scalar.h function namespace (line 20) | namespace Math FILE: MotionCorrection/src/cpp/Math/Transform.cpp type Math (line 8) | namespace Math FILE: MotionCorrection/src/cpp/Math/Types.h type NoInit_t (line 10) | enum NoInit_t { NoInit } type ZeroInit_t (line 11) | enum ZeroInit_t { ZeroInit } type IdentityInit_t (line 12) | enum IdentityInit_t { IdentityInit } function Axis (line 14) | enum class Axis : uint8_t function Int2 (line 62) | inline Int2 operator/( int32_t const& rhs ) const { return Int2( m_x / r... type Int3 (line 74) | struct Int3 function const (line 89) | inline int32_t const& operator[]( uint32_t i ) const { return ( (int32_t... function operator (line 91) | inline bool operator==( Int3 const rhs ) const { return m_x == rhs.m_x &... function operator (line 92) | inline bool operator!=( Int3 const rhs ) const { return m_x != rhs.m_x |... function Int3 (line 97) | inline Int3 operator/( Int3 const& rhs ) const { return Int3( m_x / rhs.... function Int3 (line 108) | inline Int3 operator/( int32_t const& rhs ) const { return Int3( m_x / r... type Int4 (line 120) | struct Int4 function const (line 135) | inline int32_t const& operator[]( uint32_t i ) const { return ( (int32_t... function operator (line 137) | inline bool operator==( Int4 const rhs ) const { return m_x == rhs.m_x &... function operator (line 138) | inline bool operator!=( Int4 const rhs ) const { return m_x != rhs.m_x |... function Int4 (line 143) | inline Int4 operator/( int32_t const& rhs ) const { return Int4( m_x / r... function Int4 (line 154) | inline Int4 operator/( Int4 const& rhs ) const { return Int4( m_x / rhs.... type Float2 (line 166) | struct Float2 function const (line 187) | inline float const& operator[]( uint32_t i ) const { return ( (float*) t... function Float2 (line 197) | inline Float2 operator/( Float2 const& rhs ) const { return Float2( m_x ... function Float2 (line 202) | inline Float2 operator/( float const& rhs ) const { return Float2( m_x /... type Float3 (line 217) | struct Float3 function const (line 241) | inline float const& operator[]( uint32_t i ) const { return ( (float*) t... function Float3 (line 253) | inline Float3 operator/( Float3 const& rhs ) const { return Float3( m_x ... function Float3 (line 258) | inline Float3 operator/( float const& rhs ) const { return Float3( m_x /... type Float4 (line 273) | struct Float4 function const (line 298) | float const& operator[]( uint32_t i ) const { return ( (float*) this )[i... function Float4 (line 311) | inline Float4 operator/( Float4 const& rhs ) const { return Float4( m_x ... function Float4 (line 316) | inline Float4 operator/( float const& rhs ) const { return Float4( m_x /... function Int2 (line 331) | inline Int2::Int2( Float2 const& v ) function Int3 (line 337) | inline Int3::Int3( Float3 const& v ) function Float2 (line 344) | inline Float2::Float2( Float3 const& v ) function Float2 (line 350) | inline Float2::Float2( Float4 const& v ) type Degrees (line 364) | struct Degrees type Degrees (line 366) | struct Degrees function operator (line 375) | operator Radians() const; function Degrees (line 384) | inline Degrees operator/( Degrees const& rhs ) const { return Degrees( m... function Degrees (line 394) | inline Degrees operator/( float const& rhs ) const { return Degrees( m_v... function Degrees (line 404) | inline Degrees operator/( int32_t const& rhs ) const { return Degrees( m... function Degrees (line 414) | inline Degrees operator/( uint32_t const& rhs ) const { return Degrees( ... function operator (line 422) | inline bool operator<( float const& rhs ) const { return m_value < rhs; } function operator (line 423) | inline bool operator>=( float const& rhs ) const { return m_value >= rhs; } function operator (line 424) | inline bool operator<=( float const& rhs ) const { return m_value <= rhs; } function operator (line 426) | inline bool operator>( Degrees const& rhs ) const { return m_value > rhs... function operator (line 427) | inline bool operator<( Degrees const& rhs ) const { return m_value < rhs... function operator (line 428) | inline bool operator>=( Degrees const& rhs ) const { return m_value >= r... function operator (line 429) | inline bool operator<=( Degrees const& rhs ) const { return m_value <= r... function operator (line 436) | inline bool operator==( float const& v ) const { return Math::IsNearEqua... function operator (line 437) | inline bool operator!=( float const& v ) const { return !Math::IsNearEqu... function operator (line 439) | inline bool operator==( Degrees const& rhs ) const { return m_value == ... function operator (line 440) | inline bool operator!=( Degrees const& rhs ) const { return m_value != ... function Clamp (line 445) | inline void Clamp( Degrees min, Degrees max ) function Clamp360 (line 451) | inline void Clamp360() function Degrees (line 457) | inline Degrees GetClamped360() const function Degrees (line 478) | inline Degrees GetClamped180() const function Degrees (line 497) | inline Degrees GetClampedPositive360() const function Radians (line 534) | inline Radians operator/( Radians const& rhs ) const { return Radians( m... function Radians (line 544) | inline Radians operator/( float const& rhs ) const { return Radians( m_v... function Radians (line 554) | inline Radians operator/( int32_t const& rhs ) const { return Radians( m... function Radians (line 564) | inline Radians operator/( uint32_t const& rhs ) const { return Radians( ... function operator (line 572) | inline bool operator<( float const& rhs ) const { return m_value < rhs; } function operator (line 573) | inline bool operator>=( float const& rhs ) const { return m_value >= rhs; } function operator (line 574) | inline bool operator<=( float const& rhs ) const { return m_value <= rhs; } function operator (line 576) | inline bool operator>( Radians const& rhs ) const { return m_value > rhs... function operator (line 577) | inline bool operator<( Radians const& rhs ) const { return m_value < rhs... function operator (line 578) | inline bool operator>=( Radians const& rhs ) const { return m_value >= r... function operator (line 579) | inline bool operator<=( Radians const& rhs ) const { return m_value <= r... function operator (line 586) | inline bool operator==( float const& v ) const { return Math::IsNearEqua... function operator (line 587) | inline bool operator!=( float const& v ) const { return !Math::IsNearEqu... function operator (line 589) | inline bool operator==( Radians const& rhs ) const { return m_value == r... function operator (line 590) | inline bool operator!=( Radians const& rhs ) const { return m_value != r... function Clamp (line 595) | inline void Clamp( Radians min, Radians max ) function Clamp360 (line 601) | inline void Clamp360() function Radians (line 607) | inline Radians GetClamped360() const function Radians (line 625) | inline Radians GetClampedToPositive360() const function Radians (line 646) | inline Radians GetClamped180() const function Flip (line 670) | inline void Flip() function Radians (line 678) | inline Radians GetFlipped() const function rhs (line 704) | inline bool Degrees::operator>( Radians const& rhs ) const { return m_va... function rhs (line 705) | inline bool Degrees::operator<( Radians const& rhs ) const { return m_va... function rhs (line 706) | inline bool Degrees::operator>=( Radians const& rhs ) const { return m_v... function rhs (line 707) | inline bool Degrees::operator<=( Radians const& rhs ) const { return m_v... function rhs (line 709) | inline bool Degrees::operator==( Radians const& rhs ) const { return Mat... function rhs (line 710) | inline bool Degrees::operator!=( Radians const& rhs ) const { return !Ma... function Radians (line 712) | inline Radians::Radians( Degrees const& degrees ) function rhs (line 716) | inline bool Radians::operator>( Degrees const& rhs ) const { return m_va... function rhs (line 717) | inline bool Radians::operator<( Degrees const& rhs ) const { return m_va... function rhs (line 718) | inline bool Radians::operator>=( Degrees const& rhs ) const { return m_v... function rhs (line 719) | inline bool Radians::operator<=( Degrees const& rhs ) const { return m_v... function rhs (line 721) | inline bool Radians::operator==( Degrees const& rhs ) const { return Mat... function rhs (line 722) | inline bool Radians::operator!=( Degrees const& rhs ) const { return !Ma... function GetClamped (line 724) | struct EulerAngles function other (line 775) | inline bool operator==( EulerAngles const& other ) const { return m_x ==... function other (line 776) | inline bool operator!=( EulerAngles const& other ) const { return m_x !=... function Radians (line 778) | inline Radians& operator[]( uint32_t i ) { return ( (Radians*) this )[i]; } function Radians (line 779) | inline Radians const& operator[]( uint32_t i ) const { return ( (Radians... type AxisAngle (line 790) | struct AxisAngle FILE: MotionCorrection/src/cpp/Math/Vector.cpp type Math (line 9) | namespace Math function Vector (line 72) | Vector Vector::SLerp(const Vector& from, const Vector& to, float t) FILE: MotionCorrection/src/cpp/Math/Vector.h function namespace (line 14) | namespace Math FILE: benchmark/create_benchmark.py function download_benchmark (line 30) | def download_benchmark(dest: Path) -> Path: function discover_seed_motion_folders (line 43) | def discover_seed_motion_folders(root: Path) -> list[Path]: function constraints_and_motion_from_seed (line 56) | def constraints_and_motion_from_seed(folder: str, dataset_folder: str, f... function main (line 131) | def main(): FILE: benchmark/embed_folder.py function discover_motion_folders (line 22) | def discover_motion_folders(root: Path) -> list[Path]: function _load_posed_joints (line 34) | def _load_posed_joints(npz_path: Path, device: str) -> torch.Tensor: function main (line 48) | def main(): FILE: benchmark/evaluate_folder.py function discover_motion_folders (line 42) | def discover_motion_folders(root: Path) -> list[tuple[Path, Path]]: function group_by_parent (line 55) | def group_by_parent(examples: list[tuple[Path, Path]]) -> list[list[tupl... function _to_scalar (line 66) | def _to_scalar(t: torch.Tensor) -> float: function _to_p95 (line 70) | def _to_p95(t: torch.Tensor) -> float: function _per_sample_metrics_from_saved (line 76) | def _per_sample_metrics_from_saved(metrics_list: list, n: int) -> list[d... function _load_pair_embeddings (line 87) | def _load_pair_embeddings( function _load_npz_motion (line 112) | def _load_npz_motion( function _run_eval_on_group (line 134) | def _run_eval_on_group( function _write_json (line 254) | def _write_json(path: Path, payload: dict[str, Any]) -> None: function main (line 259) | def main(): FILE: benchmark/generate_eval.py function parse_args (line 26) | def parse_args(): function discover_example_folders (line 82) | def discover_example_folders(root: Path) -> list[tuple[Path, Path]]: function copy_source_files (line 98) | def copy_source_files(src_dir: Path, out_dir: Path) -> None: class EvalExampleDataset (line 107) | class EvalExampleDataset(Dataset): method __init__ (line 112) | def __init__( method __len__ (line 124) | def __len__(self) -> int: method __getitem__ (line 127) | def __getitem__(self, idx: int) -> dict[str, Any]: function collate_examples (line 150) | def collate_examples(batch: list[dict]) -> dict[str, Any]: function group_by_parent (line 162) | def group_by_parent( function _slice_output_at (line 179) | def _slice_output_at(output: dict[str, Any], index: int) -> dict[str, Any]: function _crop_output (line 192) | def _crop_output(output: dict[str, Any], num_frames: int) -> dict[str, A... function main (line 205) | def main(): FILE: benchmark/parse_folder.py function _discover_sample_dirs (line 41) | def _discover_sample_dirs(root: Path) -> list[Path]: function _discover_testcase_dirs (line 50) | def _discover_testcase_dirs(root: Path) -> list[Path]: function _expected_result_path (line 55) | def _expected_result_path(testcase_dir: Path) -> Path: function _parse_testcase_key (line 59) | def _parse_testcase_key(root: Path, testcase_dir: Path) -> tuple[str, str]: function _accumulate_weighted (line 77) | def _accumulate_weighted( function _to_averages (line 89) | def _to_averages( function _load_result_row (line 99) | def _load_result_row( function _table_value (line 131) | def _table_value(val: float | None) -> float | str | None: function _build_tables (line 140) | def _build_tables( function _fmt_md (line 235) | def _fmt_md(val: float | None, decimals: int) -> str: function _print_tf_formatted_md (line 244) | def _print_tf_formatted_md( function _print_c_formatted_md (line 285) | def _print_c_formatted_md( function _print_formatted_gt_method_md (line 333) | def _print_formatted_gt_method_md( function _fmt (line 354) | def _fmt(val: float | None, decimals: int, width: int) -> str: function _print_grouped_rows (line 361) | def _print_grouped_rows( function _print_tf_formatted (line 379) | def _print_tf_formatted( function _print_c_formatted (line 449) | def _print_c_formatted( function _print_formatted_gt_method (line 520) | def _print_formatted_gt_method( function _build_summary (line 545) | def _build_summary(root: Path) -> dict[str, Any]: function main (line 667) | def main() -> None: FILE: docs/source/conf.py class Mock (line 56) | class Mock: method __init__ (line 59) | def __init__(self, *args, **kwargs): method __call__ (line 62) | def __call__(self, *args, **kwargs): method __getattr__ (line 65) | def __getattr__(self, name): method __getitem__ (line 78) | def __getitem__(self, name): method __iter__ (line 81) | def __iter__(self): method __or__ (line 84) | def __or__(self, other): method __ror__ (line 87) | def __ror__(self, other): function setup (line 197) | def setup(app): FILE: kimodo/assets.py function skeleton_asset_path (line 14) | def skeleton_asset_path(*parts: str) -> Path: function demo_asset_path (line 18) | def demo_asset_path(*parts: str) -> Path: FILE: kimodo/constraints.py function _convert_constraint_local_rots_to_skeleton (line 17) | def _convert_constraint_local_rots_to_skeleton(local_rot_mats: Tensor, s... function create_pairs (line 38) | def create_pairs(tensor_A: Tensor, tensor_B: Tensor) -> Tensor: function compute_global_heading (line 50) | def compute_global_heading(global_joints_positions: Tensor, skeleton: Sk... function _tensor_to (line 57) | def _tensor_to( class Root2DConstraintSet (line 75) | class Root2DConstraintSet: method __init__ (line 81) | def __init__( method update_constraints (line 112) | def update_constraints(self, data_dict: dict, index_dict: dict) -> None: method crop_move (line 123) | def crop_move(self, start: int, end: int) -> "Root2DConstraintSet": method get_save_info (line 139) | def get_save_info(self) -> dict: method to (line 151) | def to( method from_dict (line 165) | def from_dict(cls, skeleton: SkeletonBase, dico: dict) -> "Root2DConst... class FullBodyConstraintSet (line 182) | class FullBodyConstraintSet: method __init__ (line 187) | def __init__( method update_constraints (line 233) | def update_constraints(self, data_dict: dict, index_dict: dict) -> None: method crop_move (line 261) | def crop_move(self, start: int, end: int) -> "FullBodyConstraintSet": method get_save_info (line 272) | def get_save_info(self) -> dict: method to (line 288) | def to( method from_dict (line 304) | def from_dict(cls, skeleton: SkeletonBase, dico: dict) -> "FullBodyCon... class EndEffectorConstraintSet (line 328) | class EndEffectorConstraintSet: method __init__ (line 333) | def __init__( method update_constraints (line 387) | def update_constraints(self, data_dict: dict, index_dict: dict) -> None: method crop_move (line 429) | def crop_move(self, start: int, end: int) -> "EndEffectorConstraintSet": method get_save_info (line 447) | def get_save_info(self) -> dict: method to (line 468) | def to( method from_dict (line 486) | def from_dict(cls, skeleton: SkeletonBase, dico: dict) -> "EndEffector... class LeftHandConstraintSet (line 515) | class LeftHandConstraintSet(EndEffectorConstraintSet): method __init__ (line 521) | def __init__(self, *args, **kwargs: dict): class RightHandConstraintSet (line 525) | class RightHandConstraintSet(EndEffectorConstraintSet): method __init__ (line 531) | def __init__(self, *args, **kwargs: dict): class LeftFootConstraintSet (line 535) | class LeftFootConstraintSet(EndEffectorConstraintSet): method __init__ (line 541) | def __init__(self, *args, **kwargs: dict): class RightFootConstraintSet (line 545) | class RightFootConstraintSet(EndEffectorConstraintSet): method __init__ (line 551) | def __init__(self, *args, **kwargs: dict): function load_constraints_lst (line 566) | def load_constraints_lst( function save_constraints_lst (line 595) | def save_constraints_lst(path: str, constraints_lst: list) -> list | None: FILE: kimodo/demo/__init__.py function main (line 13) | def main() -> None: FILE: kimodo/demo/app.py class Demo (line 55) | class Demo: method __init__ (line 56) | def __init__(self, default_model_name: str = DEFAULT_MODEL): method ensure_examples_layout (line 106) | def ensure_examples_layout(self) -> None: method get_examples_base_dir (line 124) | def get_examples_base_dir(self, model_name: str, absolute: bool = True... method load_model (line 127) | def load_model(self, model_name: str) -> ModelBundle: method prewarm_embedding_cache (line 161) | def prewarm_embedding_cache(self, model_name: str, model: object) -> N... method build_constraint_tracks (line 189) | def build_constraint_tracks( method set_timeline_defaults (line 210) | def set_timeline_defaults(self, timeline, model_fps: float) -> None: method _apply_constraint_overlay_visibility (line 223) | def _apply_constraint_overlay_visibility(self, session: ClientSession)... method set_constraint_tracks_visible (line 229) | def set_constraint_tracks_visible(self, session: ClientSession, visibl... method _cleanup_session_for_client (line 272) | def _cleanup_session_for_client(self, client_id: int) -> None: method _setup_demo_for_client (line 279) | def _setup_demo_for_client(self, client: viser.ClientHandle) -> None: method on_client_connect (line 347) | def on_client_connect(self, client: viser.ClientHandle) -> None: method setup_scene (line 365) | def setup_scene(self, client: viser.ClientHandle) -> None: method on_client_disconnect (line 398) | def on_client_disconnect(self, client: viser.ClientHandle) -> None: method set_start_direction_visible (line 408) | def set_start_direction_visible(self, client_id: int, visible: bool) -... method client_active (line 414) | def client_active(self, client_id: int) -> bool: method add_character_motion (line 417) | def add_character_motion( method clear_motions (line 486) | def clear_motions(self, client_id: int) -> None: method compute_model_constraints_lst (line 494) | def compute_model_constraints_lst( method check_cuda_health (line 502) | def check_cuda_health(self) -> bool: method _trigger_restart (line 521) | def _trigger_restart(self) -> None: method generate (line 530) | def generate( method set_frame (line 582) | def set_frame(self, client_id: int, frame_idx: int, update_timeline: b... method run (line 595) | def run(self) -> None: method configure_theme (line 629) | def configure_theme( FILE: kimodo/demo/embedding_cache.py class CacheStats (line 24) | class CacheStats: class EmbeddingCache (line 30) | class EmbeddingCache: method __init__ (line 33) | def __init__( method _model_dir (line 56) | def _model_dir(self) -> str: method _index_path (line 59) | def _index_path(self) -> str: method _prewarm_marker_path (line 62) | def _prewarm_marker_path(self, key: str) -> str: method has_prewarm_marker (line 65) | def has_prewarm_marker(self, key: str) -> bool: method write_prewarm_marker (line 68) | def write_prewarm_marker(self, key: str, *, prompt_count: int) -> None: method _load_index (line 76) | def _load_index(self) -> None: method _save_index (line 88) | def _save_index(self) -> None: method _make_key (line 95) | def _make_key(self, text: str) -> str: method _entry_path (line 99) | def _entry_path(self, key: str) -> str: method _mem_get (line 102) | def _mem_get(self, key: str) -> Optional[np.ndarray]: method _mem_put (line 108) | def _mem_put(self, key: str, value: np.ndarray) -> None: method _disk_load (line 114) | def _disk_load(self, key: str) -> Optional[np.ndarray]: method _disk_save (line 123) | def _disk_save(self, key: str, value: np.ndarray) -> None: method _maybe_use_session_cache (line 132) | def _maybe_use_session_cache(self, texts: list[str]): method _update_session_cache (line 140) | def _update_session_cache(self, texts: list[str], tensor: torch.Tensor... method get_or_encode (line 148) | def get_or_encode(self, texts: Iterable[str], encoder): class CachedTextEncoder (line 217) | class CachedTextEncoder: method __init__ (line 220) | def __init__(self, encoder, *, model_name: str, base_dir: Optional[str... method __call__ (line 226) | def __call__(self, texts): method prewarm (line 229) | def prewarm(self, texts) -> None: method to (line 239) | def to(self, device=None, dtype=None): method session_context (line 245) | def session_context(self, session): method __getattr__ (line 252) | def __getattr__(self, name): FILE: kimodo/demo/generation.py function compute_model_constraints_lst (line 24) | def compute_model_constraints_lst( function generate (line 132) | def generate( FILE: kimodo/demo/queue_manager.py class UserQueue (line 23) | class UserQueue: method __init__ (line 26) | def __init__(self, max_active: int, max_minutes: float) -> None: method try_activate (line 34) | def try_activate(self, client_id: int) -> bool: method enqueue (line 45) | def enqueue(self, client_id: int) -> None: method remove (line 50) | def remove(self, client_id: int) -> bool: method promote_next (line 62) | def promote_next(self) -> int | None: method get_queue_position (line 74) | def get_queue_position(self, client_id: int) -> tuple[int, int] | None: method get_estimated_wait_seconds (line 82) | def get_estimated_wait_seconds(self, client_id: int) -> float: method is_active (line 99) | def is_active(self, client_id: int) -> bool: method was_active (line 103) | def was_active(self, client_id: int) -> bool: function _format_wait (line 108) | def _format_wait(seconds: float) -> str: function _queue_modal_markdown (line 115) | def _queue_modal_markdown(position: int, total: int, estimated_wait_sec:... function _welcome_modal_markdown (line 134) | def _welcome_modal_markdown() -> str: function _expiry_modal_markdown (line 145) | def _expiry_modal_markdown() -> str: class QueueManager (line 156) | class QueueManager: method __init__ (line 159) | def __init__( method _queue_modal_refresh_loop (line 184) | def _queue_modal_refresh_loop(self) -> None: method on_client_connect (line 189) | def on_client_connect(self, client: viser.ClientHandle) -> None: method on_client_disconnect (line 207) | def on_client_disconnect(self, client_id: int) -> None: method _show_queue_modal (line 222) | def _show_queue_modal(self, client: viser.ClientHandle) -> None: method _show_quick_start_modal (line 238) | def _show_quick_start_modal(self, client: viser.ClientHandle) -> None: method _show_welcome_modal (line 249) | def _show_welcome_modal(self, client: viser.ClientHandle) -> None: method _update_all_queue_modals (line 267) | def _update_all_queue_modals(self) -> None: method _promote_next_user (line 281) | def _promote_next_user(self) -> None: method _start_session_timer (line 307) | def _start_session_timer(self, client_id: int) -> None: method _on_session_expired (line 317) | def _on_session_expired(self, client_id: int) -> None: FILE: kimodo/demo/state.py class ModelBundle (line 22) | class ModelBundle: class ClientSession (line 30) | class ClientSession: FILE: kimodo/demo/ui.py function extract_intervals_and_singles (line 49) | def extract_intervals_and_singles(t: torch.Tensor): function create_gui (line 76) | def create_gui( FILE: kimodo/exports/bvh.py function _strip_end_site_blocks (line 20) | def _strip_end_site_blocks(bvh_text: str) -> str: function _coerce_batch (line 49) | def _coerce_batch(name: str, x: torch.Tensor, *, expected_ndim: int) -> ... function motion_to_bvh (line 62) | def motion_to_bvh( function motion_to_bvh_bytes (line 214) | def motion_to_bvh_bytes( function save_motion_bvh (line 235) | def save_motion_bvh( function read_bvh_frame_time_seconds (line 251) | def read_bvh_frame_time_seconds(path: Union[str, Path]) -> float: function bvh_to_kimodo_motion (line 261) | def bvh_to_kimodo_motion( FILE: kimodo/exports/motion_convert_lib.py function convert_motion_files (line 28) | def convert_motion_files( function _validate_output_extension (line 147) | def _validate_output_extension(to_fmt: str, output_path: str) -> None: FILE: kimodo/exports/motion_formats.py function infer_npz_kind (line 17) | def infer_npz_kind(path: str) -> NpzMotionKind: function infer_source_format_from_path (line 31) | def infer_source_format_from_path(path: str) -> MotionSourceFormat: function infer_target_format_from_path (line 43) | def infer_target_format_from_path(path: str, from_fmt: MotionSourceForma... function resolve_source_fps (line 63) | def resolve_source_fps( FILE: kimodo/exports/motion_io.py function _quaternion_slerp (line 26) | def _quaternion_slerp(q0: torch.Tensor, q1: torch.Tensor, t: torch.Tenso... function resample_motion_dict_to_kimodo_fps (line 42) | def resample_motion_dict_to_kimodo_fps( function warn_kimodo_npz_framerate (line 99) | def warn_kimodo_npz_framerate(source_fps: float, t_before: int, t_after:... function _coerce_time_local_root (line 111) | def _coerce_time_local_root( function complete_motion_dict (line 133) | def complete_motion_dict( function motion_dict_to_numpy (line 189) | def motion_dict_to_numpy(d: Dict[str, Any]) -> Dict[str, np.ndarray]: function save_kimodo_npz (line 202) | def save_kimodo_npz(path: str, motion_dict: Dict[str, Any]) -> None: function load_kimodo_npz (line 207) | def load_kimodo_npz(path: str) -> Dict[str, np.ndarray]: function load_g1_csv (line 213) | def load_g1_csv( function load_amass_npz (line 236) | def load_amass_npz( function load_kimodo_npz_as_torch (line 256) | def load_kimodo_npz_as_torch( function save_kimodo_npz_at_target_fps (line 308) | def save_kimodo_npz_at_target_fps( function kimodo_npz_to_bytes (line 324) | def kimodo_npz_to_bytes(motion_dict: Dict[str, Any]) -> bytes: function g1_csv_to_bytes (line 333) | def g1_csv_to_bytes(motion_dict: Dict[str, Any], skeleton: SkeletonBase,... function amass_npz_to_bytes (line 350) | def amass_npz_to_bytes(motion_dict: Dict[str, Any], skeleton: SkeletonBa... function _read_amass_source_fps (line 365) | def _read_amass_source_fps(path: str) -> float: function load_motion_file (line 373) | def load_motion_file( FILE: kimodo/exports/mujoco.py class MujocoQposConverter (line 27) | class MujocoQposConverter: method __new__ (line 42) | def __new__( method __init__ (line 53) | def __init__( method _prepare_transforms (line 71) | def _prepare_transforms(self): method dict_to_qpos (line 215) | def dict_to_qpos( method qpos_to_motion_dict (line 249) | def qpos_to_motion_dict( method save_csv (line 329) | def save_csv(self, qpos: torch.Tensor | np.ndarray, csv_path): method _local_rots_to_joint_dofs (line 346) | def _local_rots_to_joint_dofs( method _local_rots_to_joint_dofs_axis_angle (line 360) | def _local_rots_to_joint_dofs_axis_angle( method _local_rots_f2q_to_joint_dofs (line 379) | def _local_rots_f2q_to_joint_dofs(self, local_rot_mats_f2q: torch.Tens... method _clamp_to_limits (line 384) | def _clamp_to_limits(self, joint_dofs: torch.Tensor) -> torch.Tensor: method _clamp_joint_dofs (line 394) | def _clamp_joint_dofs(self, joint_dofs: torch.Tensor, rest_dofs: torch... method _joint_dofs_to_local_rot_mats (line 404) | def _joint_dofs_to_local_rot_mats( method project_to_real_robot_rotations (line 432) | def project_to_real_robot_rotations( method to_qpos (line 483) | def to_qpos( function apply_g1_real_robot_projection (line 547) | def apply_g1_real_robot_projection( FILE: kimodo/exports/smplx.py function kimodo_y_up_to_amass_coord_rotation_matrix (line 17) | def kimodo_y_up_to_amass_coord_rotation_matrix() -> np.ndarray: function get_amass_parameters (line 42) | def get_amass_parameters( function amass_arrays_to_kimodo_motion (line 74) | def amass_arrays_to_kimodo_motion( function amass_npz_to_kimodo_motion (line 142) | def amass_npz_to_kimodo_motion(npz_path: str, skeleton, source_fps: Opti... class AMASSConverter (line 162) | class AMASSConverter: method __init__ (line 163) | def __init__( method convert_save_npz (line 198) | def convert_save_npz(self, output: dict, npz_path, z_up=True): method save_npz (line 214) | def save_npz(self, trans, root_orient, pose_body, base_output, npz_path): FILE: kimodo/geometry.py function angle_to_Y_rotation_matrix (line 9) | def angle_to_Y_rotation_matrix(angle: torch.Tensor) -> torch.Tensor: function matrix_to_cont6d (line 21) | def matrix_to_cont6d(matrix: torch.Tensor) -> torch.Tensor: function cont6d_to_matrix (line 30) | def cont6d_to_matrix(cont6d: torch.Tensor) -> torch.Tensor: function axis_angle_to_matrix (line 53) | def axis_angle_to_matrix(axis_angle: torch.Tensor) -> torch.Tensor: function matrix_to_axis_angle (line 80) | def matrix_to_axis_angle(R: torch.Tensor) -> torch.Tensor: function quaternion_to_axis_angle (line 93) | def quaternion_to_axis_angle(quat: torch.Tensor) -> torch.Tensor: function _sqrt_positive_part (line 139) | def _sqrt_positive_part(x: torch.Tensor) -> torch.Tensor: function matrix_to_quaternion (line 144) | def matrix_to_quaternion(matrix: torch.Tensor) -> torch.Tensor: function quaternion_to_matrix (line 190) | def quaternion_to_matrix(quaternions: torch.Tensor) -> torch.Tensor: FILE: kimodo/meta.py function load_prompts_from_meta (line 13) | def load_prompts_from_meta(meta_path: str, **kwargs): function parse_prompts_from_meta (line 32) | def parse_prompts_from_meta( FILE: kimodo/metrics/base.py class Metric (line 13) | class Metric: method __init__ (line 17) | def __init__(self, **kwargs): method __call__ (line 20) | def __call__(self, *args, **kwargs): method _compute (line 28) | def _compute(self, **kwargs): method clear (line 32) | def clear(self): method aggregate (line 36) | def aggregate(self): function compute_metrics (line 47) | def compute_metrics(metrics_list: List[Metric], metrics_in: Dict) -> Dict: function aggregate_metrics (line 55) | def aggregate_metrics(metrics_list: List[Metric]) -> Dict: function clear_metrics (line 63) | def clear_metrics(metrics_list: List[Metric]) -> None: FILE: kimodo/metrics/constraints.py class ContraintFollow (line 23) | class ContraintFollow(Metric): method __init__ (line 26) | def __init__( method _compute (line 37) | def _compute( FILE: kimodo/metrics/foot_skate.py function get_four_contacts (line 20) | def get_four_contacts(fidx: list): class FootSkateFromHeight (line 31) | class FootSkateFromHeight(Metric): method __init__ (line 34) | def __init__( method _compute (line 47) | def _compute( class FootSkateFromContacts (line 80) | class FootSkateFromContacts(Metric): method __init__ (line 83) | def __init__( method _compute (line 94) | def _compute( class FootSkateRatio (line 136) | class FootSkateRatio(Metric): method __init__ (line 142) | def __init__( method _compute (line 158) | def _compute( class FootContactConsistency (line 196) | class FootContactConsistency(Metric): method __init__ (line 203) | def __init__( method _compute (line 219) | def _compute( FILE: kimodo/metrics/tmr.py function get_score_matrix_unit (line 21) | def get_score_matrix_unit(x, y): function get_scores_unit (line 27) | def get_scores_unit(x, y): function compute_tmr_per_sample_retrieval (line 33) | def compute_tmr_per_sample_retrieval( class TMR_Metric (line 65) | class TMR_Metric(Metric): method __init__ (line 66) | def __init__( method clear (line 78) | def clear(self): method _compute (line 84) | def _compute( method aggregate (line 139) | def aggregate(self): class TMR_EmbeddingMetric (line 224) | class TMR_EmbeddingMetric(Metric): method __init__ (line 230) | def __init__(self, ranks_rounding: int = 2, **kwargs): method clear (line 234) | def clear(self): method _compute (line 240) | def _compute( method aggregate (line 265) | def aggregate(self): function compute_tmr_retrieval_metrics (line 328) | def compute_tmr_retrieval_metrics( function all_contrastive_metrics (line 395) | def all_contrastive_metrics(sims, emb=None, threshold=None, rounding=2, ... function contrastive_metrics (line 415) | def contrastive_metrics( function break_ties_average (line 463) | def break_ties_average(sorted_dists, gt_dists): function calculate_activation_statistics (line 480) | def calculate_activation_statistics(activations): function calculate_frechet_distance (line 493) | def calculate_frechet_distance(mu1, sigma1, mu2, sigma2, eps=1e-6): FILE: kimodo/model/backbone.py function pad_x_and_mask_to_fixed_size (line 19) | def pad_x_and_mask_to_fixed_size(x: Tensor, mask: Tensor, size: int): class TransformerEncoderBlockConfig (line 61) | class TransformerEncoderBlockConfig: class TransformerEncoderBlock (line 101) | class TransformerEncoderBlock(nn.Module): method __init__ (line 103) | def __init__(self, conf): method forward (line 136) | def forward( class PositionalEncoding (line 235) | class PositionalEncoding(nn.Module): method __init__ (line 238) | def __init__( method forward (line 270) | def forward(self, x: torch.Tensor) -> torch.Tensor: class TimestepEmbedder (line 283) | class TimestepEmbedder(nn.Module): method __init__ (line 286) | def __init__(self, latent_dim: int, sequence_pos_encoder: PositionalEn... method forward (line 303) | def forward(self, timesteps: torch.Tensor) -> torch.Tensor: FILE: kimodo/model/cfg.py class ClassifierFreeGuidedModel (line 13) | class ClassifierFreeGuidedModel(nn.Module): method __init__ (line 16) | def __init__(self, model: nn.Module, cfg_type: Optional[str] = "separa... method forward (line 24) | def forward( FILE: kimodo/model/common.py function get_env_var (line 9) | def get_env_var(name: str, default=None): function resolve_target (line 14) | def resolve_target(target: str): function materialize_value (line 21) | def materialize_value(value): function instantiate_from_dict (line 33) | def instantiate_from_dict(node, overrides=None): FILE: kimodo/model/diffusion.py function get_beta_schedule (line 12) | def get_beta_schedule( class Diffusion (line 29) | class Diffusion(torch.nn.Module): method __init__ (line 32) | def __init__(self, num_base_steps: int): method extra_repr (line 43) | def extra_repr(self) -> str: method device (line 47) | def device(self): method space_timesteps (line 50) | def space_timesteps(self, num_denoising_steps: int) -> Tuple[torch.Ten... method calc_diffusion_vars (line 60) | def calc_diffusion_vars(self, use_timesteps: torch.Tensor) -> None: method q_sample (line 96) | def q_sample( class DDIMSampler (line 113) | class DDIMSampler(nn.Module): method __init__ (line 116) | def __init__(self, diffusion: Diffusion): method __call__ (line 120) | def __call__( FILE: kimodo/model/kimodo_model.py class Kimodo (line 25) | class Kimodo(nn.Module): method __init__ (line 28) | def __init__( method output_skeleton (line 61) | def output_skeleton(self): method train (line 67) | def train(self, mode: bool): method eval (line 71) | def eval(self): method denoising_step (line 75) | def denoising_step( method _multiprompt (line 123) | def _multiprompt( method __call__ (line 380) | def __call__( method _generate (line 562) | def _generate( FILE: kimodo/model/llm2vec/llm2vec.py function batch_to_device (line 64) | def batch_to_device(batch, target_device: device): class LLM2Vec (line 72) | class LLM2Vec(nn.Module): method __init__ (line 73) | def __init__( method _get_model_class (line 92) | def _get_model_class(cls, config_class_name, enable_bidirectional): method from_pretrained (line 115) | def from_pretrained( method prepare_for_tokenization (line 172) | def prepare_for_tokenization(self, text): method tokenize (line 201) | def tokenize(self, texts): method _skip_instruction (line 240) | def _skip_instruction(self, sentence_feature): method forward (line 244) | def forward(self, sentence_feature: Dict[str, Tensor]): method get_pooling (line 253) | def get_pooling(self, features, last_hidden_states): # All models pad... method _convert_to_str (line 278) | def _convert_to_str(self, instruction, text): method encode (line 305) | def encode( method save (line 405) | def save(self, output_path, merge_before_save=False, save_config=True): method _encode (line 427) | def _encode( method _text_length (line 452) | def _text_length(self, text: Union[List[int], List[List[int]]]): method resize_token_embeddings (line 469) | def resize_token_embeddings( method gradient_checkpointing_enable (line 476) | def gradient_checkpointing_enable(self, gradient_checkpointing_kwargs=... FILE: kimodo/model/llm2vec/llm2vec_wrapper.py class LLM2VecEncoder (line 13) | class LLM2VecEncoder: method __init__ (line 16) | def __init__( method to (line 53) | def to(self, device: torch.device): method eval (line 58) | def eval(self): method get_device (line 62) | def get_device(self): method __call__ (line 65) | def __call__(self, text: list[str] | str): FILE: kimodo/model/llm2vec/models/attn_mask_utils.py function _prepare_4d_causal_attention_mask (line 28) | def _prepare_4d_causal_attention_mask( function _prepare_4d_causal_attention_mask_for_sdpa (line 89) | def _prepare_4d_causal_attention_mask_for_sdpa( FILE: kimodo/model/llm2vec/models/bidirectional_llama.py class ModifiedLlamaAttention (line 59) | class ModifiedLlamaAttention(LlamaAttention): method __init__ (line 60) | def __init__(self, *args, **kwargs): class ModifiedLlamaDecoderLayer (line 84) | class ModifiedLlamaDecoderLayer(LlamaDecoderLayer): method __init__ (line 85) | def __init__(self, config: LlamaConfig, layer_idx: int): class LlamaBiModel (line 99) | class LlamaBiModel(LlamaModel): method __init__ (line 102) | def __init__(self, config: LlamaConfig): method _update_causal_mask (line 122) | def _update_causal_mask( class LlamaBiForMNTP (line 204) | class LlamaBiForMNTP(LlamaForCausalLM): method __init__ (line 205) | def __init__(self, config): method get_model_for_peft (line 215) | def get_model_for_peft(self): method set_model_for_peft (line 219) | def set_model_for_peft(self, model: PeftModel): method save_peft_model (line 223) | def save_peft_model(self, path): FILE: kimodo/model/llm2vec/models/utils.py function is_transformers_attn_greater_or_equal_4_43_1 (line 28) | def is_transformers_attn_greater_or_equal_4_43_1(): FILE: kimodo/model/load_model.py function _resolve_hf_model_path (line 37) | def _resolve_hf_model_path(modelname: str) -> Path: function _build_api_text_encoder_conf (line 61) | def _build_api_text_encoder_conf(text_encoder_url: str) -> dict: function _build_local_text_encoder_conf (line 68) | def _build_local_text_encoder_conf(text_encoder_fp32: bool = False) -> d... function _select_text_encoder_conf (line 83) | def _select_text_encoder_conf(text_encoder_url: str, text_encoder_fp32: ... function load_model (line 108) | def load_model( FILE: kimodo/model/loading.py function get_env_var (line 24) | def get_env_var(name: str, default: Optional[str] = None) -> Optional[str]: function instantiate_from_dict (line 29) | def instantiate_from_dict( function load_checkpoint_state_dict (line 44) | def load_checkpoint_state_dict(ckpt_path: Union[str, Path]) -> dict: FILE: kimodo/model/registry.py class ModelInfo (line 33) | class ModelInfo: method dataset_ui_label (line 45) | def dataset_ui_label(self) -> str: function _parse_repo_id (line 49) | def _parse_repo_id(repo_id: str) -> Optional[ModelInfo]: function _version_tuple (line 78) | def _version_tuple(v: str) -> tuple[int, ...]: function _version_key (line 87) | def _version_key(info: ModelInfo) -> tuple[int, ...]: function _build_registry (line 91) | def _build_registry() -> tuple[list[ModelInfo], dict[str, str], list[str]]: function get_skeleton_display_name (line 163) | def get_skeleton_display_name(skeleton_key: str) -> str: function get_skeleton_key_from_display_name (line 168) | def get_skeleton_key_from_display_name(display_name: str) -> Optional[str]: function get_skeleton_display_names_for_dataset (line 176) | def get_skeleton_display_names_for_dataset(dataset_ui_label: str, family... function get_short_key (line 185) | def get_short_key(repo_id: str) -> Optional[str]: function get_model_info (line 193) | def get_model_info(short_key: str) -> Optional[ModelInfo]: function get_short_key_from_display_name (line 208) | def get_short_key_from_display_name(display_name: str) -> Optional[str]: function get_models_for_demo (line 216) | def get_models_for_demo() -> list[ModelInfo]: function get_datasets (line 221) | def get_datasets(family: Optional[str] = None) -> list[str]: function get_skeletons_for_dataset (line 235) | def get_skeletons_for_dataset(dataset_ui_label: str, family: Optional[st... function get_versions_for_dataset_skeleton (line 253) | def get_versions_for_dataset_skeleton(dataset_ui_label: str, skeleton: s... function get_models_for_dataset_skeleton (line 267) | def get_models_for_dataset_skeleton( function resolve_to_short_key (line 283) | def resolve_to_short_key(dataset_ui_label: str, skeleton: str, version: ... function _normalize_family (line 304) | def _normalize_family(s: str) -> Optional[str]: function _normalize_dataset (line 309) | def _normalize_dataset(s: str) -> Optional[str]: function _normalize_skeleton (line 314) | def _normalize_skeleton(s: str) -> Optional[str]: function _get_latest_for_family_skeleton_dataset (line 319) | def _get_latest_for_family_skeleton_dataset(family: str, skeleton: str, ... function kimodo_short_key_for_skeleton_dataset (line 329) | def kimodo_short_key_for_skeleton_dataset(skeleton: str, dataset: str) -... function registry_skeleton_for_joint_count (line 336) | def registry_skeleton_for_joint_count(nb_joints: int) -> str: function resolve_model_name (line 359) | def resolve_model_name(name: Optional[str], default_family: Optional[str... FILE: kimodo/model/text_encoder_api.py class TextEncoderAPI (line 18) | class TextEncoderAPI: method __init__ (line 21) | def __init__(self, url: str): method _create_np_random_name (line 26) | def _create_np_random_name(self): method to (line 31) | def to(self, device=None, dtype=None): method __call__ (line 38) | def __call__(self, texts): FILE: kimodo/model/tmr.py class PositionalEncoding (line 21) | class PositionalEncoding(nn.Module): method __init__ (line 24) | def __init__(self, d_model, dropout=0.1, max_len=5000, batch_first=Fal... method forward (line 44) | def forward(self, x: Tensor) -> Tensor: function load_ckpt (line 52) | def load_ckpt(self, ckpt_path): class ACTORStyleEncoder (line 58) | class ACTORStyleEncoder(nn.Module): method __init__ (line 61) | def __init__( method forward (line 111) | def forward(self, x_dict: Dict) -> Tensor: class TMR (line 132) | class TMR(nn.Module): method from_args (line 139) | def from_args( method __init__ (line 189) | def __init__( method full_text_encoder (line 224) | def full_text_encoder(self, texts: list[str]): method _find_encoder (line 240) | def _find_encoder(self, inputs, modality): method _encode (line 267) | def _encode( method encode_motion (line 308) | def encode_motion( method encode_text (line 347) | def encode_text( method encode_raw_text (line 363) | def encode_raw_text( FILE: kimodo/model/twostage_denoiser.py class TwostageDenoiser (line 15) | class TwostageDenoiser(nn.Module): method __init__ (line 18) | def __init__( method load_ckpt (line 66) | def load_ckpt(self, ckpt_path: str) -> None: method forward (line 73) | def forward( FILE: kimodo/motion_rep/conditioning.py function build_condition_dicts (line 10) | def build_condition_dicts(constraints_lst: list): function get_unique_index_and_data (line 18) | def get_unique_index_and_data(indices_lst, data): FILE: kimodo/motion_rep/feature_utils.py function diff_angles (line 15) | def diff_angles(angles: torch.Tensor, fps: float) -> torch.Tensor: function compute_vel_xyz (line 39) | def compute_vel_xyz( function compute_vel_angle (line 76) | def compute_vel_angle( function compute_heading_angle (line 112) | def compute_heading_angle(posed_joints: torch.Tensor, skeleton: Skeleton... function length_to_mask (line 129) | def length_to_mask( class RotateFeatures (line 165) | class RotateFeatures: method __init__ (line 168) | def __init__(self, angle: torch.Tensor): method rotate_positions (line 188) | def rotate_positions(self, positions: torch.Tensor): method rotate_2d_positions (line 192) | def rotate_2d_positions(self, positions_2d: torch.Tensor): method rotate_rotations (line 196) | def rotate_rotations(self, rotations: torch.Tensor): method rotate_6d_rotations (line 210) | def rotate_6d_rotations(self, rotations_6d: torch.Tensor): FILE: kimodo/motion_rep/feet.py function foot_detect_from_pos_and_vel (line 11) | def foot_detect_from_pos_and_vel( FILE: kimodo/motion_rep/reps/base.py function _require_split_stats_layout (line 19) | def _require_split_stats_layout(stats_path: str) -> None: class MotionRepBase (line 36) | class MotionRepBase: method __init__ (line 47) | def __init__( method get_root_pos (line 85) | def get_root_pos(self, features: torch.Tensor, fallback_to_smooth: boo... method global_root_to_local_root (line 114) | def global_root_to_local_root( method get_root_heading_angle (line 159) | def get_root_heading_angle(self, features: torch.Tensor) -> torch.Tensor: method rotate_to (line 166) | def rotate_to( method rotate_to_zero (line 183) | def rotate_to_zero( method randomize_first_heading (line 193) | def randomize_first_heading( method translate_2d_to (line 207) | def translate_2d_to( method translate_2d_to_zero (line 223) | def translate_2d_to_zero( method canonicalize (line 233) | def canonicalize(self, features: torch.Tensor, normalized: bool = False): method normalize (line 243) | def normalize(self, features): method unnormalize (line 247) | def unnormalize(self, features): method create_conditions_from_constraints (line 251) | def create_conditions_from_constraints( method create_conditions_from_constraints_batched (line 262) | def create_conditions_from_constraints_batched( FILE: kimodo/motion_rep/reps/kimodo_motionrep.py class KimodoMotionRep (line 23) | class KimodoMotionRep(MotionRepBase): method __init__ (line 26) | def __init__( method __call__ (line 51) | def __call__( method rotate (line 114) | def rotate(self, features: torch.Tensor, angle: torch.Tensor): method translate_2d (line 148) | def translate_2d( method inverse (line 167) | def inverse( method create_conditions (line 222) | def create_conditions( FILE: kimodo/motion_rep/reps/tmr_motionrep.py class TMRMotionRep (line 17) | class TMRMotionRep(MotionRepBase): method __init__ (line 29) | def __init__( method __call__ (line 53) | def __call__( method rotate (line 133) | def rotate(self, features: torch.Tensor, angle: torch.Tensor): method translate_2d (line 167) | def translate_2d( method inverse (line 186) | def inverse( FILE: kimodo/motion_rep/smooth_root.py class TrajectorySmoother (line 15) | class TrajectorySmoother: method __init__ (line 22) | def __init__( method smooth (line 89) | def smooth(self, targets, x0): method x_update (line 112) | def x_update(self, x, z, u, x_t): method z_update (line 119) | def z_update(self, z, x, z_t, u): method u_update (line 137) | def u_update(self, u, x, z): function smooth_signal (line 142) | def smooth_signal(x, margins, pos_weight=0, alpha_overrelax=1.8, admm_it... function get_smooth_root_pos (line 202) | def get_smooth_root_pos(hip_translations): FILE: kimodo/motion_rep/stats.py class Stats (line 15) | class Stats(torch.nn.Module): method __init__ (line 22) | def __init__( method sliced (line 34) | def sliced(self, indices): method load (line 43) | def load(self): method register_from_tensors (line 60) | def register_from_tensors(self, mean: torch.Tensor, std: torch.Tensor): method normalize (line 65) | def normalize(self, data: torch.Tensor) -> torch.Tensor: method unnormalize (line 72) | def unnormalize(self, data: torch.Tensor) -> torch.Tensor: method is_loaded (line 79) | def is_loaded(self): method get_dim (line 83) | def get_dim(self): method save (line 87) | def save( method __eq__ (line 112) | def __eq__(self, other): method __hash__ (line 116) | def __hash__(self): method __repr__ (line 122) | def __repr__(self): FILE: kimodo/postprocess.py function extract_input_motion_from_constraints (line 27) | def extract_input_motion_from_constraints( function create_working_rig_from_skeleton (line 117) | def create_working_rig_from_skeleton( function post_process_motion (line 186) | def post_process_motion( FILE: kimodo/sanitize.py function sanitize_text (line 6) | def sanitize_text(text: str, paragraph: bool = True) -> str: function sanitize_texts (line 65) | def sanitize_texts(texts: list[str]) -> list[str]: FILE: kimodo/scripts/generate.py function parse_args (line 20) | def parse_args(): function get_texts_and_num_frames_from_prompt (line 131) | def get_texts_and_num_frames_from_prompt(prompt: str, duration: str, fps... function _single_file_path (line 152) | def _single_file_path(path: str, ext: str) -> str: function _output_dir_and_path (line 165) | def _output_dir_and_path(path: str, default_base: str, ext: str): function resolve_cfg_kwargs (line 177) | def resolve_cfg_kwargs(args: argparse.Namespace, meta: Optional[Dict[str... function get_generation_inputs (line 239) | def get_generation_inputs(args, fps: float): function main (line 276) | def main(): FILE: kimodo/scripts/gradio_theme.py function get_gradio_theme (line 7) | def get_gradio_theme(remove_gradio_footer=False): FILE: kimodo/scripts/lock_requirements.py function _run (line 33) | def _run(cmd: list[str]) -> None: function _ensure_uv (line 38) | def _ensure_uv() -> None: function _parse_req_name (line 49) | def _parse_req_name(line: str) -> str: function _iter_blocks (line 58) | def _iter_blocks(lines: list[str]) -> Iterable[list[str]]: function _should_omit (line 88) | def _should_omit(req_line: str) -> bool: function filter_lockfile (line 98) | def filter_lockfile(path: Path) -> None: function main (line 129) | def main() -> None: FILE: kimodo/scripts/motion_convert.py function run_convert (line 17) | def run_convert( function build_argparser (line 40) | def build_argparser() -> argparse.ArgumentParser: function main (line 92) | def main(argv: list[str] | None = None) -> int: FILE: kimodo/scripts/run_text_encoder_server.py class DemoWrapper (line 35) | class DemoWrapper: method __init__ (line 36) | def __init__(self, text_encoder, tmp_folder): method __call__ (line 40) | def __call__(self, text, filename, progress=gr.Progress()): function _get_env (line 56) | def _get_env(name: str, default): function _build_text_encoder (line 60) | def _build_text_encoder(name: str, fp32: bool = False): function parse_args (line 71) | def parse_args(): function main (line 91) | def main(): FILE: kimodo/skeleton/base.py class SkeletonBase (line 20) | class SkeletonBase(torch.nn.Module): method __init__ (line 38) | def __init__( method expand_joint_names (line 135) | def expand_joint_names(self, joint_names): method expand_joint_names_batched (line 175) | def expand_joint_names_batched(self, joint_names): method __repr__ (line 221) | def __repr__(self): method device (line 227) | def device(self): method fk (line 236) | def fk(self, local_joint_rots: torch.Tensor, root_positions: torch.Ten... method to_standard_tpose (line 250) | def to_standard_tpose(self, local_rot_mats: torch.Tensor): method from_standard_tpose (line 254) | def from_standard_tpose(self, local_rot_mats: torch.Tensor): method global_rots_to_local_rots (line 258) | def global_rots_to_local_rots(self, global_joint_rots: torch.Tensor): method get_skel_slice (line 262) | def get_skel_slice(self, skeleton: "SkeletonBase"): FILE: kimodo/skeleton/bvh.py class BvhNode (line 13) | class BvhNode: method __init__ (line 16) | def __init__(self, value=[], parent=None): method add_child (line 24) | def add_child(self, item): method filter (line 29) | def filter(self, key): method __iter__ (line 35) | def __iter__(self): method __getitem__ (line 39) | def __getitem__(self, key): method __repr__ (line 50) | def __repr__(self): method name (line 54) | def name(self): class Bvh (line 59) | class Bvh: method __init__ (line 62) | def __init__(self, data: str, backend: Optional[str] = "graph"): method build_data_array (line 82) | def build_data_array(self): method tokenize (line 94) | def tokenize(self): method search (line 123) | def search(self, *items): method get_joints (line 142) | def get_joints(self): method get_joints_names (line 154) | def get_joints_names(self): method joint_direct_children (line 166) | def joint_direct_children(self, name): method get_joint_index (line 171) | def get_joint_index(self, name): method get_joint (line 175) | def get_joint(self, name): method joint_offset (line 184) | def joint_offset(self, name, idx=[0, 1, 2]): method joint_offset_rot (line 192) | def joint_offset_rot(self, name): method joint_channels (line 196) | def joint_channels(self, name): method get_joint_channels_index (line 204) | def get_joint_channels_index(self, joint_name): method get_joint_channel_index (line 216) | def get_joint_channel_index(self, joint, channel): method frame_joint_channel (line 225) | def frame_joint_channel(self, frame_index, joint, channel, value=None): method frame_joint_channels (line 236) | def frame_joint_channels(self, frame_index, joint, channels, value=None): method frames_joint_channels (line 254) | def frames_joint_channels(self, joint, channels, value=None): method frames_joints_channels (line 275) | def frames_joints_channels(self, joint_names, channels): method joint_parent (line 288) | def joint_parent(self, name): method joint_parent_index (line 295) | def joint_parent_index(self, name): method nframes (line 303) | def nframes(self): method frame_time (line 311) | def frame_time(self): class Bone (line 319) | class Bone: method __init__ (line 322) | def __init__(self): method __repr__ (line 345) | def __repr__(self): class SkeletonBvh (line 349) | class SkeletonBvh: method __init__ (line 352) | def __init__(self): method get_bones_names (line 360) | def get_bones_names(self): method get_parent_indices (line 364) | def get_parent_indices(self): method get_neutral_joints (line 372) | def get_neutral_joints(self): method load_from_bvh (line 380) | def load_from_bvh(self, fname, exclude_bones=None, spec_channels=None,... method forward_bvh (line 456) | def forward_bvh(self, bone): function load_bvh_animation (line 466) | def load_bvh_animation( function parse_bvh_motion (line 539) | def parse_bvh_motion(file_path_input: str, parse_neutral_joints: bool = ... FILE: kimodo/skeleton/definitions.py class SOMASkeleton77 (line 14) | class SOMASkeleton77(SkeletonBase): method relaxed_hands_rest_pose (line 167) | def relaxed_hands_rest_pose(self): class SOMASkeleton30 (line 182) | class SOMASkeleton30(SkeletonBase): method somaskel77 (line 240) | def somaskel77(self): method to_SOMASkeleton77 (line 247) | def to_SOMASkeleton77(self, local_joint_rots_subset: torch.Tensor): method from_SOMASkeleton77 (line 259) | def from_SOMASkeleton77(self, local_joint_rots_full: torch.Tensor) -> ... method output_to_SOMASkeleton77 (line 264) | def output_to_SOMASkeleton77(self, output: dict) -> dict: class G1Skeleton34 (line 286) | class G1Skeleton34(SkeletonBase): class SMPLXSkeleton22 (line 338) | class SMPLXSkeleton22(SkeletonBase): FILE: kimodo/skeleton/kinematics.py function fk (line 15) | def fk( function compute_idx_levels (line 76) | def compute_idx_levels(parents): function batch_rigid_transform (line 98) | def batch_rigid_transform(rot_mats, joints, parents, root_idx): function transform_mat (line 119) | def transform_mat(R, t): function forward_kinematics (line 133) | def forward_kinematics( FILE: kimodo/skeleton/registry.py function build_skeleton (line 17) | def build_skeleton(nbjoints: int, assets_folder: str | Path = SKELETONS_... FILE: kimodo/skeleton/transforms.py function global_rots_to_local_rots (line 12) | def global_rots_to_local_rots(global_joint_rots: torch.Tensor, skeleton): function change_tpose (line 43) | def change_tpose(local_rot_mats: torch.Tensor, global_rot_offsets: torch... function to_standard_tpose (line 76) | def to_standard_tpose(local_rot_mats: torch.Tensor, skeleton): function from_standard_tpose (line 92) | def from_standard_tpose(local_rot_mats: torch.Tensor, skeleton): FILE: kimodo/tools.py function validate (line 19) | def validate(validator, save_args: bool = False, super_init: bool = False): function ensure_batched (line 60) | def ensure_batched(**spec: int) -> Callable[[Callable[P, R]], Callable[P... function to_numpy (line 275) | def to_numpy(obj): function to_torch (line 287) | def to_torch(obj, device=None, dtype=None): function seed_everything (line 305) | def seed_everything(seed: int, deterministic: bool = False) -> None: function load_json (line 316) | def load_json(path: Union[str, Path]) -> Any: function save_json (line 341) | def save_json(path: Union[str, Path], data: Any) -> None: FILE: kimodo/viz/constraint_ui.py function update_interval (line 19) | def update_interval(interval_start, interval_end, start_frame_idx, end_f... class ConstraintSet (line 46) | class ConstraintSet: method __init__ (line 47) | def __init__( method set_label_visibility (line 65) | def set_label_visibility(self, visible: bool) -> None: method set_overlay_visibility (line 75) | def set_overlay_visibility(self, only_frame: Optional[int] = None) -> ... method add_keyframe (line 83) | def add_keyframe(self, keyframe_id: str, frame_idx: int, pose_data: to... method add_interval (line 93) | def add_interval( method _add_interval_label (line 110) | def _add_interval_label(self, start_frame_idx: int, end_frame_idx: int): method remove_keyframe (line 130) | def remove_keyframe(self, keyframe_id: str, frame_idx: int): method remove_interval (line 139) | def remove_interval(self, interval_id: str, start_frame_idx: int, end_... method _get_label_pos (line 149) | def _get_label_pos(self, frame_idx: int): method _remove_interval_and_update_label (line 157) | def _remove_interval_and_update_label(self, interval_id: str, start_fr... method get_constraint_info (line 201) | def get_constraint_info(self, device: Optional[str] = None): method get_frame_idx (line 205) | def get_frame_idx(self): method clear (line 209) | def clear(self, frame_idx: Optional[int] = None): function build_constraint_set_table_markdown (line 218) | def build_constraint_set_table_markdown(constraint_list: List[Constraint... class FullbodyKeyframeSet (line 234) | class FullbodyKeyframeSet(ConstraintSet): method __init__ (line 235) | def __init__( method add_keyframe (line 244) | def add_keyframe( method add_interval (line 310) | def add_interval( method remove_keyframe (line 339) | def remove_keyframe(self, keyframe_id: str, frame_idx: int): method _get_label_pos (line 349) | def _get_label_pos(self, frame_idx: int): method remove_interval (line 352) | def remove_interval(self, interval_id: str, start_frame_idx: int, end_... method get_constraint_info (line 355) | def get_constraint_info(self, device: Optional[str] = None): method clear (line 379) | def clear(self, frame_idx: Optional[int] = None): method set_overlay_visibility (line 399) | def set_overlay_visibility(self, only_frame: Optional[int] = None) -> ... class EEJointsKeyframeSet (line 411) | class EEJointsKeyframeSet(ConstraintSet): method __init__ (line 412) | def __init__( method create_scene_elements (line 424) | def create_scene_elements( method add_keyframe (line 508) | def add_keyframe( method add_interval (line 611) | def add_interval( method remove_keyframe (line 651) | def remove_keyframe(self, keyframe_id: str, frame_idx: int): method _get_label_pos (line 689) | def _get_label_pos(self, frame_idx: int): method remove_interval (line 692) | def remove_interval(self, interval_id: str, start_frame_idx: int, end_... method get_constraint_info (line 695) | def get_constraint_info(self, device: Optional[str] = None): method clear (line 725) | def clear(self, frame_idx: Optional[int] = None, scene_elements_only: ... method set_overlay_visibility (line 743) | def set_overlay_visibility(self, only_frame: Optional[int] = None) -> ... class RootKeyframe2DSet (line 757) | class RootKeyframe2DSet(ConstraintSet): method __init__ (line 758) | def __init__( method add_keyframe (line 771) | def add_keyframe( method add_interval (line 857) | def add_interval( method set_smooth_path (line 901) | def set_smooth_path(self, smooth_path: bool): method set_dense_path (line 906) | def set_dense_path(self, dense_path: bool): method interpolate_path (line 927) | def interpolate_path(self, t: np.ndarray): method update_line_segments (line 958) | def update_line_segments(self): method remove_keyframe (line 975) | def remove_keyframe(self, keyframe_id: str, frame_idx: int): method _get_label_pos (line 987) | def _get_label_pos(self, frame_idx: int): method remove_interval (line 990) | def remove_interval(self, interval_id: str, start_frame_idx: int, end_... method _get_sparse_constraint_info (line 996) | def _get_sparse_constraint_info(self): method get_constraint_info (line 1013) | def get_constraint_info(self, device: Optional[str] = None): method clear (line 1031) | def clear(self, frame_idx: Optional[int] = None): method set_overlay_visibility (line 1060) | def set_overlay_visibility(self, only_frame: Optional[int] = None) -> ... FILE: kimodo/viz/coords.py function skew (line 8) | def skew(v: np.ndarray) -> np.ndarray: function rotation_matrix_from_two_vec (line 14) | def rotation_matrix_from_two_vec(v_from: np.ndarray, v_to: np.ndarray, e... FILE: kimodo/viz/g1_rig.py function _get_g1_joint_axis_indices (line 66) | def _get_g1_joint_axis_indices() -> dict[str, int]: function _get_g1_joint_limits (line 104) | def _get_g1_joint_limits() -> dict[str, tuple[float, float]]: function get_g1_joint_f2q_data (line 163) | def get_g1_joint_f2q_data( function _load_g1_mesh_data (line 212) | def _load_g1_mesh_data( function _get_mesh_geometry_impl (line 257) | def _get_mesh_geometry_impl( function _get_mesh_local_transforms_impl (line 281) | def _get_mesh_local_transforms_impl( class G1MeshRig (line 335) | class G1MeshRig: method __init__ (line 346) | def __init__( method set_visibility (line 395) | def set_visibility(self, visible: bool) -> None: method set_opacity (line 399) | def set_opacity(self, opacity: float) -> None: method set_wireframe (line 403) | def set_wireframe(self, wireframe: bool) -> None: method set_color (line 407) | def set_color(self, color: Tuple[int, int, int]) -> None: method set_pose (line 412) | def set_pose(self, joints_pos: np.ndarray, joints_rot: np.ndarray) -> ... method clear (line 427) | def clear(self) -> None: FILE: kimodo/viz/gui.py class GuiElements (line 11) | class GuiElements: FILE: kimodo/viz/playback.py class CharacterMotion (line 28) | class CharacterMotion: method __init__ (line 29) | def __init__( method precompute_mesh_info (line 67) | def precompute_mesh_info(self): method set_frame (line 75) | def set_frame(self, idx: int): method update_pose_at_frame (line 103) | def update_pose_at_frame( method clear (line 172) | def clear(self): method get_current_projected_root_pos (line 178) | def get_current_projected_root_pos(self) -> np.ndarray: method get_projected_root_pos (line 184) | def get_projected_root_pos(self, start_frame_idx: int, end_frame_idx: ... method set_projected_root_pos_path (line 213) | def set_projected_root_pos_path( method get_joints_pos (line 257) | def get_joints_pos(self, start_frame_idx: int, end_frame_idx: int = No... method get_joints_rot (line 283) | def get_joints_rot(self, start_frame_idx: int, end_frame_idx: int = No... method get_current_joints_pos (line 309) | def get_current_joints_pos(self) -> torch.Tensor: method get_current_joints_rot (line 312) | def get_current_joints_rot(self) -> torch.Tensor: method add_root_translation_gizmo (line 315) | def add_root_translation_gizmo( method add_joint_gizmos (line 427) | def add_joint_gizmos( method clear_all_gizmos (line 706) | def clear_all_gizmos(self): FILE: kimodo/viz/scene.py class WaypointMesh (line 32) | class WaypointMesh: method __init__ (line 33) | def __init__( method update_position (line 89) | def update_position(self, position: np.ndarray, heading: Optional[np.n... method clear (line 101) | def clear(self): method set_visible (line 109) | def set_visible(self, visible: bool) -> None: class SkeletonMesh (line 118) | class SkeletonMesh: method __init__ (line 119) | def __init__( method compute_single_pose (line 215) | def compute_single_pose(self, joints_pos: np.ndarray): method precompute_mesh_info (line 247) | def precompute_mesh_info(self, joints_pos: torch.Tensor): method update_mesh_info_cache (line 265) | def update_mesh_info_cache(self, joints_pos: torch.Tensor, frame_idx: ... method set_pose (line 275) | def set_pose( method set_visibility (line 308) | def set_visibility(self, visible: bool): method get_pose (line 312) | def get_pose(self) -> np.ndarray: method clear (line 315) | def clear(self): class Character (line 332) | class Character: method __init__ (line 333) | def __init__( method change_theme (line 479) | def change_theme(self, is_dark_mode): method set_skeleton_visibility (line 486) | def set_skeleton_visibility(self, visible: bool): method set_show_foot_contacts (line 490) | def set_show_foot_contacts(self, show: bool, frame_idx: Optional[int] ... method set_skinned_mesh_visibility (line 496) | def set_skinned_mesh_visibility(self, visible: bool): method set_skinned_mesh_opacity (line 502) | def set_skinned_mesh_opacity(self, opacity: float): method set_skinned_mesh_wireframe (line 508) | def set_skinned_mesh_wireframe(self, wireframe: bool): method precompute_skinning (line 514) | def precompute_skinning(self, joints_pos: torch.Tensor, joints_rot: to... method update_skinning_cache (line 536) | def update_skinning_cache(self, joints_pos: torch.Tensor, joints_rot: ... method set_pose (line 544) | def set_pose( method get_pose (line 572) | def get_pose(self) -> torch.Tensor: method clear (line 575) | def clear(self): FILE: kimodo/viz/smplx_skin.py class SMPLXSkin (line 66) | class SMPLXSkin: method __init__ (line 67) | def __init__( method lbs (line 214) | def lbs(self, posed_transform, bind_vertices=None): method skin (line 248) | def skin(self, joint_rotmat, joint_pos, rot_is_global=False): FILE: kimodo/viz/soma_layer_skin.py class SOMASkin (line 18) | class SOMASkin: method __init__ (line 19) | def __init__( method soma_model_pose (line 60) | def soma_model_pose(self, *args, **kwargs): method skin (line 64) | def skin(self, joint_rotmat, joint_pos, rot_is_global=False): FILE: kimodo/viz/soma_skin.py class SOMASkin (line 22) | class SOMASkin: method __init__ (line 23) | def __init__(self, skeleton): method lbs (line 59) | def lbs(self, posed_transform): method skin (line 82) | def skin(self, joint_rotmat, joint_pos, rot_is_global=False): FILE: kimodo/viz/viser_utils.py function load_example_cases (line 27) | def load_example_cases(examples_base_dir): FILE: setup.py class CMakeExtension (line 14) | class CMakeExtension(Extension): method __init__ (line 15) | def __init__(self, name, sourcedir=""): class CMakeBuild (line 20) | class CMakeBuild(build_ext): method run (line 21) | def run(self): method build_extension (line 30) | def build_extension(self, ext):