PyNutil.image_to_coords#

PyNutil.image_to_coords(folder, registration, atlas, intensity_channel='grayscale', min_intensity=None, max_intensity=None, return_orientation='asr')[source]#

Transform image intensities into atlas-space point data.

Parameters:
  • folder – Path to a folder containing source images.

  • registration (RegistrationData) – Registration data returned by PyNutil.read_alignment().

  • atlas (Union[AtlasData, BrainGlobeAtlas]) – Atlas definition to use for labeling. This may be an AtlasData instance or a BrainGlobe atlas object.

  • intensity_channel – Image channel to convert to intensity values, such as "grayscale".

  • min_intensity – Optional lower threshold. Intensities below this value are discarded.

  • max_intensity – Optional upper threshold. Intensities above this value are discarded.

  • return_orientation (3-letter BrainGlobe orientation string (e.g. "asr",) – “ras”). Defaults to “asr” (internal orientation).

Returns:

Atlas-space point data with optional per-point intensity values and aggregated per-region intensity summaries. The atlas-space coordinates are stored in result.points.points and the sampled intensities in result.points.point_values. Per-region intensity summaries, when present, are stored in result.region_intensities.

Return type:

ExtractionResult

Examples

Quantify image intensity instead of segmented objects:

>>> from brainglobe_atlasapi import BrainGlobeAtlas
>>> atlas = BrainGlobeAtlas("allen_mouse_25um")
>>> registration = read_alignment("path/to/alignment.json")
>>> result = image_to_coords(
...     "path/to/images/",
...     registration,
...     atlas,
... )
>>> result.points.points.shape
(N, 3)
>>> result.region_intensities.columns.tolist()[:3]
['idx', 'name', 'r']