package org.jactr.tools.itr.ortho;
import java.util.Map;
/**
* container for the analysis of a particular {@link ISlice}. Images, detailed
* reports, and fit statistics can be associated with this analysis. As well as
* a serializable result for further analysis with respect to the other analyses.
*
* @author harrison
*
*/
public interface ISliceAnalysis
{
/**
* associated slice
* @return
*/
public ISlice getSlice();
/**
* the result of the the analysis. If you want to examine different analyses with respect
* to each other, assign a result and use the {@link ISliceIntegrator}
* @return
*/
public Object getResult();
/**
* add common fit statistics
* @param label
* @param rmse
* @param rsquare
* @param n
* @param flag
*/
public void addFitStatistics(String label, double rmse, double rsquare, long n, boolean flag);
/**
* general fit statistics
* @param label
* @param stats
* @param flag
*/
public void addFitStatistics(String label, Map<String, String> stats, boolean flag);
public Map<String, Map<String,String>> getFitStatistics();
public boolean isFlagged();
/**
* where all analysis files should be written this is relative to
* the working directory of the batch execution
*/
public String getWorkingDirectory();
/**
* provide the path to an analysis generated image relative to
* the working directory.
* labels must be unique
* @param label
* @param workingRelativePath
*/
public void addImage(String label, String workingRelativePath);
public Map<String, String> getImages();
/**
* provide the path to an analysis generated file, typically
* containing additional details
* labels must be unique
* @param label
* @param workingRelativePath
*/
public void addDetail(String label, String workingRelativePath);
public Map<String, String> getDetails();
public Map<String, String> getModels();
public void setNotes(String notes);
public String getNotes();
}