Skip to content
This repository has been archived by the owner on Mar 17, 2023. It is now read-only.

ROI boolean operations logic. #578

Open
Stephane-D opened this issue Feb 24, 2014 · 2 comments
Open

ROI boolean operations logic. #578

Stephane-D opened this issue Feb 24, 2014 · 2 comments

Comments

@Stephane-D
Copy link
Contributor

Allow different logic for boolean operation on ROI which are currently too restrictive.
Change the GUI button operation to the described ones.
Internally code still allow to do the 2 different methods.

Alexandre mail :
<<
l’intersection entre sets de ROI qui n’ont pas le meme canal ne marche plus (encore un mail de Stephane, et la c’est le bloc de Mister Lagache qui marche plus). Mais ca soulève un problème qu’on avait déjà evoque ensemble avant mon depart, cette histoire d’intersection, a faire dans quelle dimension quand on se trimbale du -1 ou pas du -1 ? En gros, le mec détecte un truc dans chaque canal, il veut savoir quel canal pour quelle ROI (normal) et ensuite faire de l’intersection entre les ROI, il veut donc du spatial et s’en fout du reste Z, T, C

La solution que je te/vous propose, c’est de rajouter une nouvelle operation booléenne qui ne tient pas compte des dimensions “supérieures/non utilisées” et qui deviendrait non commutative (ROI1 U ROI2 != ROI2 U ROI1, pareil pour l'intersection), exemple:

  • une sorte de méthode “ROI2D.merge(ROI2D roi, Operation op, boolean discardOtherDimensions)” qui ferait que 2 ROI2D sur des Z ou T ou C différents pourraient quand même être unies (ou intersectées), et le résultat conserverait le Z ou T ou C de la ROI sur laquelle tu appelles la méthode. Exemple concret:
    si 2 ROI2D A et B ont A: Z=0, T=-1, C=0 et B: Z=2, T=3, C=19, alors cette nouvelle méthode donnerait une roi (union, intersection, whatever) qui serait l’intersection 2D classique et qui garderait Z=0, T=-1, C=0 (en gros, les metadata de B on s’en tamponne la crème brulée, qui me manque terriblement)
  • pareil en 3D (on oublierait T et C) et en 4D (on oublierait C)
  • Pour les opérations “inter-dimensions”

J’aurais presque envie de dire que ca devrait être le comportement par défaut, plutôt que l’option en plus. A voir>>

@Stephane-D Stephane-D self-assigned this Feb 24, 2014
@Stephane-D Stephane-D added the API label May 28, 2014
@Stephane-D Stephane-D added this to the Icy 1.5.x milestone May 28, 2014
@Stephane-D Stephane-D modified the milestones: 1.6.x.x, Icy 1.5.x Nov 14, 2014
@Stephane-D
Copy link
Contributor Author

Demande plus de reflexion...

@Stephane-D
Copy link
Contributor Author

Le problème ne se posera plus avec les nouvelles ROI...
Je garde ouvert juste pour la note.

@Stephane-D Stephane-D removed this from the 1.6.x.x milestone Oct 23, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant