Esempio n. 1
0
  /**
   * Extract the plane at the different positions and concatenate the Dataset
   *
   * @param newValue
   * @return
   */
  private CallbackTask<Void, Void> createSampleImage(File newValue) {
    return new CallbackTask<Void, Void>()
        .run(
            () -> {
              try {
                File fileTarget = workflowModel.getMapImages().get(newValue);
                Dataset datasetTarget = (Dataset) iOService.open(fileTarget.getAbsolutePath());
                ImageDisplay imageDisplayTarget = new SilentImageDisplay();
                context.inject(imageDisplayTarget);
                imageDisplayTarget.display(datasetTarget);
                selectPosition(
                    imageDisplayTarget,
                    workflowModel.getPositionLeft(),
                    workflowModel.getPositionRight(),
                    imageDisplayPaneRight);

                Dataset datasetSource = (Dataset) iOService.open(newValue.getAbsolutePath());
                ImageDisplay imageDisplaySource = new SilentImageDisplay();
                context.inject(imageDisplaySource);
                imageDisplaySource.display(datasetSource);
                selectPosition(
                    imageDisplaySource,
                    workflowModel.getPositionLeft(),
                    workflowModel.getPositionRight(),
                    imageDisplayPaneLeft);

              } catch (IOException ex) {
                Logger.getLogger(ProcessWorkflow.class.getName()).log(Level.SEVERE, null, ex);
              }
            })
        .submit(loadingScreenService);
  }
Esempio n. 2
0
 /**
  * @param imageDisplay
  * @param firstPosition
  * @param secondPosition
  * @param imageDisplayPane
  */
 public void selectPosition(
     ImageDisplay imageDisplay,
     long[] firstPosition,
     long[] secondPosition,
     ImageDisplayPane imageDisplayPane) {
   workflowModel.setPosition(firstPosition, imageDisplay);
   imageDisplayService.getActiveDatasetView(imageDisplay).setColorMode(ColorMode.COLOR);
   Dataset datasetFirstSlide = datasetUtillsService.extractPlane(imageDisplay);
   workflowModel.setPosition(secondPosition, imageDisplay);
   Dataset datasetSecondSlide = datasetUtillsService.extractPlane(imageDisplay);
   workflowModel.extractAndMerge(
       new Dataset[] {datasetFirstSlide, datasetSecondSlide}, imageDisplayPane);
 }
Esempio n. 3
0
 /** Compute the dataset */
 public void process() {
   List<File> files = workflowModel.getFiles();
   listViewItems.getItems().clear();
   workflowModel.getMapImages().clear();
   System.gc();
   workflowModel
       .transformeImages(files, directory.getAbsolutePath())
       .thenRunnable(
           () -> {
             files.sort(
                 (File o1, File o2) -> {
                   return o1.getName().compareTo(o2.getName());
                 });
             listViewItems.getItems().addAll(files);
           })
       .start();
 }
Esempio n. 4
0
 /** Add the items and set the listener on change */
 public void bindListView() {
   listViewItems.getItems().addAll(workflowModel.getMapImages().keySet());
   listViewItems
       .getSelectionModel()
       .selectedItemProperty()
       .addListener(
           (ObservableValue<? extends File> observable, File oldValue, File newValue) -> {
             createSampleImage(newValue).start();
           });
 }