imt-ring 1.6.8__tar.gz → 1.6.9__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. {imt_ring-1.6.8 → imt_ring-1.6.9}/PKG-INFO +1 -1
  2. {imt_ring-1.6.8 → imt_ring-1.6.9}/pyproject.toml +1 -1
  3. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/imt_ring.egg-info/PKG-INFO +1 -1
  4. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/base.py +12 -5
  5. {imt_ring-1.6.8 → imt_ring-1.6.9}/readme.md +0 -0
  6. {imt_ring-1.6.8 → imt_ring-1.6.9}/setup.cfg +0 -0
  7. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/imt_ring.egg-info/SOURCES.txt +0 -0
  8. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/imt_ring.egg-info/dependency_links.txt +0 -0
  9. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/imt_ring.egg-info/requires.txt +0 -0
  10. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/imt_ring.egg-info/top_level.txt +0 -0
  11. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/__init__.py +0 -0
  12. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algebra.py +0 -0
  13. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/__init__.py +0 -0
  14. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/_random.py +0 -0
  15. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/custom_joints/__init__.py +0 -0
  16. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/custom_joints/rr_imp_joint.py +0 -0
  17. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/custom_joints/rr_joint.py +0 -0
  18. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/custom_joints/suntay.py +0 -0
  19. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/dynamics.py +0 -0
  20. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/generator/__init__.py +0 -0
  21. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/generator/base.py +0 -0
  22. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/generator/batch.py +0 -0
  23. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/generator/finalize_fns.py +0 -0
  24. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/generator/motion_artifacts.py +0 -0
  25. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/generator/pd_control.py +0 -0
  26. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/generator/setup_fns.py +0 -0
  27. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/generator/types.py +0 -0
  28. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/jcalc.py +0 -0
  29. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/kinematics.py +0 -0
  30. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/sensors.py +0 -0
  31. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/__init__.py +0 -0
  32. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/branched.xml +0 -0
  33. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/exclude/knee_trans_dof.xml +0 -0
  34. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/exclude/standard_sys.xml +0 -0
  35. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/exclude/standard_sys_rr_imp.xml +0 -0
  36. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/inv_pendulum.xml +0 -0
  37. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/knee_flexible_imus.xml +0 -0
  38. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/spherical_stiff.xml +0 -0
  39. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/symmetric.xml +0 -0
  40. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_all_1.xml +0 -0
  41. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_all_2.xml +0 -0
  42. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_ang0_pos0.xml +0 -0
  43. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_control.xml +0 -0
  44. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_double_pendulum.xml +0 -0
  45. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_free.xml +0 -0
  46. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_kinematics.xml +0 -0
  47. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_morph_system/four_seg_seg1.xml +0 -0
  48. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_morph_system/four_seg_seg3.xml +0 -0
  49. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_randomize_position.xml +0 -0
  50. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_sensors.xml +0 -0
  51. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_three_seg_seg2.xml +0 -0
  52. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples.py +0 -0
  53. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/test_examples.py +0 -0
  54. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/xml/__init__.py +0 -0
  55. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/xml/abstract.py +0 -0
  56. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/xml/from_xml.py +0 -0
  57. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/xml/test_from_xml.py +0 -0
  58. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/xml/test_to_xml.py +0 -0
  59. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/xml/to_xml.py +0 -0
  60. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/maths.py +0 -0
  61. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/__init__.py +0 -0
  62. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/base.py +0 -0
  63. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/callbacks.py +0 -0
  64. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/ml_utils.py +0 -0
  65. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/optimizer.py +0 -0
  66. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/params/0x13e3518065c21cd8.pickle +0 -0
  67. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/params/0x1d76628065a71e0f.pickle +0 -0
  68. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/ringnet.py +0 -0
  69. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/rnno_v1.py +0 -0
  70. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/train.py +0 -0
  71. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/training_loop.py +0 -0
  72. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/rendering/__init__.py +0 -0
  73. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/rendering/base_render.py +0 -0
  74. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/rendering/mujoco_render.py +0 -0
  75. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/rendering/vispy_render.py +0 -0
  76. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/rendering/vispy_visuals.py +0 -0
  77. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/sim2real/__init__.py +0 -0
  78. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/sim2real/sim2real.py +0 -0
  79. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/spatial.py +0 -0
  80. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/sys_composer/__init__.py +0 -0
  81. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/sys_composer/delete_sys.py +0 -0
  82. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/sys_composer/inject_sys.py +0 -0
  83. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/sys_composer/morph_sys.py +0 -0
  84. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/__init__.py +0 -0
  85. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/backend.py +0 -0
  86. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/batchsize.py +0 -0
  87. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/colab.py +0 -0
  88. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/hdf5.py +0 -0
  89. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/normalizer.py +0 -0
  90. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/path.py +0 -0
  91. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/randomize_sys.py +0 -0
  92. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/register_gym_envs/__init__.py +0 -0
  93. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/register_gym_envs/saddle.py +0 -0
  94. {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/utils.py +0 -0
  95. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_algebra.py +0 -0
  96. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_base.py +0 -0
  97. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_custom_joints.py +0 -0
  98. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_dynamics.py +0 -0
  99. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_generator.py +0 -0
  100. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_jcalc.py +0 -0
  101. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_jit.py +0 -0
  102. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_kinematics.py +0 -0
  103. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_maths.py +0 -0
  104. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_ml_utils.py +0 -0
  105. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_motion_artifacts.py +0 -0
  106. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_pd_control.py +0 -0
  107. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_quickstart_example.py +0 -0
  108. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_random.py +0 -0
  109. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_randomize.py +0 -0
  110. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_rcmg.py +0 -0
  111. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_render.py +0 -0
  112. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_sensors.py +0 -0
  113. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_sim2real.py +0 -0
  114. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_sys_composer.py +0 -0
  115. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_train.py +0 -0
  116. {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: imt-ring
3
- Version: 1.6.8
3
+ Version: 1.6.9
4
4
  Summary: RING: Recurrent Inertial Graph-based Estimator
5
5
  Author-email: Simon Bachhuber <simon.bachhuber@fau.de>
6
6
  Project-URL: Homepage, https://github.com/SimiPixel/ring
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "imt-ring"
7
- version = "1.6.8"
7
+ version = "1.6.9"
8
8
  authors = [
9
9
  { name="Simon Bachhuber", email="simon.bachhuber@fau.de" },
10
10
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: imt-ring
3
- Version: 1.6.8
3
+ Version: 1.6.9
4
4
  Summary: RING: Recurrent Inertial Graph-based Estimator
5
5
  Author-email: Simon Bachhuber <simon.bachhuber@fau.de>
6
6
  Project-URL: Homepage, https://github.com/SimiPixel/ring
@@ -590,12 +590,14 @@ class System(_Base):
590
590
 
591
591
  return sys
592
592
 
593
- def findall_imus(self) -> list[str]:
594
- return [name for name in self.link_names if name[:3] == "imu"]
593
+ def findall_imus(self, names: bool = True) -> list[str] | list[int]:
594
+ bodies = [name for name in self.link_names if name[:3] == "imu"]
595
+ return bodies if names else [self.name_to_idx(n) for n in bodies]
595
596
 
596
- def findall_segments(self) -> list[str]:
597
- imus = self.findall_imus()
598
- return [name for name in self.link_names if name not in imus]
597
+ def findall_segments(self, names: bool = True) -> list[str] | list[int]:
598
+ imus = self.findall_imus(names=True)
599
+ bodies = [name for name in self.link_names if name not in imus]
600
+ return bodies if names else [self.name_to_idx(n) for n in bodies]
599
601
 
600
602
  def _bodies_indices_to_bodies_name(self, bodies: list[int]) -> list[str]:
601
603
  return [self.idx_to_name(i) for i in bodies]
@@ -615,6 +617,11 @@ class System(_Base):
615
617
  bodies = [i for i, _typ in enumerate(self.link_types) if _typ == typ]
616
618
  return self._bodies_indices_to_bodies_name(bodies) if names else bodies
617
619
 
620
+ def children(self, name: str, names: bool = False) -> list[int] | list[str]:
621
+ p = self.name_to_idx(name)
622
+ bodies = [i for i in range(self.num_links()) if self.link_parents[i] == p]
623
+ return bodies if (not names) else [self.idx_to_name(i) for i in bodies]
624
+
618
625
  def scan(self, f: Callable, in_types: str, *args, reverse: bool = False):
619
626
  """Scan `f` along each link in system whilst carrying along state.
620
627
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes