|
26 | 26 | import sc.fiji.bdvpg.sourceandconverter.SourceAndConverterHelper;
|
27 | 27 | import sc.fiji.bdvpg.sourceandconverter.register.BigWarpLauncher;
|
28 | 28 |
|
| 29 | +import java.awt.EventQueue; |
| 30 | +import java.lang.reflect.InvocationTargetException; |
29 | 31 | import java.util.*;
|
30 | 32 | import java.util.concurrent.Future;
|
31 | 33 | import java.util.stream.Collectors;
|
@@ -257,42 +259,51 @@ private RealTransform pruneLandMarksOutsideAtlas(RealTransform rt_in) {
|
257 | 259 | dialog.show();
|
258 | 260 | };
|
259 | 261 |
|
| 262 | + BigWarpLauncher bwl; |
| 263 | + |
260 | 264 | @Override
|
261 | 265 | public boolean edit() {
|
| 266 | + try { |
| 267 | + EventQueue.invokeAndWait(() -> { |
| 268 | + List<SourceAndConverter<?>> movingSacs = Arrays.stream(mimg).collect(Collectors.toList()); |
262 | 269 |
|
263 |
| - List<SourceAndConverter<?>> movingSacs = Arrays.stream(mimg).collect(Collectors.toList()); |
264 |
| - |
265 |
| - List<SourceAndConverter<?>> fixedSacs = Arrays.stream(fimg).collect(Collectors.toList()); |
| 270 | + List<SourceAndConverter<?>> fixedSacs = Arrays.stream(fimg).collect(Collectors.toList()); |
266 | 271 |
|
267 |
| - List<ConverterSetup> converterSetups = Arrays.stream(mimg).map(src -> SourceAndConverterServices.getSourceAndConverterService().getConverterSetup(src)).collect(Collectors.toList()); |
| 272 | + List<ConverterSetup> converterSetups = Arrays.stream(mimg).map(src -> SourceAndConverterServices.getSourceAndConverterService().getConverterSetup(src)).collect(Collectors.toList()); |
268 | 273 |
|
269 |
| - converterSetups.addAll(Arrays.stream(fimg).map(src -> SourceAndConverterServices.getSourceAndConverterService().getConverterSetup(src)).collect(Collectors.toList())); |
| 274 | + converterSetups.addAll(Arrays.stream(fimg).map(src -> SourceAndConverterServices.getSourceAndConverterService().getConverterSetup(src)).collect(Collectors.toList())); |
270 | 275 |
|
271 |
| - // Launch BigWarp |
272 |
| - BigWarpLauncher bwl = new BigWarpLauncher(movingSacs, fixedSacs, "Big Warp", converterSetups); |
273 |
| - bwl.set2d(); |
274 |
| - bwl.run(); |
| 276 | + // Launch BigWarp |
| 277 | + bwl = new BigWarpLauncher(movingSacs, fixedSacs, "Big Warp", converterSetups); |
| 278 | + bwl.set2d(); |
| 279 | + bwl.run(); |
275 | 280 |
|
276 |
| - // Output bdvh handles -> will be put in the object service |
277 |
| - BdvHandle bdvhQ = bwl.getBdvHandleQ(); |
278 |
| - BdvHandle bdvhP = bwl.getBdvHandleP(); |
| 281 | + // Output bdvh handles -> will be put in the object service |
| 282 | + BdvHandle bdvhQ = bwl.getBdvHandleQ(); |
| 283 | + BdvHandle bdvhP = bwl.getBdvHandleP(); |
279 | 284 |
|
280 |
| - bdvhP.getViewerPanel().state().setViewerTransform(BdvHandleHelper.getViewerTransformWithNewCenter(bdvhP, new double[]{0,0,0})); |
281 |
| - bdvhQ.getViewerPanel().state().setViewerTransform(BdvHandleHelper.getViewerTransformWithNewCenter(bdvhQ, new double[]{0,0,0})); |
| 285 | + bdvhP.getViewerPanel().state().setViewerTransform(BdvHandleHelper.getViewerTransformWithNewCenter(bdvhP, new double[]{0,0,0})); |
| 286 | + bdvhQ.getViewerPanel().state().setViewerTransform(BdvHandleHelper.getViewerTransformWithNewCenter(bdvhQ, new double[]{0,0,0})); |
282 | 287 |
|
283 |
| - bdvhQ.getViewerPanel().state().setDisplayMode(DisplayMode.FUSED); |
284 |
| - bdvhP.getViewerPanel().state().setDisplayMode(DisplayMode.FUSED); |
| 288 | + bdvhQ.getViewerPanel().state().setDisplayMode(DisplayMode.FUSED); |
| 289 | + bdvhP.getViewerPanel().state().setDisplayMode(DisplayMode.FUSED); |
285 | 290 |
|
286 |
| - SourceAndConverterServices.getBdvDisplayService().pairClosing(bdvhQ,bdvhP); |
| 291 | + SourceAndConverterServices.getBdvDisplayService().pairClosing(bdvhQ,bdvhP); |
287 | 292 |
|
288 |
| - bdvhP.getViewerPanel().requestRepaint(); |
289 |
| - bdvhQ.getViewerPanel().requestRepaint(); |
| 293 | + bdvhP.getViewerPanel().requestRepaint(); |
| 294 | + bdvhQ.getViewerPanel().requestRepaint(); |
290 | 295 |
|
291 |
| - bwl.getBigWarp().getLandmarkFrame().repaint(); |
| 296 | + bwl.getBigWarp().getLandmarkFrame().repaint(); |
292 | 297 |
|
293 |
| - if (rt!=null) { |
294 |
| - bwl.getBigWarp().loadLandmarks(BigWarpFileFromRealTransform(rt)); |
295 |
| - bwl.getBigWarp().setIsMovingDisplayTransformed(true); |
| 298 | + if (rt!=null) { |
| 299 | + bwl.getBigWarp().loadLandmarks(BigWarpFileFromRealTransform(rt)); |
| 300 | + bwl.getBigWarp().setIsMovingDisplayTransformed(true); |
| 301 | + } |
| 302 | + }); |
| 303 | + } catch (InterruptedException e) { |
| 304 | + throw new RuntimeException(e); |
| 305 | + } catch (InvocationTargetException e) { |
| 306 | + throw new RuntimeException(e); |
296 | 307 | }
|
297 | 308 |
|
298 | 309 | waitForUser.run();
|
|
0 commit comments