Visualisation ============= :class:`~swiftgalaxy.reader.SWIFTGalaxy` objects behave just like :class:`~swiftsimio.reader.SWIFTDataset` objects for the purposes of using the :mod:`~swiftsimio.visualisation` tools. Keep in mind that a :class:`~swiftgalaxy.reader.SWIFTGalaxy` has usually applied a mask to particles and has recentered and/or transformed the coordinate frame. The mask is one reason that it is usually best to set ``periodic=False`` when calling visualisation routines. .. warning:: The :mod:`swiftsimio` visualisation tools do not correctly handle periodic boundaries when coordinates have been rotated. The visualisation tools cannot currently detect whether a :class:`~swiftgalaxy.reader.SWIFTGalaxy` object has been rotated, and can give incorrect results if periodic boundaries are used. It is therefore recommended to always set ``periodic=False`` in all calls to :mod:`swiftsimio` visualisation routines when passing a :class:`~swiftgalaxy.reader.SWIFTGalaxy`. When a :class:`~swiftgalaxy.reader.SWIFTGalaxy` has been recentered (the default behaviour) the visualisation ``region`` should be given relative to the centre, not the box coordinates. For example: .. code-block:: python from swiftsimio.visualisation.projection import project_gas sg = SWIFTGalaxy(..., auto_recenter=True) # the default image = project_gas( sg, project="masses", parallel=True, periodic=False, resolution=256, region=cosmo_array( [-0.5, 0.5, -0.5, 0.5], u.Mpc, comoving=True, scale_factor=sg.metadata.a, scale_exponent=1, ) ) For general information on the visualisation routines consult the :mod:`swiftsimio.visualisation` documentation pages.