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>>
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:
J’aurais presque envie de dire que ca devrait être le comportement par défaut, plutôt que l’option en plus. A voir>>