coord2region.coord2study#
Utilities for mapping coordinates to neuroimaging studies.
This module fetches, converts, and queries NiMARE-compatible datasets (e.g., Neurosynth, NeuroQuery, and NIDM-Pain) and assembles study metadata for coordinates of interest.
Attributes#
Functions#
|
Fetch and convert NiMARE datasets into |
|
Load a previously saved deduplicated dataset. |
|
Create a deduplicated dataset across sources using PMIDs. |
|
Load or create a deduplicated NiMARE dataset. |
|
Remove duplicate studies based on PMID. |
|
Search selected datasets for studies reporting an MNI coordinate. |
|
Find studies reporting an MNI coordinate across all datasets. |
Module Contents#
- coord2region.coord2study.fetch_datasets(data_dir: str, sources: list[str] | None = None) dict[str, nimare.dataset.Dataset][source]#
Fetch and convert NiMARE datasets into
Datasetobjects.- Parameters:
- Returns:
Dictionary of NiMARE
Datasetobjects indexed by dataset name.- Return type:
Dict[str, Dataset]
- coord2region.coord2study.load_deduplicated_dataset(filepath: str) nimare.dataset.Dataset | None[source]#
Load a previously saved deduplicated dataset.
- Parameters:
filepath (str) – Path to the saved dataset file (
.pkl.gz).- Returns:
The loaded
Datasetobject, orNoneif loading fails.- Return type:
Optional[Dataset]
- coord2region.coord2study.deduplicate_datasets(datasets: dict[str, nimare.dataset.Dataset], save_dir: str | None = None) nimare.dataset.Dataset | None[source]#
Create a deduplicated dataset across sources using PMIDs.
Duplicates are identified via PubMed IDs extracted from study identifiers. Datasets are merged sequentially using
merge(), introduced in NiMARE 0.0.9. Older NiMARE versions withoutmergewill return the first dataset unchanged.- Parameters:
- Returns:
A deduplicated NiMARE
Datasetcombining all inputs, orNoneif no datasets were provided.- Return type:
Optional[Dataset]
- coord2region.coord2study.prepare_datasets(data_dir: str | None = None, sources: list[str] | None = None) nimare.dataset.Dataset | None[source]#
Load or create a deduplicated NiMARE dataset.
- Parameters:
data_dir (str, optional) – Base directory for downloaded datasets and the merged cache. If
None(default) the path~/coord2regionis used. Relative paths are interpreted relative to the user’s home directory so that passing"my_cache"stores data in~/my_cache.sources (Optional[List[str]], optional) – Dataset names to fetch if a cache needs to be built. See
fetch_datasets()for valid entries.None(default) fetches all available datasets.
- Returns:
The deduplicated NiMARE
Datasetobject, orNoneif preparation fails.- Return type:
Optional[Dataset]
- coord2region.coord2study.remove_duplicate_studies(studies: list[dict[str, Any]]) list[dict[str, Any]][source]#
Remove duplicate studies based on PMID.
- coord2region.coord2study.search_studies(datasets: dict[str, nimare.dataset.Dataset], coord: list[float] | tuple[float, float, float], radius: float = 0, sources: list[str] | None = None, email: str | None = None) list[dict[str, Any]][source]#
Search selected datasets for studies reporting an MNI coordinate.
- Parameters:
datasets (Dict[str, Dataset]) – NiMARE
Datasetobjects keyed by source name.coord (Union[List[float], Tuple[float, float, float]]) – MNI coordinate
[x, y, z].radius (float, default=0) – Search radius in millimeters around the coordinate.
0indicates an exact match.sources (Optional[List[str]], optional) – Specific dataset names to query.
Nonesearches across all provided datasets.email (Optional[str], optional) – Email address for Entrez (if abstract fetching is enabled).
- Returns:
Deduplicated list of study metadata dictionaries.
- Return type:
List[Dict[str, Any]]
- coord2region.coord2study.get_studies_for_coordinate(datasets: dict[str, nimare.dataset.Dataset] | nimare.dataset.Dataset, coord: list[float] | tuple[float, float, float], radius: float = 0, email: str | None = None, sources: list[str] | None = None) list[dict[str, Any]][source]#
Find studies reporting an MNI coordinate across all datasets.
This is a thin wrapper around
search_studies()that searches every dataset indatasets. When a single deduplicated dataset is supplied, it is treated as a combined source.- Parameters:
datasets (Union[Dict[str, Dataset], Dataset]) – NiMARE
Datasetobjects keyed by source name, or a single deduplicatedDatasetinstance.coord (Union[List[float], Tuple[float, float, float]]) – MNI coordinate
[x, y, z].radius (float, default=0) – Search radius in millimeters around the coordinate.
0indicates an exact match.email (Optional[str], optional) – Email address for Entrez (if abstract fetching is enabled).
sources (Optional[List[str]], optional) – Restrict the search to the specified dataset names when
datasetsis a mapping.