pyfebiopt.optimize.alignment
============================

.. py:module:: pyfebiopt.optimize.alignment

.. autoapi-nested-parse::

   Utilities for selecting evaluation grids and aligning simulation data.



Attributes
----------

.. autoapisummary::

   pyfebiopt.optimize.alignment.Array
   pyfebiopt.optimize.alignment.GridPolicy


Classes
-------

.. autoapisummary::

   pyfebiopt.optimize.alignment.EvaluationGrid
   pyfebiopt.optimize.alignment.Aligner


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

.. py:data:: Array

.. py:data:: GridPolicy

.. py:class:: EvaluationGrid

   Policy-driven evaluation grid selection.

   ``exp_to_sim`` preserves the experimental sampling and ensures simulations
   are compared on that grid. ``fixed_user`` enforces a custom user-provided
   grid, enabling shared abscissa among multiple experiments.


   .. py:attribute:: policy
      :type:  GridPolicy


   .. py:attribute:: common_grid
      :type:  Array | None
      :value: None



   .. py:method:: select_grid(x_exp: Array, _x_sim: Array) -> Array

      Return the abscissa where residuals should be evaluated.

      :param x_exp: Experimental sampling points.

      :returns: Evaluation grid matching the chosen policy.



.. py:class:: Aligner

   Thin wrapper above :func:`scipy.interpolate.interp1d` style API.


   .. py:method:: map(x_src: Array, y_src: Array, x_tgt: Array) -> Array

      Project the ``(x_src, y_src)`` samples onto ``x_tgt``.

      :returns: Aligned values with the same shape as ``x_tgt``.



