diff --git a/src/main/java/fr/pasteur/ida/zellige/gui/CheckBoxDisplay.java b/src/main/java/fr/pasteur/ida/zellige/gui/CheckBoxDisplay.java index ecc08c3c0a0a3fc5060e77c56c6a408c75e12441..8c21045e1d5e3a76c6b5aa34ce1b72f03d1a73a7 100644 --- a/src/main/java/fr/pasteur/ida/zellige/gui/CheckBoxDisplay.java +++ b/src/main/java/fr/pasteur/ida/zellige/gui/CheckBoxDisplay.java @@ -28,25 +28,33 @@ */ package fr.pasteur.ida.zellige.gui; +import javafx.beans.property.SimpleBooleanProperty; import javafx.scene.control.CheckBox; public class CheckBoxDisplay extends CheckBox { - private boolean notDisplayed = true; + private SimpleBooleanProperty notDisplayed = new SimpleBooleanProperty( true ); + +// private boolean notDisplayed = true; public boolean isNotDisplayed() { - return notDisplayed; + return notDisplayed.getValue(); } public void disable() { - notDisplayed = false; + notDisplayed.setValue( false ); } public void enable() { - notDisplayed = true; + notDisplayed.setValue( true ); + } + + public SimpleBooleanProperty notDisplayedProperty() + { + return notDisplayed; } } diff --git a/src/main/java/fr/pasteur/ida/zellige/gui/MainController.java b/src/main/java/fr/pasteur/ida/zellige/gui/MainController.java index a68b8150bcbb78a4610bc0bdf6358b150d7ab42b..0e5d11eb1428b29081bbb346bcd244f6d45443e6 100644 --- a/src/main/java/fr/pasteur/ida/zellige/gui/MainController.java +++ b/src/main/java/fr/pasteur/ida/zellige/gui/MainController.java @@ -161,7 +161,7 @@ public class MainController< T extends RealType< T > & NativeType< T > > impleme selectionController.getSelectionModel().pretreatedImgProperty().bind( pretreatedImg ); selectionController.getSelectionModel().imagesProperty().bind( images ); constructionController.getConstructionModel().maximumsProperty().bind( selectionController.getSelectionModel().selectedPixelsProperty() ); - projectionController.referenceSurfacesProperty().bind( constructionController.getConstructionModel().referenceSurfacesProperty() ); + projectionController.getModel().referenceSurfacesProperty().bind( constructionController.getConstructionModel().referenceSurfacesProperty() ); changedParameters.bindBidirectional( selectionController.changedParametersProperty() ); selectionController.changedParametersProperty().bindBidirectional( constructionController.changedParametersProperty() ); constructionController.changedParametersProperty().bindBidirectional( projectionController.changedParametersProperty() ); @@ -348,7 +348,7 @@ public class MainController< T extends RealType< T > & NativeType< T > > impleme { if ( constructionController.getConstructionModel().referenceSurfacesProperty().getValue() != null ) { - projectionController.runProjection(); + projectionController.getModel().runProjection(); } else { diff --git a/src/main/java/fr/pasteur/ida/zellige/gui/ProjectionController.java b/src/main/java/fr/pasteur/ida/zellige/gui/ProjectionController.java index 25a3ae2c2a9911c5f86d9e75eee1427106533823..36fffec7f586a6e5fb2973d05a99581f01a04e02 100644 --- a/src/main/java/fr/pasteur/ida/zellige/gui/ProjectionController.java +++ b/src/main/java/fr/pasteur/ida/zellige/gui/ProjectionController.java @@ -6,13 +6,13 @@ * %% * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -28,11 +28,8 @@ */ package fr.pasteur.ida.zellige.gui; -import fr.pasteur.ida.zellige.element.Projection; -import fr.pasteur.ida.zellige.element.ReferenceSurface; -import fr.pasteur.ida.zellige.steps.projection.ReferenceSurfaceProjection; +import javafx.beans.property.BooleanProperty; import javafx.beans.property.SimpleBooleanProperty; -import javafx.beans.property.SimpleObjectProperty; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.fxml.FXML; @@ -40,25 +37,18 @@ import javafx.fxml.Initializable; import javafx.scene.control.ComboBox; import javafx.scene.control.Spinner; import javafx.scene.control.SpinnerValueFactory; -import net.imglib2.img.Img; -import net.imglib2.img.display.imagej.ImageJFunctions; import net.imglib2.type.NativeType; import net.imglib2.type.numeric.RealType; -import net.imglib2.type.numeric.integer.UnsignedShortType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.net.URL; -import java.util.ArrayList; import java.util.ResourceBundle; public class ProjectionController< T extends RealType< T > & NativeType< T > > implements Initializable { private final static Logger LOGGER = LoggerFactory.getLogger( ProjectionController.class ); - SimpleObjectProperty< ArrayList< ReferenceSurface< T > > > referenceSurfaces = new SimpleObjectProperty<>(); - SimpleBooleanProperty delta1Functions = new SimpleBooleanProperty( false ); - SimpleBooleanProperty delta2Functions = new SimpleBooleanProperty( false ); private final SimpleBooleanProperty changedParameters = new SimpleBooleanProperty(); @FXML private Spinner< Integer > delta1; @@ -79,9 +69,26 @@ public class ProjectionController< T extends RealType< T > & NativeType< T > > i @FXML private Spinner< Integer > delta2; + private ProjectionModel< T > model; + @Override public void initialize( URL url, ResourceBundle resourceBundle ) { + // Model + model = new ProjectionModel<>(); + + //link Model with View + model.methodProperty().bind( methodComboBox.valueProperty() ); + model.delta1Property().bind( delta1.valueProperty() ); + model.delta2Property().bind( delta2.valueProperty() ); + bindCheckBox( model.rawHMProperty(), model.rawHMDisplayProperty(), rawHeightMap ); + bindCheckBox( model.projectionProperty(), model.projectionDisplayProperty(), projection ); + bindCheckBox( model.extractedHMProperty(), model.extractedHMDisplayProperty(), extractedHeightMap ); + bindCheckBox( model.reduced3DspaceProperty(), model.reduced3DspaceDisplayProperty(), reduced3DSpace ); + bindCheckBox( model.segmentedSurfaceProperty(), model.segmentedSurfaceDisplayProperty(), segmentedSurface ); + bindCheckBox( model.segmentedSurfaceMaskProperty(), model.segmentedSurfaceMaskDisplayProperty(), segmentedSurfaceMask ); + + /* Components*/ SpinnerValueFactory< Integer > valueFactory = new SpinnerValueFactory.IntegerSpinnerValueFactory( 1, 30, 0 ); @@ -95,14 +102,14 @@ public class ProjectionController< T extends RealType< T > & NativeType< T > > i delta1.valueProperty().addListener( ( observableValue, integer, t1 ) -> { - delta1Functions.setValue( false ); + model.delta1FunctionsProperty().setValue( false ); resetDisplayMode(); changedParameters.setValue( true ); } ); delta2.valueProperty().addListener( ( observableValue, integer, t1 ) -> { - delta2Functions.setValue( false ); + model.delta2FunctionsProperty().setValue( false ); segmentedSurfaceMask.enable(); changedParameters.setValue( true ); } ); @@ -110,242 +117,100 @@ public class ProjectionController< T extends RealType< T > & NativeType< T > > i projection.selectedProperty().addListener( ( observableValue, aBoolean, t1 ) -> { - if ( delta1Functions.getValue() && t1 && projection.isNotDisplayed() ) + if ( model.delta1FunctionsProperty().getValue() && t1 && projection.isNotDisplayed() ) { - showProjections(); + model.showProjections(); } } ); rawHeightMap.selectedProperty().addListener( ( observableValue, aBoolean, t1 ) -> { - if ( delta1Functions.getValue() && t1 && rawHeightMap.isNotDisplayed() ) + if ( model.delta1FunctionsProperty().getValue() && t1 && rawHeightMap.isNotDisplayed() ) { - showRawHeightMap(); + model.showRawHeightMap(); } } ); extractedHeightMap.selectedProperty().addListener( ( observableValue, aBoolean, t1 ) -> { - if ( delta1Functions.getValue() && t1 && extractedHeightMap.isNotDisplayed() ) + if ( model.delta1FunctionsProperty().getValue() && t1 && extractedHeightMap.isNotDisplayed() ) { - showExtractedHeightMaps(); + model.showExtractedHeightMaps(); } } ); reduced3DSpace.selectedProperty().addListener( ( observableValue, aBoolean, t1 ) -> { - if ( delta1Functions.getValue() && t1 && reduced3DSpace.isNotDisplayed() ) + if ( model.delta1FunctionsProperty().getValue() && t1 && reduced3DSpace.isNotDisplayed() ) { - showReduced3DSpace(); + model.showReduced3DSpace(); } } ); segmentedSurface.selectedProperty().addListener( ( observableValue, aBoolean, t1 ) -> { - if ( delta1Functions.getValue() && t1 && segmentedSurface.isNotDisplayed() ) + if ( model.delta1FunctionsProperty().getValue() && t1 && segmentedSurface.isNotDisplayed() ) { - showSegmentedSurface(); + model.showSegmentedSurface(); } } ); segmentedSurfaceMask.selectedProperty().addListener( ( observableValue, aBoolean, t1 ) -> { - if ( delta2Functions.getValue() && t1 && segmentedSurfaceMask.isNotDisplayed() ) + if ( model.delta2FunctionsProperty().getValue() && t1 && segmentedSurfaceMask.isNotDisplayed() ) { - showSegmentedSurfaceMask(); + model.showSegmentedSurfaceMask(); } } ); - /* Properties*/ - referenceSurfaces.addListener( ( observableValue, referenceSurfaces1, t1 ) -> + // Model Properties + model.referenceSurfacesProperty().addListener( ( observableValue, referenceSurfaces1, t1 ) -> { if ( t1 == null ) { - delta1Functions.setValue( false ); + model.delta1FunctionsProperty().setValue( false ); LOGGER.debug( "REFERENCE_SURFACES is NULL" ); - - } else { - LOGGER.info( "Extraction of {} surfaces", referenceSurfaces.getValue().size() ); + LOGGER.info( "Extraction of {} surfaces", model.referenceSurfacesProperty().getValue().size() ); LOGGER.debug( "Compute output delta1" ); - setOutputDelta1(); + model.setOutputDelta1(); resetDisplayMode(); } } ); - delta1Functions.addListener( ( observableValue, aBoolean, t1 ) -> + model.delta1FunctionsProperty().addListener( ( observableValue, aBoolean, t1 ) -> { if ( ! t1 ) { LOGGER.debug( "DELTA1_FUNCTIONS is NULL" ); - delta2Functions.setValue( false ); + model.delta2FunctionsProperty().setValue( false ); } else { LOGGER.debug( "Compute output delta2" ); - setOutputDelta2(); + model.setOutputDelta2(); } } ); - delta2Functions.addListener( ( observable, oldValue, newValue ) -> + model.delta2FunctionsProperty().addListener( ( observable, oldValue, newValue ) -> { if ( newValue ) { - showOutput(); + model.showOutput(); } else { LOGGER.debug( "DELTA2_FUNCTIONS is NULL" ); } } ); - } - - private void showSegmentedSurfaceMask() - { - for ( ReferenceSurface< T > referenceSurface : referenceSurfaces.getValue() ) - { - ImageJFunctions.show( referenceSurface.getProjection().getSegmentedSurfaceMask(), "Surface_mask_" + referenceSurface.getIndex() ); - } - } - - private void showSegmentedSurface() - { - - for ( ReferenceSurface< T > referenceSurface : referenceSurfaces.getValue() ) - { - ImageJFunctions.show( referenceSurface.getProjection().getSegmentedSurface(), "Segmented_surface_" + referenceSurface.getIndex() ); - } - } - - private void showReduced3DSpace() - { - - for ( ReferenceSurface< T > referenceSurface : referenceSurfaces.getValue() ) - { - ImageJFunctions.show( referenceSurface.getProjection().getReduced3DSpace(), "Reduced_3D_space_" + referenceSurface.getIndex() ); - } - } - - private void showExtractedHeightMaps() - { - for ( ReferenceSurface< T > referenceSurface : referenceSurfaces.getValue() ) - { - ImageJFunctions.show( referenceSurface.getProjection().getExtractedHeightMap(), "Extracted_HM_" + referenceSurface.getIndex() ); - } - } - - private void showRawHeightMap() - { - for ( ReferenceSurface< T > referenceSurface : referenceSurfaces.getValue() ) - { - ImageJFunctions.show( referenceSurface.getzMap(), "Raw_HM_" + referenceSurface.getIndex() ); - } - } - - private void showProjections() - { - for ( ReferenceSurface< T > referenceSurface : referenceSurfaces.getValue() ) - { - ImageJFunctions.show( referenceSurface.getProjection().get(), "Projection_" + referenceSurface.getIndex() ); - } - } - - public void runProjection() - { - LOGGER.debug( "Starting projections ! " ); - if ( ! delta1Functions.getValue() ) - { - LOGGER.debug( "Output with delta1 " ); - setOutputDelta1(); - } - if ( ! delta2Functions.getValue() ) - { - LOGGER.debug( "Output with delta2 " ); - setOutputDelta2(); - } - showOutput(); - } - - private void showOutput() - { - if ( extractedHeightMap.isSelected() && extractedHeightMap.isNotDisplayed() ) - { - showExtractedHeightMaps(); - extractedHeightMap.disable(); - } - if ( segmentedSurface.isSelected() && segmentedSurface.isNotDisplayed() ) - { - showSegmentedSurface(); - segmentedSurface.disable(); - } - if ( projection.isSelected() && projection.isNotDisplayed() ) - { - showProjections(); - projection.disable(); - } - if ( reduced3DSpace.isSelected() && reduced3DSpace.isNotDisplayed() ) - { - showReduced3DSpace(); - reduced3DSpace.disable(); - } - if ( segmentedSurfaceMask.isSelected() && segmentedSurfaceMask.isNotDisplayed() ) - { - showSegmentedSurfaceMask(); - segmentedSurfaceMask.disable(); - } - if ( rawHeightMap.isSelected() && rawHeightMap.isNotDisplayed() ) - { - showRawHeightMap(); - rawHeightMap.disable(); - } - } - - private void setOutputDelta1() - { - int delta = delta1.getValue(); - String method = methodComboBox.getValue(); - - for ( ReferenceSurface< T > referenceSurface : referenceSurfaces.getValue() ) - { - Projection< T > projection = referenceSurface.getProjection(); - Img< UnsignedShortType > extractedHeightMap = ReferenceSurfaceProjection.getProjectionHeightMap( referenceSurface, method, delta ); - projection.setExtractedHeightMap( extractedHeightMap ); - projection.setProjection( ReferenceSurfaceProjection.projection1( referenceSurface, method ) ); - - projection.setSegmentedSurface( ReferenceSurfaceProjection.getSegmentedSurface( extractedHeightMap, referenceSurface.getInput(), referenceSurface.getFactory() ) ); - projection.setReduced3DSpace( ReferenceSurfaceProjection.getExtractedHeightMapSubStack( referenceSurface, delta ) ); - } - delta1Functions.setValue( true ); } - private void setOutputDelta2() - { - - for ( ReferenceSurface< T > referenceSurface : referenceSurfaces.getValue() ) - { - - Projection< T > projection = referenceSurface.getProjection(); - projection.setSegmentedSurfaceMask( ReferenceSurfaceProjection.getSegmentedSurfaceMask( projection.getSegmentedSurface(), delta2.getValue() ) ); - - } - delta2Functions.setValue( true ); - } - - public ArrayList< ReferenceSurface< T > > getReferenceSurfaces() - { - return referenceSurfaces.get(); - } - - public SimpleObjectProperty< ArrayList< ReferenceSurface< T > > > referenceSurfacesProperty() - { - return referenceSurfaces; - } private void resetDisplayMode() { @@ -363,4 +228,16 @@ public class ProjectionController< T extends RealType< T > & NativeType< T > > i { return changedParameters; } + + public ProjectionModel< T > getModel() + { + return model; + } + + + private void bindCheckBox( BooleanProperty selected, BooleanProperty notDisplayed, CheckBoxDisplay checkBox ) + { + selected.bind( checkBox.selectedProperty() ); + notDisplayed.bindBidirectional( checkBox.notDisplayedProperty() ); + } } diff --git a/src/main/java/fr/pasteur/ida/zellige/gui/ProjectionModel.java b/src/main/java/fr/pasteur/ida/zellige/gui/ProjectionModel.java new file mode 100644 index 0000000000000000000000000000000000000000..f8683bdbd2dd9632a0f05402fdf66f9e1d09d112 --- /dev/null +++ b/src/main/java/fr/pasteur/ida/zellige/gui/ProjectionModel.java @@ -0,0 +1,310 @@ +package fr.pasteur.ida.zellige.gui; + +import fr.pasteur.ida.zellige.element.Projection; +import fr.pasteur.ida.zellige.element.ReferenceSurface; +import fr.pasteur.ida.zellige.steps.projection.ReferenceSurfaceProjection; +import javafx.beans.property.*; +import net.imglib2.img.Img; +import net.imglib2.img.display.imagej.ImageJFunctions; +import net.imglib2.type.NativeType; +import net.imglib2.type.numeric.RealType; +import net.imglib2.type.numeric.integer.UnsignedShortType; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; + +public class ProjectionModel< T extends RealType< T > & NativeType< T > > +{ + private final static Logger LOGGER = LoggerFactory.getLogger( ProjectionModel.class ); + private final SimpleObjectProperty< ArrayList< ReferenceSurface< T > > > referenceSurfaces; + private final SimpleBooleanProperty delta1Functions; + private final SimpleBooleanProperty delta2Functions; + private final IntegerProperty delta1; + private final IntegerProperty delta2; + + private final StringProperty method; + + + private final BooleanProperty rawHM; + private final BooleanProperty projection; + private final BooleanProperty extractedHM; + private final BooleanProperty reduced3Dspace; + private final BooleanProperty segmentedSurface; + private final BooleanProperty segmentedSurfaceMask; + + private final BooleanProperty rawHMDisplay; + private final BooleanProperty projectionDisplay; + private final BooleanProperty extractedHMDisplay; + private final BooleanProperty reduced3DspaceDisplay; + private final BooleanProperty segmentedSurfaceDisplay; + private final BooleanProperty segmentedSurfaceMaskDisplay; + + public ProjectionModel() + { + this.referenceSurfaces = new SimpleObjectProperty<>(); + this.delta1Functions = new SimpleBooleanProperty( false ); + this.delta2Functions = new SimpleBooleanProperty( false ); + this.method = new SimpleStringProperty(); + this.delta1 = new SimpleIntegerProperty(); + this.delta2 = new SimpleIntegerProperty(); + this.rawHM = new SimpleBooleanProperty(); + this.projection = new SimpleBooleanProperty(); + this.extractedHM = new SimpleBooleanProperty(); + this.reduced3Dspace = new SimpleBooleanProperty(); + this.segmentedSurface = new SimpleBooleanProperty(); + this.segmentedSurfaceMask = new SimpleBooleanProperty(); + this.rawHMDisplay = new SimpleBooleanProperty( true ); + this.projectionDisplay = new SimpleBooleanProperty( true ); + this.extractedHMDisplay = new SimpleBooleanProperty( true ); + this.reduced3DspaceDisplay = new SimpleBooleanProperty( true ); + this.segmentedSurfaceDisplay = new SimpleBooleanProperty( true ); + this.segmentedSurfaceMaskDisplay = new SimpleBooleanProperty( true ); + } + + public void showSegmentedSurfaceMask() + { + for ( ReferenceSurface< T > referenceSurface : referenceSurfaces.getValue() ) + { + ImageJFunctions.show( referenceSurface.getProjection().getSegmentedSurfaceMask(), "Surface_mask_" + referenceSurface.getIndex() ); + } + } + + public void showSegmentedSurface() + { + + for ( ReferenceSurface< T > referenceSurface : referenceSurfaces.getValue() ) + { + ImageJFunctions.show( referenceSurface.getProjection().getSegmentedSurface(), "Segmented_surface_" + referenceSurface.getIndex() ); + } + } + + public void showReduced3DSpace() + { + + for ( ReferenceSurface< T > referenceSurface : referenceSurfaces.getValue() ) + { + ImageJFunctions.show( referenceSurface.getProjection().getReduced3DSpace(), "Reduced_3D_space_" + referenceSurface.getIndex() ); + } + } + + public void showExtractedHeightMaps() + { + for ( ReferenceSurface< T > referenceSurface : referenceSurfaces.getValue() ) + { + ImageJFunctions.show( referenceSurface.getProjection().getExtractedHeightMap(), "Extracted_HM_" + referenceSurface.getIndex() ); + } + } + + public void showRawHeightMap() + { + for ( ReferenceSurface< T > referenceSurface : referenceSurfaces.getValue() ) + { + ImageJFunctions.show( referenceSurface.getzMap(), "Raw_HM_" + referenceSurface.getIndex() ); + } + } + + public void showProjections() + { + for ( ReferenceSurface< T > referenceSurface : referenceSurfaces.getValue() ) + { + ImageJFunctions.show( referenceSurface.getProjection().get(), "Projection_" + referenceSurface.getIndex() ); + } + } + + public void runProjection() + { + + LOGGER.debug( "Starting projections ! " ); + if ( ! delta1Functions.getValue() ) + { + LOGGER.debug( "Output with delta1 " ); + setOutputDelta1(); + } + if ( ! delta2Functions.getValue() ) + { + LOGGER.debug( "Output with delta2 " ); + setOutputDelta2(); + } + showOutput(); + } + + public void showOutput() + { + if ( rawHM.get() && rawHMDisplay.getValue() ) + { + showRawHeightMap(); + rawHMDisplay.setValue( false ); + } + if ( projection.get() && projectionDisplay.get() ) + { + showProjections(); + projectionDisplay.setValue( false ); + } + + if ( extractedHM.get() && extractedHMDisplay.get() ) + { + showExtractedHeightMaps(); + extractedHMDisplay.setValue( false ); + } + if ( segmentedSurface.get() && segmentedSurfaceDisplay.get() ) + { + showSegmentedSurface(); + segmentedSurface.setValue( false ); + } + + if ( reduced3Dspace.get() && reduced3DspaceDisplay.get() ) + { + showReduced3DSpace(); + reduced3DspaceDisplay.setValue( false ); + } + if ( segmentedSurfaceMask.get() && segmentedSurfaceMaskDisplay.get() ) + { + showSegmentedSurfaceMask(); + segmentedSurfaceMask.setValue( false ); + } + + } + + public void setOutputDelta1() + { + + for ( ReferenceSurface< T > referenceSurface : referenceSurfaces.getValue() ) + { + Projection< T > projection = referenceSurface.getProjection(); + Img< UnsignedShortType > extractedHeightMap = ReferenceSurfaceProjection.getProjectionHeightMap( referenceSurface, method.get(), delta1.intValue() ); + projection.setExtractedHeightMap( extractedHeightMap ); + projection.setProjection( ReferenceSurfaceProjection.projection1( referenceSurface, this.method.get() ) ); + + projection.setSegmentedSurface( ReferenceSurfaceProjection.getSegmentedSurface( extractedHeightMap, referenceSurface.getInput(), referenceSurface.getFactory() ) ); + projection.setReduced3DSpace( ReferenceSurfaceProjection.getExtractedHeightMapSubStack( referenceSurface, delta1.intValue() ) ); + } + delta1Functions.setValue( true ); + } + + public void setOutputDelta2() + { + + for ( ReferenceSurface< T > referenceSurface : referenceSurfaces.getValue() ) + { + + Projection< T > projection = referenceSurface.getProjection(); + projection.setSegmentedSurfaceMask( ReferenceSurfaceProjection.getSegmentedSurfaceMask( projection.getSegmentedSurface(), delta2.intValue() ) ); + + } + delta2Functions.setValue( true ); + } + + + public ArrayList< ReferenceSurface< T > > getReferenceSurfaces() + { + return referenceSurfaces.get(); + } + + public SimpleObjectProperty< ArrayList< ReferenceSurface< T > > > referenceSurfacesProperty() + { + return referenceSurfaces; + } + + public SimpleBooleanProperty delta1FunctionsProperty() + { + return delta1Functions; + } + + public SimpleBooleanProperty delta2FunctionsProperty() + { + return delta2Functions; + } + + public IntegerProperty delta1Property() + { + return delta1; + } + + public IntegerProperty delta2Property() + { + return delta2; + } + + public BooleanProperty rawHMProperty() + { + return rawHM; + } + + public boolean isProjection() + { + return projection.get(); + } + + public BooleanProperty projectionProperty() + { + return projection; + } + + public BooleanProperty extractedHMProperty() + { + return extractedHM; + } + + public BooleanProperty reduced3DspaceProperty() + { + return reduced3Dspace; + } + + public BooleanProperty segmentedSurfaceProperty() + { + return segmentedSurface; + } + + public BooleanProperty segmentedSurfaceMaskProperty() + { + return segmentedSurfaceMask; + } + + public String getMethod() + { + return method.get(); + } + + public void setMethod( String method ) + { + this.method.set( method ); + } + + public StringProperty methodProperty() + { + return method; + } + + + public BooleanProperty rawHMDisplayProperty() + { + return rawHMDisplay; + } + + public BooleanProperty projectionDisplayProperty() + { + return projectionDisplay; + } + + public BooleanProperty extractedHMDisplayProperty() + { + return extractedHMDisplay; + } + + + public BooleanProperty reduced3DspaceDisplayProperty() + { + return reduced3DspaceDisplay; + } + + public BooleanProperty segmentedSurfaceDisplayProperty() + { + return segmentedSurfaceDisplay; + } + + public BooleanProperty segmentedSurfaceMaskDisplayProperty() + { + return segmentedSurfaceMaskDisplay; + } +}