/*
* ome.api.IAnalysis
*
* Copyright 2006 University of Dundee. All rights reserved.
* Use is subject to license terms supplied in LICENSE.txt
*/
package ome.api;
import java.util.Set;
import ome.model.IObject;
import ome.model.containers.Dataset;
import ome.model.containers.Project;
import ome.model.core.Image;
/**
* Provides access to the model objects involved in analysis. Based on
* suggestions from Harry.
*
* @author <br>
* Josh Moore <a
* href="mailto:josh.moore@gmx.de"> josh.moore@gmx.de</a>
* @version 3.0
* @since OME3.0
*/
public interface IAnalysis extends ServiceInterface {
// TODO plural arguments for each
public Set<Project> getProjectsForUser(long experimenterId); // TODO or
// map?
public Set<Dataset> getDatasetsForProject(long projectId);
public Set<Dataset> getAllDatasets();
public Set<Project> getProjectsForDataset(long datasetId);
public Set<Image> getImagesForDataset(long datasetId);
public Set<IObject> getAllForImage(long imageId);
// TODO public Set getChainExecutionsForDataset(long datasetId);
// 1) all of the projects for a user,
// 2) for each prioject, a list of all datasets.
// 3) all datasets,
// 4) for each dataset, a list of projects
// 5) for each datasets , a list of images.
// 6) for an image, all of the datasets that contain it, thumbnails,
// and metadata.
// 7) for each datasets, a list of chain executions.
//
// analysis_chains
//
// with id, name, description, locked
// analysis_chain_nodes
// node_id, chain_id, module_id
// modules
// module_id, name, category, description
// analysis_chain_links
// link id, chain_id, from_node, to_node, from_output,to_input
// formal inputs
// formal input id, semantic type id,name, module id, description
// formal_outptuts
// formal output id, st id, name, module id, description
// analysis_chain_executions
// analysis chain exeuction id, analysis_chain_execution_id, dataset id,
// timestamp, experimenter id.
// module_executions.
// module execution id,image id, dataset id, timestamp, virtual mex
// sts
// semantic_type_id, name, description.
//
}