Class NeuroConnectivityFunctions

java.lang.Object
mgui.interfaces.Utility
mgui.geometry.neuro.connectivity.NeuroConnectivityFunctions

public class NeuroConnectivityFunctions
extends Utility
Utility class providing functions for determining neural connectivity from geometry.
Since:
1.0
Version:
1.0
Author:
Andrew Reid
  • Constructor Summary

    Constructors
    Constructor Description
    NeuroConnectivityFunctions()  
  • Method Summary

    Modifier and Type Method Description
    static Jama.Matrix computeCorticalPatchCorrelations​(Mesh3D mesh, java.util.ArrayList<MguiNumber> v_data, java.util.HashMap<java.lang.String,​java.lang.Object> parameters)
    Computes correlations between "patches" of cortex, defined by a set of vertices and a patch function.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • NeuroConnectivityFunctions

      public NeuroConnectivityFunctions()
  • Method Details

    • computeCorticalPatchCorrelations

      public static Jama.Matrix computeCorticalPatchCorrelations​(Mesh3D mesh, java.util.ArrayList<MguiNumber> v_data, java.util.HashMap<java.lang.String,​java.lang.Object> parameters)
      Computes correlations between "patches" of cortex, defined by a set of vertices and a patch function. Patch functions are one of:
      • Radius All neighbours of vertex i within a fixed radius are included in the correlation computation. In the case of unequal vertex counts, the farthest vertices will be removed from the largest patch until both patches have the same size.
      • Neighbours N nearest neighbours of vertex i will be included in the patch
      • Gaussian All neighbours of vertex i within a cut-off standard deviation value will be included in the patch. Values of these vertices will be scaled by a Gaussian kernel, as a function of their distance along the surface from vertex i. In the case of unequal vertex counts, the farthest vertices will be removed from the largest patch until both patches have the same size.
      • ROIs Regions-of-interest defined a priori. In the case of unequal vertex counts, a random subset of the largest patch will be used to equalize the counts.
      Patch functions can be modulated by general or specific parameters. For example, the general parameters n_min and n_max set lower and upper limits on the number of values used to compute a correlation.

      Parameters are specified using the parameters argument, which is a map of parameter names to values. Acceptable parameters are:

      • n_min [Optional: int] Lower limit on the number of values used to compute correlations. Patches which have less vertices than this value are not used to compute; their Pearson correlation values will be assigned a value of Double.NaN. Default is 0.
      • n_max [Optional: int] Upper limit on the number of values used to compute correlations. Patches which have more vertices than this number will be subsampled to match it: according to distance from vertex i, or randomly, in the case of 'ROIs' Default is Double.MAX_VALUE.
      • patch_function [Required: String Function with which to derive patches; see above.
      • patch_radius [Required for 'Radius': double] The radius determining the boundary of the patch.
      • n_neighbours [Required for 'Neighbours': int] The number of nearest neighbours to use for each patch.
      • gaussian_fwhm [Required for 'Gaussian' if gaussian_sigma is not defined: double] The full width at half max of the Gaussian kernel.
      • gaussian_sigma [Required for 'Gaussian' if gaussian_fwhm is not defined: double] The sigma for the Gaussian kernel.
      • gaussian_sigma_max [Required for 'Gaussian': double] The sigma value determining the boundary of the patch.
      • roi_values [Required for 'ROIs': ArrayList<MguiInteger] The vertex-wise ROI assignments determining the patches
      Parameters:
      mesh - The mesh from which to derive connectivity
      v_data - The values which are to be used to compute correlations
      parameters - A map of parameter names to the corresponding values
      Returns:
      An M x M matrix, containing the Pearson coefficients for correlations between each pair of vertices i and j (or a subset of these, if the filter_indices parameter has been specified).