Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

MorphologyOps.foreground_component() ignores connectivity parameter, always uses 1-connectivity

Aperta
#56 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
55/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
python

Direzione di ricerca

Inizia da MorphologyOps.foreground_component() e confrontalo con l'inizializzazione e gli altri metodi che usano self.connectivity. Il lavoro è completato quando l'etichettatura delle componenti connesse rispetta la connettività configurata, inclusi utilizzi come neigh=6.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Problem Description

The MorphologyOps class in 1 accepts a connectivity parameter during initialization, but the foreground_component() method 2 completely ignores this parameter and always uses scipy's default 1-connectivity (4-connectivity for 2D, 6-connectivity for 3D).

Current Behavior
def foreground_component(self):
    return ndimage.label(self.binary_map)  # No structure parameter specified

When scipy.ndimage.label() is called without the structure parameter, it defaults to:

structure = _morphology.generate_binary_structure(input.ndim, 1)  # 1-connectivity
Expected Behavior

The method should respect the connectivity parameter passed during class initialization, similar to how other methods in the class use self.connectivity.

Evidence of Inconsistency
  1. Class initialization accepts connectivity: 1

  2. Other methods use connectivity: Other methods in the codebase properly use the connectivity parameter, as seen in 3

  3. Real usage expects different connectivity: In practice, the class is instantiated with different connectivity values, such as neigh=6 in 4

Proposed Solution

Modify the foreground_component() method to use the stored connectivity parameter:

def foreground_component(self):
    structure = generate_binary_structure(self.binary_map.ndim, self.connectivity)
    return ndimage.label(self.binary_map, structure=structure)
Impact

This inconsistency may lead to unexpected results in connected component analysis, especially for users who expect the specified connectivity to be applied consistently across all morphological operations.

Lingua principale
Python
Stelle
104
Fork
18
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Project-MONAI/MetricsReloaded

Tutte le issue di Project-MONAI/MetricsReloaded

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.