:py:mod:`rofunc.learning.ml.utils`
==================================

.. py:module:: rofunc.learning.ml.utils

.. autodoc2-docstring:: rofunc.learning.ml.utils
   :allowtitles:

Module Contents
---------------

Functions
~~~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`quaternion_from_homo_matrix <rofunc.learning.ml.utils.quaternion_from_homo_matrix>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.quaternion_from_homo_matrix
          :summary:
   * - :py:obj:`get_canonical <rofunc.learning.ml.utils.get_canonical>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.get_canonical
          :summary:
   * - :py:obj:`multi_timestep_matrix <rofunc.learning.ml.utils.multi_timestep_matrix>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.multi_timestep_matrix
          :summary:
   * - :py:obj:`fd_transform <rofunc.learning.ml.utils.fd_transform>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.fd_transform
          :summary:
   * - :py:obj:`multi_timestep_fd_q <rofunc.learning.ml.utils.multi_timestep_fd_q>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.multi_timestep_fd_q
          :summary:
   * - :py:obj:`lifted_noise_matrix <rofunc.learning.ml.utils.lifted_noise_matrix>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.lifted_noise_matrix
          :summary:
   * - :py:obj:`lifted_transfer_matrix <rofunc.learning.ml.utils.lifted_transfer_matrix>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.lifted_transfer_matrix
          :summary:
   * - :py:obj:`gu_pinv <rofunc.learning.ml.utils.gu_pinv>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.gu_pinv
          :summary:
   * - :py:obj:`create_relative_time <rofunc.learning.ml.utils.create_relative_time>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.create_relative_time
          :summary:
   * - :py:obj:`align_trajectories_hsmm <rofunc.learning.ml.utils.align_trajectories_hsmm>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.align_trajectories_hsmm
          :summary:
   * - :py:obj:`align_trajectories <rofunc.learning.ml.utils.align_trajectories>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.align_trajectories
          :summary:
   * - :py:obj:`angle_to_rotation <rofunc.learning.ml.utils.angle_to_rotation>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.angle_to_rotation
          :summary:
   * - :py:obj:`feature_to_slice <rofunc.learning.ml.utils.feature_to_slice>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.feature_to_slice
          :summary:
   * - :py:obj:`dtype_to_index <rofunc.learning.ml.utils.dtype_to_index>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.dtype_to_index
          :summary:
   * - :py:obj:`plot_model_time <rofunc.learning.ml.utils.plot_model_time>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.plot_model_time
          :summary:
   * - :py:obj:`homo_matrix_from_quaternion <rofunc.learning.ml.utils.homo_matrix_from_quaternion>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.homo_matrix_from_quaternion
          :summary:
   * - :py:obj:`plot_demos_3d <rofunc.learning.ml.utils.plot_demos_3d>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.plot_demos_3d
          :summary:
   * - :py:obj:`repro_plot <rofunc.learning.ml.utils.repro_plot>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.repro_plot
          :summary:
   * - :py:obj:`plot_model <rofunc.learning.ml.utils.plot_model>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.plot_model
          :summary:
   * - :py:obj:`plot_demos <rofunc.learning.ml.utils.plot_demos>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.plot_demos
          :summary:
   * - :py:obj:`train_test <rofunc.learning.ml.utils.train_test>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.train_test
          :summary:
   * - :py:obj:`repro_demo <rofunc.learning.ml.utils.repro_demo>`
     - .. autodoc2-docstring:: rofunc.learning.ml.utils.repro_demo
          :summary:

API
~~~

.. py:function:: quaternion_from_homo_matrix(matrix, isprecise=False)
   :canonical: rofunc.learning.ml.utils.quaternion_from_homo_matrix

   .. autodoc2-docstring:: rofunc.learning.ml.utils.quaternion_from_homo_matrix

.. py:function:: get_canonical(nb_dim, nb_deriv=2, dt=0.01)
   :canonical: rofunc.learning.ml.utils.get_canonical

   .. autodoc2-docstring:: rofunc.learning.ml.utils.get_canonical

.. py:function:: multi_timestep_matrix(A, B, nb_step=4)
   :canonical: rofunc.learning.ml.utils.multi_timestep_matrix

   .. autodoc2-docstring:: rofunc.learning.ml.utils.multi_timestep_matrix

.. py:function:: fd_transform(d, xi_dim, nb_past, dt=0.1)
   :canonical: rofunc.learning.ml.utils.fd_transform

   .. autodoc2-docstring:: rofunc.learning.ml.utils.fd_transform

.. py:function:: multi_timestep_fd_q(rs, xi_dim, dt)
   :canonical: rofunc.learning.ml.utils.multi_timestep_fd_q

   .. autodoc2-docstring:: rofunc.learning.ml.utils.multi_timestep_fd_q

.. py:function:: lifted_noise_matrix(A=None, B=None, nb_dim=3, dt=0.01, horizon=50)
   :canonical: rofunc.learning.ml.utils.lifted_noise_matrix

   .. autodoc2-docstring:: rofunc.learning.ml.utils.lifted_noise_matrix

.. py:function:: lifted_transfer_matrix(A=None, B=None, nb_dim=3, dt=0.01, horizon=50, sparse=False)
   :canonical: rofunc.learning.ml.utils.lifted_transfer_matrix

   .. autodoc2-docstring:: rofunc.learning.ml.utils.lifted_transfer_matrix

.. py:function:: gu_pinv(A, rcond=1e-15)
   :canonical: rofunc.learning.ml.utils.gu_pinv

   .. autodoc2-docstring:: rofunc.learning.ml.utils.gu_pinv

.. py:function:: create_relative_time(q, start=-1.0)
   :canonical: rofunc.learning.ml.utils.create_relative_time

   .. autodoc2-docstring:: rofunc.learning.ml.utils.create_relative_time

.. py:function:: align_trajectories_hsmm(data, nb_states=5)
   :canonical: rofunc.learning.ml.utils.align_trajectories_hsmm

   .. autodoc2-docstring:: rofunc.learning.ml.utils.align_trajectories_hsmm

.. py:function:: align_trajectories(data, additional_data=[], hsmm=True, nb_states=5)
   :canonical: rofunc.learning.ml.utils.align_trajectories

   .. autodoc2-docstring:: rofunc.learning.ml.utils.align_trajectories

.. py:function:: angle_to_rotation(theta)
   :canonical: rofunc.learning.ml.utils.angle_to_rotation

   .. autodoc2-docstring:: rofunc.learning.ml.utils.angle_to_rotation

.. py:function:: feature_to_slice(nb_dim=2, nb_frames=None, nb_attractor=2, features=None)
   :canonical: rofunc.learning.ml.utils.feature_to_slice

   .. autodoc2-docstring:: rofunc.learning.ml.utils.feature_to_slice

.. py:function:: dtype_to_index(dtype)
   :canonical: rofunc.learning.ml.utils.dtype_to_index

   .. autodoc2-docstring:: rofunc.learning.ml.utils.dtype_to_index

.. py:function:: plot_model_time(model, demos, figsize=(10, 2), dim_idx=[1], demo_idx=0)
   :canonical: rofunc.learning.ml.utils.plot_model_time

   .. autodoc2-docstring:: rofunc.learning.ml.utils.plot_model_time

.. py:function:: homo_matrix_from_quaternion(quaternion)
   :canonical: rofunc.learning.ml.utils.homo_matrix_from_quaternion

   .. autodoc2-docstring:: rofunc.learning.ml.utils.homo_matrix_from_quaternion

.. py:function:: plot_demos_3d(demos, figsize=(15, 5), angle=[60, 45])
   :canonical: rofunc.learning.ml.utils.plot_demos_3d

   .. autodoc2-docstring:: rofunc.learning.ml.utils.plot_demos_3d

.. py:function:: repro_plot(model, demos, save=False, tp_list=[], figsize=(3.5, 5))
   :canonical: rofunc.learning.ml.utils.repro_plot

   .. autodoc2-docstring:: rofunc.learning.ml.utils.repro_plot

.. py:function:: plot_model(model, demos, figsize=(8, 3.5), skill_name='temp', save=False)
   :canonical: rofunc.learning.ml.utils.plot_model

   .. autodoc2-docstring:: rofunc.learning.ml.utils.plot_model

.. py:function:: plot_demos(demos, data_dim, figsize=(8, 5))
   :canonical: rofunc.learning.ml.utils.plot_demos

   .. autodoc2-docstring:: rofunc.learning.ml.utils.plot_demos

.. py:function:: train_test(demos, demo_idx=0, nb_states=5, test=True, sensory=True, kbins=True, hmmr=True, nb_dim=3, nb_frames=2)
   :canonical: rofunc.learning.ml.utils.train_test

   .. autodoc2-docstring:: rofunc.learning.ml.utils.train_test

.. py:function:: repro_demo(model, hmmr, demos, demo_idx=0, start_point=None, plot_on=False)
   :canonical: rofunc.learning.ml.utils.repro_demo

   .. autodoc2-docstring:: rofunc.learning.ml.utils.repro_demo
