OSCR

Circle of Willis-Guided Localization for Simultaneous Detection and Classification of Large Vessel Occlusions in Brain CTA.

Code ↔ Paper

2 matches between paragraphs of the paper and lines of its authors' code, computed by the harvester (lexical-v1). Click a colored paragraph or line to see its counterpart.

The 2 matches
  1. [1] § Methods › Network Architecture ↔ nndet/arch/heads/classifier.py, lines 295–364 · score 0.68 · cross entropy loss, classification head, bounding box, convolutional, sigmoid, layer
  2. [2] § Methods › Network Architecture ↔ nndet/arch/decoder/base.py, lines 29–104 · score 0.66 · lateral connections, transposed convolutional, decoder, activation, layer, union

Paper

Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC

The paper is loaded when this pane is shown.

The authors' code

Python · 430 lines · 15 KB · no license · 1 match

  1. """
  2. Copyright 2020 Division of Medical Image Computing, German Cancer Research Center (DKFZ), Heidelberg, Germany
  3. Licensed under the Apache License, Version 2.0 (the "License");
  4. you may not use this file except in compliance with the License.
  5. You may obtain a copy of the License at
  6. http://www.apache.org/licenses/LICENSE-2.0
  7. Unless required by applicable law or agreed to in writing, software
  8. distributed under the License is distributed on an "AS IS" BASIS,
  9. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. See the License for the specific language governing permissions and
  11. limitations under the License.
  12. """
  13. import torch
  14. import math
  15. import torch.nn as nn
  16. from typing import Optional, TypeVar
  17. from torch import Tensor
  18. from abc import abstractmethod
  19. from loguru import logger
  20. from nndet.losses.classification import (
  21. FocalLossWithLogits,
  22. BCEWithLogitsLossOneHot,
  23. CrossEntropyLoss,
  24. )
  25. CONV_TYPES = (nn.Conv2d, nn.Conv3d)
  26. class Classifier(nn.Module):
  27. @abstractmethod
  28. def compute_loss(self, pred_logits: Tensor, targets: Tensor, **kwargs) -> Tensor:
  29. """
  30. Compute classification loss (cross entropy loss)
  31. Args:
  32. pred_logits (Tensor): predicted logits
  33. targets (Tensor): classification targets
  34. Returns:
  35. Tensor: classification loss
  36. """
  37. raise NotImplementedError
  38. @abstractmethod
  39. def box_logits_to_probs(self, box_logits: Tensor) -> Tensor:
  40. """
  41. Convert bounding box logits to probabilities
  42. Args:
  43. box_logits (Tensor): bounding box logits [N, C], C=number of classes
  44. Returns:
  45. Tensor: probabilities
  46. """
  47. raise NotImplementedError
  48. class BaseClassifier(Classifier):
  49. def __init__(self,
  50. conv,
  51. in_channels: int,
  52. internal_channels: int,
  53. num_classes: int,
  54. anchors_per_pos: int,
  55. num_levels: int,
  56. num_convs: int = 3,
  57. add_norm: bool = True,
  58. **kwargs
  59. ):
  60. """
  61. Base class to build classifier heads with typical conv structure
  62. conv(in, internal) -> num_convs x conv(internal, internal) ->
  63. conv(internal, out)
  64. Args:
  65. conv: Convolution modules which handles a single layer
  66. in_channels: number of input channels
  67. internal_channels: number of channels internally used
  68. num_classes: number of foreground classes
  69. anchors_per_pos: number of anchors per position
  70. num_levels: number of decoder levels which are passed through the
  71. classifier
  72. num_convs: number of convolutions
  73. input_conv -> num_convs -> output_convs
  74. add_norm: en-/disable normalization layers in internal layers
  75. kwargs: keyword arguments passed to first and internal convolutions
  76. Notes:
  77. `self.loss` needs to be overwritten in subclasses
  78. `self.logits_convert_fn` needs to be overwritten in subclasses
  79. """
  80. super().__init__()
  81. self.dim = conv.dim
  82. self.num_levels = num_levels
  83. self.num_convs = num_convs
  84. self.num_classes = num_classes
  85. self.anchors_per_pos = anchors_per_pos
  86. self.in_channels = in_channels
  87. self.internal_channels = internal_channels
  88. self.conv_internal = self.build_conv_internal(conv, add_norm=add_norm, **kwargs)
  89. self.conv_out = self.build_conv_out(conv)
  90. self.loss: Optional[nn.Module] = None
  91. self.logits_convert_fn: Optional[nn.Module] = None
  92. self.init_weights()
  93. def build_conv_internal(self, conv, **kwargs):
  94. """
  95. Build internal convolutions
  96. """
  97. _conv_internal = nn.Sequential()
  98. _conv_internal.add_module(
  99. name="c_in",
  100. module=conv(
  101. self.in_channels,
  102. self.internal_channels,
  103. kernel_size=3,
  104. stride=1,
  105. padding=1,
  106. **kwargs,
  107. ))
  108. for i in range(self.num_convs):
  109. _conv_internal.add_module(
  110. name=f"c_internal{i}",
  111. module=conv(
  112. self.internal_channels,
  113. self.internal_channels,
  114. kernel_size=3,
  115. stride=1,
  116. padding=1,
  117. **kwargs,
  118. ))
  119. return _conv_internal
  120. def build_conv_out(self, conv):
  121. """
  122. Build final convolutions
  123. """
  124. out_channels = self.num_classes * self.anchors_per_pos
  125. return conv(
  126. self.internal_channels,
  127. out_channels,
  128. kernel_size=3,
  129. stride=1,
  130. padding=1,
  131. add_norm=False,
  132. add_act=False,
  133. bias=True,
  134. )
  135. def forward(self,
  136. x: torch.Tensor,
  137. level: int,
  138. **kwargs,
  139. ) -> torch.Tensor:
  140. """
  141. Forward input
  142. Args:
  143. x (torch.Tensor): input feature map of size (N x C x Y x X x Z)
  144. Returns:
  145. torch.Tensor: classification logits for each anchor
  146. (N x anchors x num_classes)
  147. """
  148. class_logits = self.conv_out(self.conv_internal(x))
  149. axes = (0, 2, 3, 1) if self.dim == 2 else (0, 2, 3, 4, 1)
  150. class_logits = class_logits.permute(*axes)
  151. class_logits = class_logits.contiguous()
  152. class_logits = class_logits.view(x.size()[0], -1, self.num_classes)
  153. return class_logits
  154. def compute_loss(self, pred_logits: Tensor, targets: Tensor, **kwargs) -> Tensor:
  155. """
  156. Base classifier with cross entropy loss (in general hard negative
  157. example mining should be done before this)
  158. Args:
  159. pred_logits (Tensor): predicted logits
  160. targets (Tensor): classification targets
  161. Returns:
  162. Tensor: classification loss
  163. """
  164. return self.loss(pred_logits, targets.long(), **kwargs)
  165. def box_logits_to_probs(self, box_logits: Tensor) -> Tensor:
  166. """
  167. Convert bounding box logits to probabilities
  168. Args:
  169. box_logits (Tensor): bounding box logits [N, C]
  170. N = number of anchors, C=number of foreground classes
  171. Returns:
  172. Tensor: probabilities
  173. """
  174. return self.logits_convert_fn(box_logits)
  175. def init_weights(self) -> None:
  176. """
  177. Init weights with prior prob
  178. """
  179. if self.prior_prob is not None:
  180. logger.info(f"Init classifier weights: prior prob {self.prior_prob}")
  181. for layer in self.modules():
  182. if isinstance(layer, CONV_TYPES):
  183. torch.nn.init.normal_(layer.weight, mean=0, std=0.01)
  184. if layer.bias is not None:
  185. torch.nn.init.constant_(layer.bias, 0)
  186. # Use prior in model initialization to improve stability
  187. bias_value = -math.log((1 - self.prior_prob) / self.prior_prob)
  188. for layer in self.conv_out.modules():
  189. if isinstance(layer, CONV_TYPES):
  190. torch.nn.init.constant_(layer.bias, bias_value)
  191. else:
  192. logger.info("Init classifier weights: conv default")
  193. class BCECLassifier(BaseClassifier):
  194. def __init__(self,
  195. conv,
  196. in_channels: int,
  197. internal_channels: int,
  198. num_classes: int,
  199. anchors_per_pos: int,
  200. num_levels: int,
  201. num_convs: int = 3,
  202. add_norm: bool = True,
  203. prior_prob: Optional[float] = None,
  204. weight: Optional[Tensor] = None,
  205. reduction: str = "mean",
  206. smoothing: float = 0.0,
  207. loss_weight: float = 1.,
  208. **kwargs
  209. ):
  210. """
  211. Classifier Head with sigmoid based BCE loss computation and prio
  212. prob weight init
  213. conv(in, internal) -> num_convs x conv(internal, internal) ->
  214. conv(internal, out)
  215. Args:
  216. conv: Convolution modules which handles a single layer
  217. in_channels: number of input channels
  218. internal_channels: number of channels internally used
  219. num_classes: number of foreground classes
  220. anchors_per_pos: number of anchors per position
  221. num_levels: number of decoder levels which are passed through the
  222. classifier
  223. num_convs: number of convolutions
  224. input_conv -> num_convs -> output_convs
  225. add_norm: en-/disable normalization layers in internal layers
  226. prior_prob: initialize final conv with given prior probability
  227. weight: weight in BCEWithLogitsLoss (see pytorch for more info)
  228. reduction: reduction to apply to loss. 'sum' | 'mean' | 'none'
  229. smoothing: label smoothing
  230. loss_weight: scalar to balance multiple losses
  231. kwargs: keyword arguments passed to first and internal convolutions
  232. """
  233. self.prior_prob = prior_prob
  234. super().__init__(
  235. conv=conv,
  236. in_channels=in_channels,
  237. num_convs=num_convs,
  238. add_norm=add_norm,
  239. internal_channels=internal_channels,
  240. num_classes=num_classes,
  241. anchors_per_pos=anchors_per_pos,
  242. num_levels=num_levels,
  243. **kwargs,
  244. )
  245. self.loss = BCEWithLogitsLossOneHot(
  246. num_classes=num_classes,
  247. weight=weight,
  248. reduction=reduction,
  249. smoothing=smoothing,
  250. loss_weight=loss_weight,
  251. )
  252. self.logits_convert_fn = nn.Sigmoid()
  253. class CEClassifier(BaseClassifier):
  254. def __init__(self,
  255. conv,
  256. in_channels: int,
  257. internal_channels: int,
  258. num_classes: int,
  259. anchors_per_pos: int,
  260. num_levels: int,
  261. num_convs: int = 3,
  262. add_norm: bool = True,
  263. prior_prob: Optional[float] = None,
  264. weight: Optional[Tensor] = None,
  265. reduction: str = "mean",
  266. loss_weight: float = 1.,
  267. **kwargs
  268. ):
  269. """
  270. Classifier Head with sigmoid based BCE loss computation and prio
  271. prob weight init
  272. conv(in, internal) -> num_convs x conv(internal, internal) ->
  273. conv(internal, out)
  274. Args:
  275. conv: Convolution modules which handles a single layer
  276. in_channels: number of input channels
  277. internal_channels: number of channels internally used
  278. num_classes: number of foreground classes
  279. anchors_per_pos: number of anchors per position
  280. num_levels: number of decoder levels which are passed through the
  281. classifier
  282. num_convs: number of convolutions
  283. input_conv -> num_convs -> output_convs
  284. add_norm: en-/disable normalization layers in internal layers
  285. prior_prob: initialize final conv with given prior probability
  286. weight: weight in cross entrpoy loss (see pytorch for more info)
  287. reduction: reduction to apply to loss. 'sum' | 'mean' | 'none'
  288. loss_weight: scalar to balance multiple losses
  289. kwargs: keyword arguments passed to first and internal convolutions
  290. """
  291. self.prior_prob = prior_prob
  292. super().__init__(
  293. conv=conv,
  294. in_channels=in_channels,
  295. num_convs=num_convs,
  296. add_norm=add_norm,
  297. internal_channels=internal_channels,
  298. num_classes=num_classes + 1, # add one channel for background
  299. anchors_per_pos=anchors_per_pos,
  300. num_levels=num_levels,
  301. **kwargs,
  302. )
  303. self.loss = CrossEntropyLoss(
  304. weight=weight,
  305. reduction=reduction,
  306. loss_weight=loss_weight,
  307. )
  308. self.logits_convert_fn = nn.Softmax(dim=1)
  309. def box_logits_to_probs(self, box_logits: Tensor) -> Tensor:
  310. """
  311. Convert bounding box logits to probabilities
  312. Args:
  313. box_logits (Tensor): bounding box logits [N, C], C=number of classes
  314. Returns:
  315. Tensor: probabilities
  316. """
  317. return self.logits_convert_fn(box_logits)[:, 1:] # remove background predictions
  318. class FocalClassifier(BaseClassifier):
  319. def __init__(self,
  320. conv,
  321. in_channels: int,
  322. internal_channels: int,
  323. num_classes: int,
  324. anchors_per_pos: int,
  325. num_levels: int,
  326. num_convs: int = 3,
  327. add_norm: bool = True,
  328. prior_prob: Optional[float] = None,
  329. gamma: float = 2,
  330. alpha: float = -1,
  331. reduction: str = "sum",
  332. loss_weight: float = 1.,
  333. **kwargs
  334. ):
  335. """
  336. Classifier Head with sigmoid based BCE loss computation and
  337. prio prob weight init
  338. conv(in, internal) -> num_convs x conv(internal, internal) ->
  339. conv(internal, out)
  340. Args:
  341. conv: Convolution modules which handles a single layer
  342. in_channels: number of input channels
  343. internal_channels: number of channels internally used
  344. num_classes: number of foreground classes
  345. anchors_per_pos: number of anchors per position
  346. num_levels: number of decoder levels which are passed through the
  347. classifier
  348. num_convs: number of convolutions
  349. input_conv -> num_convs -> output_convs
  350. add_norm: en-/disable normalization layers in internal layers
  351. prior_prob: initialize final conv with given prior probability
  352. gamma: focal loss gamma
  353. alpha: focal loss alpha
  354. reduction: reduction to apply to loss. 'sum' | 'mean' | 'none'
  355. loss_weight: scalar to balance multiple losses
  356. kwargs: keyword arguments passed to first and internal convolutions
  357. """
  358. self.prior_prob = prior_prob
  359. super().__init__(
  360. conv=conv,
  361. in_channels=in_channels,
  362. num_convs=num_convs,
  363. add_norm=add_norm,
  364. internal_channels=internal_channels,
  365. num_classes=num_classes,
  366. anchors_per_pos=anchors_per_pos,
  367. num_levels=num_levels,
  368. **kwargs,
  369. )
  370. self.loss = FocalLossWithLogits(
  371. gamma=gamma,
  372. alpha=alpha,
  373. reduction=reduction,
  374. loss_weight=loss_weight,
  375. )
  376. self.logits_convert_fn = nn.Sigmoid()
  377. ClassifierType = TypeVar('ClassifierType', bound=Classifier)

classifier.py at commit 97a58f3, no license · at the source

Overview

Authors: Valeriia Abramova1, Arnau Oliver1, Uma M Lal-Trehan Estrada1, Rachika E Hamadache1, Paola Martínez Arias1, Jordi Freixenet1, Mikel Terceño2, Yolanda Silva2, Xavier Lladó1
  1. Computer Vision and Robotics Institute, University of Girona, Girona, Catalonia Spain
  2. Department of Neurology, Hospital Universitari Dr Josep Trueta - Institut d’Investigació Biomèdica de Girona, Girona, Catalonia Spain
Journal: Neuroinformatics, volume 24, issue 4, article 62
Dates: received 16 January 2026; accepted 2 September 2026; published online 16 September 2026; in print 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1007/s12021-026-09817-x · PMID 42747736 · PMCID PMC13582341 · OpenAlex W7213233328
Open access: hybrid, a free copy (OpenAlex)
Status: code verified
Categories: other (modality), human (organism)
Methods: Connectivity, Machine learning, fMRI & imaging
Keywords: Computed tomography angiography, Large vessel occlusion, Circle of willis, nnDetection
MeSH: Brain*, Cerebral Angiography*, Circle of Willis*, Computed Tomography Angiography*, Humans (* major topic)
Topic: Acute Ischemic Stroke Management (Epidemiology, Medicine), according to OpenAlex
Funding: Nvidia; Universitat de Girona (IFUdG2024); Ministerio de Ciencia, Innovación y Universidades (PID2023, PID2023-146187OB-I00, PRE2021-099121, DPI2020-114769RB-I00); Fundació Institució Catalana de Recerca i Estudis Avançats (ICREA); European Regional Development Fund
Citations: not cited yet (Europe PMC); 32 references in the paper

Abstract

Large vessel occlusions (LVOs) are blockages in the brain’s major arteries that can cause severe neurological damage. Rapid and accurate detection using computed tomography angiography (CTA) is critical for timely stroke treatment. Here, we present a fully automated approach that detects LVOs and classifies the affected vessel simultaneously. Our method incorporates a spatial prior by using Circle of Willis (CoW) segmentation as additional input, guiding the model to anatomically relevant regions. We evaluated the two strategies, the global approach using the full CTA volume, and the local one focused on CoW regions. Both achieved high performance. Detection sensitivity was 0.97 at 0.20 false positives per image for the global approach, and 0.97 at 0.13 false positives for the local approach. Classification accuracy reached 94% and 91% for global and local strategies, respectively. Importantly, the local approach was 3.3× faster, offering a computationally efficient solution, a critical advantage in acute stroke care, where every minute impacts patient outcomes.

Reproduced under the paper's license (CC BY), from the paper cited above.

Repositories

Its files are read in the Code ↔ Paper reader above, with 2 matches between paragraphs and lines of code.

MIC-DKFZ/nnDetection

License: none: the authors keep all their rights
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Commit: 97a58f3110b71caf1b4bcc1851e67cf11e987fc5, 27 October 2025
Languages: Python (161), C++ (2), C/C++ (1), CUDA (1), Shell (1)
Size: 223 files, 166 scripts
Software Heritage: not archived
Found in: “Information Sharing Statement”
Holds: README, license file, environment (Dockerfile, requirements.txt, setup.cfg, setup.py, projects/Task019_ADAM/submission/Dockerfile), tests, continuous integration, documentation
Not found: CITATION.cff
Tools: PyTorch (56 files), NumPy (53 files), SimpleITK (15 files), pandas (6 files), scikit-learn (6 files), PyTorch Lightning (5 files), Matplotlib (5 files), nnU-Net (5 files), SciPy (5 files), scikit-image (2 files), seaborn (1 file)
Availability: 1 check, the latest on 26 September 2026: the link answers
  • 26 September 2026: the link answers
167 files

NIC-VICOROB/CoW-multiclass-segmentation-TopCoW24

License: none: the authors keep all their rights
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Commit: e47cc66e9211d3dab8400ffac599c3523d0f08d9, 3 February 2026
Languages: Python (552), Shell (16), Jupyter (4)
Size: 705 files, 572 scripts
Software Heritage: not archived
Found in: “Information Sharing Statement”
Holds: README, environment (nnUNet/pyproject.toml, nnUNet/setup.py, algo_submission/task-1-seg/Dockerfile, algo_submission/task-1-seg/requirements.txt, algo_submission/task-2-box/Dockerfile, algo_submission/task-2-box/requirements.txt), tests, documentation, 4 notebooks
Not found: license file, CITATION.cff, continuous integration
Tools: nnU-Net (312 files), NumPy (221 files), PyTorch (166 files), SimpleITK (25 files), scikit-image (20 files), SciPy (18 files), NiBabel (12 files), Matplotlib (10 files), pandas (10 files), tifffile (6 files), seaborn (4 files), scikit-learn (3 files)
Availability: 1 check, the latest on 26 September 2026: the link answers
  • 26 September 2026: the link answers
573 files

Tracing map

Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.

What the map holds:

  • 2 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 738 scripts, each with its path and the digest of its content;
  • 2 matches between paragraphs of the paper and lines of the code (method lexical-v1);
  • neither the text of the paper nor the code itself.

Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.

Data

No dataset and no data link were found in the paper.

Data Availability

The in-house dataset used for developing of the algorithm in the current study is not publicly available due to the confidentiality policy and institutional patient privacy regulation. The CODEC-IV dataset can be obtained in accordance with the original data provider’s and license terms.

Reproduced under the paper's license (CC BY), from the paper cited above.

Versions

The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.

Version 3, 28 September 2026

  • Publisher: n/a → Springer Science+Business Media
  • Funding: added Nvidia; Universitat de Girona: IFUdG2024; Ministerio de Ciencia, Innovación y Universidades: PID2023, PID2023-146187OB-I00, PRE2021-099121, DPI2020-114769RB-I00; Institució Catalana de Recerca i Estudis Avançats; Education, Audiovisual and Culture Executive Agency

Version 1, 27 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 9 authors, 4 keywords, 5 MeSH terms, 30 references.

Cite

This paper

Abramova, V., Oliver, A., Lal-Trehan Estrada, U. M., Hamadache, R. E., Martínez Arias, P., Freixenet, J., Terceño, M., Silva, Y., & Lladó, X. (2026). Circle of Willis-Guided Localization for Simultaneous Detection and Classification of Large Vessel Occlusions in Brain CTA. Neuroinformatics, 24(4), 62. https://doi.org/10.1007/s12021-026-09817-x

BibTeX

@article{abramova2026circle,
author = {Abramova, Valeriia and Oliver, Arnau and Lal-Trehan Estrada, Uma M and Hamadache, Rachika E and Martínez Arias, Paola and Freixenet, Jordi and Terceño, Mikel and Silva, Yolanda and Lladó, Xavier},
title = {{Circle of Willis-Guided Localization for Simultaneous Detection and Classification of Large Vessel Occlusions in Brain CTA}},
journal = {Neuroinformatics},
year = {2026},
month = sep,
volume = {24},
number = {4},
pages = {62},
publisher = {Springer Science+Business Media},
issn = {1539-2791},
doi = {10.1007/s12021-026-09817-x},
url = {https://doi.org/10.1007/s12021-026-09817-x},
pmid = {42747736},
pmcid = {PMC13582341}
}

RIS

TY - JOUR
AU - Abramova, Valeriia
AU - Oliver, Arnau
AU - Lal-Trehan Estrada, Uma M
AU - Hamadache, Rachika E
AU - Martínez Arias, Paola
AU - Freixenet, Jordi
AU - Terceño, Mikel
AU - Silva, Yolanda
AU - Lladó, Xavier
TI - Circle of Willis-Guided Localization for Simultaneous Detection and Classification of Large Vessel Occlusions in Brain CTA
T2 - Neuroinformatics
J2 - Neuroinformatics
PY - 2026
DA - 2026/09/16
VL - 24
IS - 4
SP - 62
SN - 1539-2791
PB - Springer Science+Business Media
DO - 10.1007/s12021-026-09817-x
UR - https://doi.org/10.1007/s12021-026-09817-x
LA - en
ER -

CSL-JSON

{
"id": "10.1007/s12021-026-09817-x",
"type": "article-journal",
"title": "Circle of Willis-Guided Localization for Simultaneous Detection and Classification of Large Vessel Occlusions in Brain CTA",
"container-title": "Neuroinformatics",
"author": [
{
"family": "Abramova",
"given": "Valeriia"
},
{
"family": "Oliver",
"given": "Arnau"
},
{
"family": "Lal-Trehan Estrada",
"given": "Uma M"
},
{
"family": "Hamadache",
"given": "Rachika E"
},
{
"family": "Martínez Arias",
"given": "Paola"
},
{
"family": "Freixenet",
"given": "Jordi"
},
{
"family": "Terceño",
"given": "Mikel"
},
{
"family": "Silva",
"given": "Yolanda"
},
{
"family": "Lladó",
"given": "Xavier"
}
],
"container-title-short": "Neuroinformatics",
"volume": "24",
"issue": "4",
"page": "62",
"DOI": "10.1007/s12021-026-09817-x",
"PMID": "42747736",
"PMCID": "PMC13582341",
"ISSN": "1539-2791",
"publisher": "Springer Science+Business Media",
"URL": "https://doi.org/10.1007/s12021-026-09817-x",
"language": "en",
"issued": {
"date-parts": [
[
2026,
9,
16
]
]
}
}

The tracing map gets a citation of its own once an author has validated it and it has a DOI.

Similar papers

The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.

[1] doi:10.1002/hipo.70124 [code]
Association Between Anterior Hippocampal Gyrification and Episodic Memory Performance in Neurotypical Young Adults.
Journal: Hippocampus
In common: nnU-Net, SimpleITK, tifffile, 9 other tools, 1 reference
[2] doi:10.1186/s12880-026-02335-x [code]
Automatic lateral ventricle and choroid plexus segmentation method in infant brain MR images.
Journal: BMC medical imaging
In common: nnU-Net, SimpleITK, tifffile, 9 other tools, 1 reference
[3] doi:10.21037/qims-2026-0792 [code]
An nnU-Net-based framework with adaptive feature representation for 3D brain tumor segmentation.
Journal: Quantitative imaging in medicine and surgery
In common: nnU-Net, SimpleITK, tifffile, 9 other tools, 1 reference
[4] doi:10.3389/fmed.2026.1875760 [code]
Adaptive multi-stage domain unlearning for white-matter lesion segmentation.
Journal: Frontiers in medicine
In common: nnU-Net, SimpleITK, tifffile, 9 other tools, 1 reference
[5] doi:10.3389/fnins.2026.1870124 [code]
An end-to-end pipeline for automated fetal brain segmentation and biometry from 3D SSFP MRI.
Journal: Frontiers in neuroscience
In common: nnU-Net, SimpleITK, tifffile, 9 other tools, 1 reference
[6] doi:10.1016/j.adro.2026.102092 [code]
Effect of Anatomic Contextual Information on the Performance of a Convolutional Neural Network Tasked With Brain Metastasis Detection.
Journal: Advances in radiation oncology
In common: nnU-Net, SimpleITK, tifffile, 9 other tools, 1 reference
[7] doi:10.64898/2026.07.15.26357954 [code]
Portable Ultra-Low Field MRI Deep-Learning Algorithms for White Matter Lesion Segmentation Improve Accuracy and Reflect Clinical Disability in Multiple Sclerosis
Journal: medRxiv (preprint)
In common: nnU-Net, SimpleITK, tifffile, 9 other tools
[8] doi:10.1136/jnnp-2025-335884 [code]
Diffusivity anisotropy signature of slowly expanding lesions predicts progression independent of relapse activity in multiple sclerosis.
Journal: Journal of neurology, neurosurgery, and psychiatry
In common: nnU-Net, SimpleITK, tifffile, 9 other tools
[9] doi:10.1371/journal.pcbi.1014555 [code]
Body surface potential driven personalisation of electrophysiological digital twins in hypertrophic cardiomyopathy.
Journal: PLoS computational biology
In common: nnU-Net, SimpleITK, scikit-image, 8 other tools, other
[10] doi:10.1002/alz.71649 [code]
Postmortem brain MRI reveals differential associations of subcortical and limbic volumes with cortical thinning and neurodegenerative pathologies.
Journal: Alzheimer's & dementia : the journal of the Alzheimer's Association
In common: nnU-Net, SimpleITK, scikit-image, 8 other tools

Contribute

The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.

Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.

Request its removal

To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).

Discussion, reproductions, activity

Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.

Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.

Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.