optixstuff.exposure
===================

.. py:module:: optixstuff.exposure

.. autoapi-nested-parse::

   ExposureConfig: physical parameters defining a single detector integration.

   Relocated from coronagraphoto so the same object can be consumed by
   both image-level (coronagraphoto) and analytic (jaxedith) code paths.



Classes
-------

.. autoapisummary::

   optixstuff.exposure.ExposureConfig


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

.. py:class:: ExposureConfig

   Bases: :py:obj:`equinox.Module`


   The physical parameters defining a single detector integration.

   All fields can be scalars (for a single event) or vectors (for a
   sequence), depending on how the factories are composed.


   .. py:attribute:: start_time_jd
      :type:  jax.numpy.ndarray


   .. py:attribute:: exposure_time_s
      :type:  jax.numpy.ndarray


   .. py:attribute:: central_wavelength_nm
      :type:  jax.numpy.ndarray


   .. py:attribute:: bin_width_nm
      :type:  jax.numpy.ndarray


   .. py:attribute:: position_angle_deg
      :type:  jax.numpy.ndarray


   .. py:method:: in_axes(**vectorized_axes)
      :classmethod:


      Helper to generate in_axes structure for JAX vmap over an ExposureConfig.

      Usage:
          # Vectorize over wavelength (axis 0), keep time constant
          in_axes = ExposureConfig.in_axes(central_wavelength_nm=0, bin_width_nm=0)



