CorpusCallosum.data.read_write

class CorpusCallosum.data.read_write.MGHHeaderDict[source]

A dictionary with the four required fields of a MGH Header

Methods

clear()

copy()

fromkeys(iterable[, value])

Create a new dictionary with keys from iterable and values set to value.

get(key[, default])

Return the value for key if key is in the dictionary, else default.

items()

keys()

pop(key[, default])

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem(/)

Remove and return a (key, value) pair as a 2-tuple.

setdefault(key[, default])

Insert key with a value of default if key is not in the dictionary.

update([E, ]**F)

If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values()

CorpusCallosum.data.read_write.calc_ras_centroids_from_seg(seg_img, label_ids=None)[source]

Get centroids of segmentation labels in RAS coordinates, accepts any affine/data layout.

Parameters:
seg_imgnibabel.analyze.SpatialImage

Input segmentation image.

label_idslist[int], optional

List of label IDs to extract centroids for. If None, extracts all non-zero labels.

Returns:
dict[int, np.ndarray | None]

A dict mapping label IDs to their centroids (x,y,z) in RAS coordinates, None if label did not exist.

CorpusCallosum.data.read_write.convert_numpy_to_json_serializable(obj)[source]

Convert numpy types to JSON serializable types.

Parameters:
objdict, list, array, number, serializable

Object to convert to JSON serializable type.

Returns:
object

JSON serializable version of the input object.

CorpusCallosum.data.read_write.load_fsaverage_affine(affine_path)[source]

Load fsaverage affine matrix from static text file.

Parameters:
affine_pathstr or Path

Path to the text file containing affine matrix.

Returns:
np.ndarray

4x4 affine transformation matrix.

CorpusCallosum.data.read_write.load_fsaverage_centroids(centroids_path)[source]

Load fsaverage centroids from static JSON file.

Parameters:
centroids_pathstr or Path

Path to the JSON file containing centroids.

Returns:
dict[int, np.ndarray]

Dictionary mapping label IDs to their centroids in RAS coordinates.

CorpusCallosum.data.read_write.load_fsaverage_data(data_path)[source]

Load fsaverage affine matrix and header fields from static JSON file.

Parameters:
data_pathstr or Path

Path to the JSON file containing combined data.

Returns:
affine_matrixAffineMatrix4x4

4x4 affine transformation matrix.

header_fieldsdict
Header fields needed for LTA:
  • dimslist[int]

    Volume dimensions [x,y,z].

  • deltalist[float]

    Voxel size in mm [x,y,z].

  • Mdcnp.ndarray

    3x3 direction cosines matrix.

  • Pxyz_cnp.ndarray

    RAS center coordinates [x,y,z].

Raises:
FileNotFoundError

If the data file doesn’t exist.

json.JSONDecodeError

If the file is not valid JSON.

ValueError

If required fields are missing.