package iap.blocks.data_structures;
import iap.pipelines.ImageProcessorOptions;
import java.util.HashMap;
import java.util.HashSet;
import java.util.TreeMap;
import org.BackgroundTaskStatusProviderSupportingExternalCall;
import org.graffiti.plugin.parameter.Parameter;
import de.ipk.ag_ba.image.operations.blocks.properties.BlockResultSet;
import de.ipk.ag_ba.image.structures.CameraType;
import de.ipk.ag_ba.image.structures.ImageStack;
import de.ipk.ag_ba.image.structures.MaskAndImageSet;
import de.ipk_gatersleben.ag_pbi.mmd.experimentdata.Sample3D;
import de.ipk_gatersleben.ag_pbi.mmd.experimentdata.images.ImageData;
public interface ImageAnalysisBlock {
public void setInputAndOptions(MaskAndImageSet input, ImageProcessorOptions options, BlockResultSet settings, int blockPositionInPipeline,
ImageStack debugStack);
public MaskAndImageSet process() throws InterruptedException;
public HashSet<CameraType> getCameraInputTypes();
public HashSet<CameraType> getCameraOutputTypes();
public void postProcessResultsForAllTimesAndAngles(
TreeMap<String, TreeMap<Long, Double>> plandID2time2waterData,
TreeMap<Long, Sample3D> inSample,
TreeMap<Long, TreeMap<String, ImageData>> inImages,
TreeMap<Long, TreeMap<String, HashMap<Integer, BlockResultSet>>> allResultsForSnapshot,
TreeMap<Long, HashMap<Integer, BlockResultSet>> summaryResult,
BackgroundTaskStatusProviderSupportingExternalCall optStatus)
throws InterruptedException;
public BlockType getBlockType();
}
|