skyscapes.disk.base
===================

.. py:module:: skyscapes.disk.base

.. autoapi-nested-parse::

   Abstract disk interface for extended-source surface brightness.



Classes
-------

.. autoapisummary::

   skyscapes.disk.base.AbstractDisk


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

.. py:class:: AbstractDisk

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


   Extended-source surface brightness map.

   Subclasses return contrast (flux ratio relative to the host star) per
   pixel. The concrete ``System`` multiplies by ``star.spec_flux_density``
   to turn that into ph/s/m^2/nm per pixel.

   ``incl_deg`` / ``pa_deg`` are supplied at render time rather than stored
   on the disk so the System's midplane orientation drives every disk
   component consistently. Disks whose geometry is pre-baked into their
   representation (e.g. ``ExovistaDisk``'s contrast cube) may ignore the
   arguments; parametric disks (``GraterDisk``, ``ExovistaParametricDisk``)
   consume them.


   .. py:method:: surface_brightness(wavelength_nm, time_jd, incl_deg, pa_deg)
      :abstractmethod:


      Return contrast per pixel, shape ``(ny, nx)``.



   .. py:method:: spatial_extent()
      :abstractmethod:


      Return ``(width_arcsec, height_arcsec)``.



