ibllib.atlas.plots
Module that has convenience plotting functions for 2D atlas slices
Functions
Creates a 3D volume with xyz points placed in corresponding voxel in volume. |
|
Plot xyz points on slice. |
|
Function to plot scalar value per allen region on flatmap slice |
|
Function to plot scalar value per allen region on histology slice |
|
Plot slice at through volume |
|
Prepare data in format needed for plotting when providing different region values per hemisphere |
|
Reorder list of acronyms and values to match the Allen ordering |
- prepare_lr_data(acronyms_lh, values_lh, acronyms_rh, values_rh)[source]
Prepare data in format needed for plotting when providing different region values per hemisphere
- Parameters
acronyms_lh – array of acronyms on left hemisphere
values_lh – values for each acronym on left hemisphere
acronyms_rh – array of acronyms on right hemisphere
values_rh – values for each acronym on left hemisphere
- Returns
combined acronyms and two column array of values
- reorder_data(acronyms, values, brain_regions=None)[source]
Reorder list of acronyms and values to match the Allen ordering
- Parameters
acronyms – array of acronyms
values – array of values
brain_regions – BrainRegions object
- Returns
ordered array of acronyms and values
- plot_scalar_on_slice(regions, values, coord=-1000, slice='coronal', mapping='Allen', hemisphere='left', background='image', cmap='viridis', clevels=None, show_cbar=False, brain_atlas=None, ax=None)[source]
Function to plot scalar value per allen region on histology slice
- Parameters
regions – array of acronyms of Allen regions
values – array of scalar value per acronym. If hemisphere is ‘both’ and different values want to be shown on each
hemispheres, values should contain 2 columns, 1st column for LH values, 2nd column for RH values :param coord: coordinate of slice in um (not needed when slice=’top’) :param slice: orientation of slice, options are ‘coronal’, ‘sagittal’, ‘horizontal’, ‘top’ (top view of brain) :param mapping: atlas mapping to use, options are ‘Allen’, ‘Beryl’ or ‘Cosmos’ :param hemisphere: hemisphere to display, options are ‘left’, ‘right’, ‘both’ :param background: background slice to overlay onto, options are ‘image’ or ‘boundary’ :param cmap: colormap to use :param clevels: min max color levels [cmin, cmax] :param show_cbar: whether or not to add colorbar to axis :param brain_atlas: AllenAtlas object :param ax: optional axis object to plot on :return:
- plot_scalar_on_flatmap(regions, values, depth=0, flatmap='dorsal_cortex', mapping='Allen', hemisphere='left', background='boundary', cmap='viridis', clevels=None, show_cbar=False, flmap_atlas=None, ax=None)[source]
Function to plot scalar value per allen region on flatmap slice
- Parameters
regions – array of acronyms of Allen regions
values – array of scalar value per acronym. If hemisphere is ‘both’ and different values want to be shown on each
hemispheres, values should contain 2 columns, 1st column for LH values, 2nd column for RH values :param depth: depth in flatmap in um :param flatmap: name of flatmap (currently only option is ‘dorsal_cortex’) :param mapping: atlas mapping to use, options are ‘Allen’, ‘Beryl’ or ‘Cosmos’ :param hemisphere: hemisphere to display, options are ‘left’, ‘right’, ‘both’ :param background: background slice to overlay onto, options are ‘image’ or ‘boundary’ :param cmap: colormap to use :param clevels: min max color levels [cmin, cmax] :param show_cbar: whether to add colorbar to axis :param flmap_atlas: FlatMap object :param ax: optional axis object to plot on :return:
- plot_volume_on_slice(volume, coord=-1000, slice='coronal', mapping='Allen', background='boundary', cmap='Reds', clevels=None, show_cbar=False, brain_atlas=None, ax=None)[source]
Plot slice at through volume
- Parameters
volume – 3D array of volume (must be same shape as brain_atlas object)
coord – coordinate of slice in um
slice – orientation of slice, options are ‘coronal’, ‘sagittal’, ‘horizontal’
mapping – atlas mapping to use, options are ‘Allen’, ‘Beryl’ or ‘Cosmos’
background – background slice to overlay onto, options are ‘image’ or ‘boundary’
cmap – colormap to use
clevels – min max color levels [cmin, cmax]
show_cbar – whether or not to add colorbar to axis
brain_atlas – AllenAtlas object
ax – optional axis object to plot on
- Returns
- plot_points_on_slice(xyz, values=None, coord=-1000, slice='coronal', mapping='Allen', background='boundary', cmap='Reds', clevels=None, show_cbar=False, aggr='mean', fwhm=100, brain_atlas=None, ax=None)[source]
Plot xyz points on slice. Points that lie in the same voxel within slice are aggregated according to method specified. A 3D Gaussian smoothing kernel with distance specified by fwhm is applied to images.
- Parameters
xyz – 3 column array of xyz coordinates of points in metres
values – array of values per xyz coordinates, if no values are given the sum of xyz points in each voxel is
returned :param coord: coordinate of slice in um (not needed when slice=’top’) :param slice: orientation of slice, options are ‘coronal’, ‘sagittal’, ‘horizontal’, ‘top’ (top view of brain) :param mapping: atlas mapping to use, options are ‘Allen’, ‘Beryl’ or ‘Cosmos’ :param background: background slice to overlay onto, options are ‘image’ or ‘boundary’ :param cmap: colormap to use :param clevels: min max color levels [cmin, cmax] :param show_cbar: whether or not to add colorbar to axis :param aggr: aggregation method. Options are sum, count, mean, std, median, min and max. Can also give in custom function (https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.binned_statistic.html) :param fwhm: fwhm distance of gaussian kernel in um :param brain_atlas: AllenAtlas object :param ax: optional axis object to plot on
- Returns
- compute_volume_from_points(xyz, values=None, aggr='sum', fwhm=100, ba=None)[source]
Creates a 3D volume with xyz points placed in corresponding voxel in volume. Points that fall into the same voxel within the volume are aggregated according to the method specified in aggr. Gaussian smoothing with a 3D kernel with distance specified by fwhm (full width half max) argument is applied. If fwhm = 0, no gaussian smoothing is applied.
- Parameters
xyz – 3 column array of xyz coordinates of points in metres
values – 1 column array of values per xyz coordinates, if no values are given the sum of xyz points in each voxel is
returned :param aggr: aggregation method. Options are sum, count, mean, std, median, min and max. Can also give in custom function (https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.binned_statistic.html) :param fwhm: full width at half maximum of gaussian kernel in um :param ba: AllenAtlas object :return: