You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ctakes.apache.org by se...@apache.org on 2017/04/10 20:56:04 UTC

svn commit: r1790896 [3/4] - in /ctakes/trunk: ctakes-assertion/src/main/java/org/apache/ctakes/assertion/cr/ ctakes-assertion/src/main/java/org/apache/ctakes/assertion/eval/ ctakes-assertion/src/main/java/org/apache/ctakes/assertion/medfacts/ ctakes-a...

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventDocTimeRelDeepPhe.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventDocTimeRelDeepPhe.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventDocTimeRelDeepPhe.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventDocTimeRelDeepPhe.java Mon Apr 10 20:56:02 2017
@@ -18,21 +18,11 @@
  */
 package org.apache.ctakes.temporal.eval;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.FileHandler;
-import java.util.logging.Formatter;
-import java.util.logging.Level;
-import java.util.logging.LogRecord;
-import java.util.logging.Logger;
-
+import com.google.common.base.Function;
+import com.google.common.collect.Maps;
+import com.lexicalscope.jewel.cli.CliFactory;
+import com.lexicalscope.jewel.cli.Option;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
 import org.apache.ctakes.relationextractor.eval.SHARPXMI;
 import org.apache.ctakes.temporal.ae.DocTimeRelAnnotator;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.ParameterSettings;
@@ -44,6 +34,12 @@ import org.apache.uima.cas.CAS;
 import org.apache.uima.cas.CASException;
 import org.apache.uima.cas.Feature;
 import org.apache.uima.collection.CollectionReader;
+import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
+import org.apache.uima.fit.factory.AggregateBuilder;
+import org.apache.uima.fit.factory.AnalysisEngineFactory;
+import org.apache.uima.fit.pipeline.JCasIterator;
+import org.apache.uima.fit.pipeline.SimplePipeline;
+import org.apache.uima.fit.util.JCasUtil;
 import org.apache.uima.jcas.JCas;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.apache.uima.util.CasCopier;
@@ -53,17 +49,12 @@ import org.cleartk.ml.jar.JarClassifierB
 import org.cleartk.ml.liblinear.LibLinearStringOutcomeDataWriter;
 import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
 import org.cleartk.util.ViewUriUtil;
-import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
-import org.apache.uima.fit.factory.AggregateBuilder;
-import org.apache.uima.fit.factory.AnalysisEngineFactory;
-import org.apache.uima.fit.pipeline.JCasIterator;
-import org.apache.uima.fit.pipeline.SimplePipeline;
-import org.apache.uima.fit.util.JCasUtil;
 
-import com.google.common.base.Function;
-import com.google.common.collect.Maps;
-import com.lexicalscope.jewel.cli.CliFactory;
-import com.lexicalscope.jewel.cli.Option;
+import java.io.File;
+import java.io.IOException;
+import java.util.*;
+import java.util.logging.*;
+import java.util.logging.Formatter;
 
 public class EvaluationOfEventDocTimeRelDeepPhe extends
 Evaluation_ImplBase<Map<String, AnnotationStatistics<String>>>{
@@ -372,6 +363,11 @@ Evaluation_ImplBase<Map<String, Annotati
 		};
 	}
 
+	@PipeBitInfo(
+			name = "Event Property Clearer",
+			description = "Clears all event properties.",
+			role = PipeBitInfo.Role.SPECIAL
+	)
 	public static class ClearEventProperties extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 		@Override
 		public void process(JCas jCas) throws AnalysisEngineProcessException {
@@ -485,6 +481,12 @@ Evaluation_ImplBase<Map<String, Annotati
 	 * copy covered event's DocTimeRel to the gold event
 	 * remove non-gold eventMentions
 	 */
+	@PipeBitInfo(
+			name = "DocTimeRel to Gold Copier",
+			description = "Copies an Event's DocTimeRel from the System view to the Gold view.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.EVENT }
+	)
 	public static class CopyHeadEventDocTimeRel2GoldEvent extends JCasAnnotator_ImplBase {
 
 		@Override

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventCRFRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventCRFRelations.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventCRFRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventCRFRelations.java Mon Apr 10 20:56:02 2017
@@ -18,40 +18,20 @@
  */
 package org.apache.ctakes.temporal.eval;
 
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.PrintWriter;
-import java.net.URI;
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Deque;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.google.common.base.Function;
+import com.google.common.collect.*;
+import com.lexicalscope.jewel.cli.CliFactory;
+import com.lexicalscope.jewel.cli.Option;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
 import org.apache.ctakes.relationextractor.eval.RelationExtractorEvaluation.HashableArguments;
 import org.apache.ctakes.temporal.ae.EventEventCRFRelationAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
-//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
-import org.apache.ctakes.temporal.ae.baselines.RecallBaselineEventTimeRelationAnnotator;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.Overlap2Contains;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.ParameterSettings;
-import org.apache.ctakes.temporal.eval.EvaluationOfTemporalRelations_ImplBase.RemoveGoldAttributes;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
 import org.apache.ctakes.temporal.utils.AnnotationIdCollection;
 import org.apache.ctakes.temporal.utils.TLinkTypeArray2;
 import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
 import org.apache.ctakes.typesystem.type.relation.RelationArgument;
 import org.apache.ctakes.typesystem.type.relation.TemporalTextRelation;
-import org.apache.ctakes.typesystem.type.syntax.WordToken;
 import org.apache.ctakes.typesystem.type.textsem.EventMention;
 import org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation;
 import org.apache.ctakes.typesystem.type.textsem.TimeMention;
@@ -60,35 +40,34 @@ import org.apache.uima.analysis_engine.A
 import org.apache.uima.cas.CAS;
 import org.apache.uima.cas.CASException;
 import org.apache.uima.collection.CollectionReader;
+import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
+import org.apache.uima.fit.descriptor.ConfigurationParameter;
+import org.apache.uima.fit.factory.AggregateBuilder;
+import org.apache.uima.fit.factory.AnalysisEngineFactory;
+import org.apache.uima.fit.pipeline.JCasIterator;
+import org.apache.uima.fit.pipeline.SimplePipeline;
+import org.apache.uima.fit.util.JCasUtil;
 import org.apache.uima.jcas.JCas;
 import org.apache.uima.jcas.tcas.Annotation;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.apache.uima.util.FileUtils;
+import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.ml.crfsuite.CrfSuiteStringOutcomeDataWriter;
 import org.cleartk.ml.jar.JarClassifierBuilder;
-import org.cleartk.ml.liblinear.LibLinearStringOutcomeDataWriter;
-import org.cleartk.ml.libsvm.LibSvmStringOutcomeDataWriter;
-//import org.cleartk.ml.libsvm.LIBSVMStringOutcomeDataWriter;
-//import org.cleartk.ml.tksvmlight.TKSVMlightStringOutcomeDataWriter;
 import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
-import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.util.ViewUriUtil;
-import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
-import org.apache.uima.fit.descriptor.ConfigurationParameter;
-import org.apache.uima.fit.factory.AggregateBuilder;
-import org.apache.uima.fit.factory.AnalysisEngineFactory;
-import org.apache.uima.fit.pipeline.JCasIterator;
-import org.apache.uima.fit.pipeline.SimplePipeline;
-import org.apache.uima.fit.util.JCasUtil;
 
-import com.google.common.base.Function;
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
-import com.lexicalscope.jewel.cli.CliFactory;
-import com.lexicalscope.jewel.cli.Option;
+import java.io.File;
+import java.net.URI;
+import java.util.*;
+
+//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
+//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
+//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
+//import org.cleartk.ml.libsvm.LIBSVMStringOutcomeDataWriter;
+//import org.cleartk.ml.tksvmlight.TKSVMlightStringOutcomeDataWriter;
 
 public class EvaluationOfEventEventCRFRelations extends
 EvaluationOfTemporalRelations_ImplBase{
@@ -543,9 +522,16 @@ EvaluationOfTemporalRelations_ImplBase{
 			}
 		}   
 	}
-	
-	public static class AddEEPotentialRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
-		public static final String PARAM_RELATION_VIEW = "RelationView";
+
+   @PipeBitInfo(
+         name = "Event-Event TLinker",
+         description = "Adds Event -to- Event temporal relations.",
+         role = PipeBitInfo.Role.ANNOTATOR,
+         dependencies = { PipeBitInfo.TypeProduct.EVENT },
+         products = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class AddEEPotentialRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
+      public static final String PARAM_RELATION_VIEW = "RelationView";
 		@ConfigurationParameter(name = PARAM_RELATION_VIEW,mandatory=false)
 		private String relationViewName = CAS.NAME_DEFAULT_SOFA;
 
@@ -799,7 +785,13 @@ EvaluationOfTemporalRelations_ImplBase{
 	}
 
 
-	public static class AddTransitiveContainsRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
+   @PipeBitInfo(
+         name = "Transitive Contains Adder",
+         description = "Adds Contains temporal relations for annotations / relations in contain other relations.",
+         role = PipeBitInfo.Role.SPECIAL,
+         dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class AddTransitiveContainsRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
 		public void process(JCas jCas) throws AnalysisEngineProcessException {
@@ -864,7 +856,13 @@ EvaluationOfTemporalRelations_ImplBase{
 
 	}
 
-	public static class AddContain2Overlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
+   @PipeBitInfo(
+         name = "TLink Overlap Adder",
+         description = "Adds an Overlap temporal relation for each Contains temporal relation.",
+         role = PipeBitInfo.Role.SPECIAL,
+         dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class AddContain2Overlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
 		public void process(JCas jCas) throws AnalysisEngineProcessException {
@@ -890,7 +888,13 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
-	public static class AddFlippedOverlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
+   @PipeBitInfo(
+         name = "Reverse Overlap TLinker",
+         description = "Adds Overlap temporal relations with arguments flipped.",
+         role = PipeBitInfo.Role.SPECIAL,
+         dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class AddFlippedOverlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
 		public void process(JCas jCas) throws AnalysisEngineProcessException {
@@ -930,7 +934,13 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
-	public static class AddClosure extends JCasAnnotator_ImplBase {
+   @PipeBitInfo(
+         name = "TLink Closure Engine",
+         description = "Performs closure on Temporal Relations",
+         role = PipeBitInfo.Role.SPECIAL,
+         dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class AddClosure extends JCasAnnotator_ImplBase {
 
 		@Override
 		public void process(JCas jCas) throws AnalysisEngineProcessException {

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventDeepPheRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventDeepPheRelations.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventDeepPheRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventDeepPheRelations.java Mon Apr 10 20:56:02 2017
@@ -18,34 +18,14 @@
  */
 package org.apache.ctakes.temporal.eval;
 
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.PrintWriter;
-import java.net.URI;
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Deque;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.google.common.base.Function;
+import com.google.common.collect.*;
+import com.lexicalscope.jewel.cli.CliFactory;
+import com.lexicalscope.jewel.cli.Option;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
 import org.apache.ctakes.relationextractor.eval.RelationExtractorEvaluation.HashableArguments;
 import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
-//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
-import org.apache.ctakes.temporal.ae.baselines.RecallBaselineEventTimeRelationAnnotator;
-import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.Overlap2Contains;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.ParameterSettings;
-import org.apache.ctakes.temporal.eval.EvaluationOfTemporalRelations_ImplBase.RemoveGoldAttributes;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
 import org.apache.ctakes.temporal.utils.AnnotationIdCollection;
 import org.apache.ctakes.temporal.utils.TLinkTypeArray2;
 import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
@@ -60,34 +40,34 @@ import org.apache.uima.analysis_engine.A
 import org.apache.uima.cas.CAS;
 import org.apache.uima.cas.CASException;
 import org.apache.uima.collection.CollectionReader;
-import org.apache.uima.jcas.JCas;
-import org.apache.uima.jcas.tcas.Annotation;
-import org.apache.uima.resource.ResourceInitializationException;
-import org.apache.uima.util.FileUtils;
-import org.cleartk.ml.jar.JarClassifierBuilder;
-import org.cleartk.ml.liblinear.LibLinearStringOutcomeDataWriter;
-import org.cleartk.ml.libsvm.LibSvmStringOutcomeDataWriter;
-//import org.cleartk.ml.libsvm.LIBSVMStringOutcomeDataWriter;
-//import org.cleartk.ml.tksvmlight.TKSVMlightStringOutcomeDataWriter;
-import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
-import org.cleartk.eval.AnnotationStatistics;
-import org.cleartk.util.ViewUriUtil;
 import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
 import org.apache.uima.fit.descriptor.ConfigurationParameter;
 import org.apache.uima.fit.factory.AggregateBuilder;
 import org.apache.uima.fit.factory.AnalysisEngineFactory;
 import org.apache.uima.fit.pipeline.JCasIterator;
-import org.apache.uima.fit.pipeline.SimplePipeline;
 import org.apache.uima.fit.util.JCasUtil;
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.jcas.tcas.Annotation;
+import org.apache.uima.resource.ResourceInitializationException;
+import org.apache.uima.util.FileUtils;
+import org.cleartk.eval.AnnotationStatistics;
+import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
+import org.cleartk.util.ViewUriUtil;
 
-import com.google.common.base.Function;
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
-import com.lexicalscope.jewel.cli.CliFactory;
-import com.lexicalscope.jewel.cli.Option;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.PrintWriter;
+import java.net.URI;
+import java.util.*;
+
+//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
+//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
+//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
+//import org.cleartk.ml.libsvm.LIBSVMStringOutcomeDataWriter;
+//import org.cleartk.ml.tksvmlight.TKSVMlightStringOutcomeDataWriter;
 
 public class EvaluationOfEventEventDeepPheRelations extends
 EvaluationOfTemporalRelations_ImplBase{
@@ -409,7 +389,13 @@ EvaluationOfTemporalRelations_ImplBase{
 		outDrop.close();
 		return stats;
 	}
-	
+
+	@PipeBitInfo(
+			name = "Closed TLink Counter",
+			description = "Counts the number of TLinks that have shares Events or Times in the Gold view.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class CountCloseRelation extends JCasAnnotator_ImplBase {
 
 		private String systemViewName = CAS.NAME_DEFAULT_SOFA;
@@ -543,7 +529,14 @@ EvaluationOfTemporalRelations_ImplBase{
 			}
 		}   
 	}
-	
+
+	@PipeBitInfo(
+			name = "Event-Event TLinker",
+			description = "Adds Event -to- Event temporal relations.",
+			role = PipeBitInfo.Role.ANNOTATOR,
+			dependencies = { PipeBitInfo.TypeProduct.EVENT },
+			products = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddEEPotentialRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 		public static final String PARAM_RELATION_VIEW = "RelationView";
 		@ConfigurationParameter(name = PARAM_RELATION_VIEW,mandatory=false)
@@ -799,6 +792,12 @@ EvaluationOfTemporalRelations_ImplBase{
 	}
 
 
+	@PipeBitInfo(
+			name = "Transitive Contains Adder",
+			description = "Adds Contains temporal relations for annotations / relations in contain other relations.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddTransitiveContainsRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
@@ -864,6 +863,12 @@ EvaluationOfTemporalRelations_ImplBase{
 
 	}
 
+	@PipeBitInfo(
+			name = "TLink Overlap Adder",
+			description = "Adds an Overlap temporal relation for each Contains temporal relation.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddContain2Overlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
@@ -890,6 +895,12 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
+	@PipeBitInfo(
+			name = "Reverse Overlap TLinker",
+			description = "Adds Overlap temporal relations with arguments flipped.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddFlippedOverlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
@@ -930,6 +941,12 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
+	@PipeBitInfo(
+			name = "TLink Closure Engine",
+			description = "Performs closure on Temporal Relations",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddClosure extends JCasAnnotator_ImplBase {
 
 		@Override

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventHybridModelsRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventHybridModelsRelations.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventHybridModelsRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventHybridModelsRelations.java Mon Apr 10 20:56:02 2017
@@ -18,41 +18,21 @@
  */
 package org.apache.ctakes.temporal.eval;
 
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.PrintWriter;
-import java.net.URI;
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Deque;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.google.common.base.Function;
+import com.google.common.collect.*;
+import com.lexicalscope.jewel.cli.CliFactory;
+import com.lexicalscope.jewel.cli.Option;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
 import org.apache.ctakes.relationextractor.eval.RelationExtractorEvaluation.HashableArguments;
 import org.apache.ctakes.temporal.ae.EventEventCRFRelationAnnotator;
 import org.apache.ctakes.temporal.ae.EventEventRelationSeedBasedAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
-//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
-import org.apache.ctakes.temporal.ae.baselines.RecallBaselineEventTimeRelationAnnotator;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.Overlap2Contains;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.ParameterSettings;
-import org.apache.ctakes.temporal.eval.EvaluationOfTemporalRelations_ImplBase.RemoveGoldAttributes;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
 import org.apache.ctakes.temporal.utils.AnnotationIdCollection;
 import org.apache.ctakes.temporal.utils.TLinkTypeArray2;
 import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
 import org.apache.ctakes.typesystem.type.relation.RelationArgument;
 import org.apache.ctakes.typesystem.type.relation.TemporalTextRelation;
-import org.apache.ctakes.typesystem.type.syntax.WordToken;
 import org.apache.ctakes.typesystem.type.textsem.EventMention;
 import org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation;
 import org.apache.ctakes.typesystem.type.textsem.TimeMention;
@@ -61,35 +41,35 @@ import org.apache.uima.analysis_engine.A
 import org.apache.uima.cas.CAS;
 import org.apache.uima.cas.CASException;
 import org.apache.uima.collection.CollectionReader;
+import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
+import org.apache.uima.fit.descriptor.ConfigurationParameter;
+import org.apache.uima.fit.factory.AggregateBuilder;
+import org.apache.uima.fit.factory.AnalysisEngineFactory;
+import org.apache.uima.fit.pipeline.JCasIterator;
+import org.apache.uima.fit.pipeline.SimplePipeline;
+import org.apache.uima.fit.util.JCasUtil;
 import org.apache.uima.jcas.JCas;
 import org.apache.uima.jcas.tcas.Annotation;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.apache.uima.util.FileUtils;
+import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.ml.crfsuite.CrfSuiteStringOutcomeDataWriter;
 import org.cleartk.ml.jar.JarClassifierBuilder;
 import org.cleartk.ml.liblinear.LibLinearStringOutcomeDataWriter;
-import org.cleartk.ml.libsvm.LibSvmStringOutcomeDataWriter;
-//import org.cleartk.ml.libsvm.LIBSVMStringOutcomeDataWriter;
-//import org.cleartk.ml.tksvmlight.TKSVMlightStringOutcomeDataWriter;
 import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
-import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.util.ViewUriUtil;
-import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
-import org.apache.uima.fit.descriptor.ConfigurationParameter;
-import org.apache.uima.fit.factory.AggregateBuilder;
-import org.apache.uima.fit.factory.AnalysisEngineFactory;
-import org.apache.uima.fit.pipeline.JCasIterator;
-import org.apache.uima.fit.pipeline.SimplePipeline;
-import org.apache.uima.fit.util.JCasUtil;
 
-import com.google.common.base.Function;
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
-import com.lexicalscope.jewel.cli.CliFactory;
-import com.lexicalscope.jewel.cli.Option;
+import java.io.File;
+import java.net.URI;
+import java.util.*;
+
+//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
+//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
+//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
+//import org.cleartk.ml.libsvm.LIBSVMStringOutcomeDataWriter;
+//import org.cleartk.ml.tksvmlight.TKSVMlightStringOutcomeDataWriter;
 
 public class EvaluationOfEventEventHybridModelsRelations extends
 EvaluationOfTemporalRelations_ImplBase{
@@ -854,7 +834,13 @@ EvaluationOfTemporalRelations_ImplBase{
 	}
 
 
-	public static class AddTransitiveContainsRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
+   @PipeBitInfo(
+         name = "Transitive Contains Adder",
+         description = "Adds Contains temporal relations for annotations / relations in contain other relations.",
+         role = PipeBitInfo.Role.SPECIAL,
+         dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class AddTransitiveContainsRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
 		public void process(JCas jCas) throws AnalysisEngineProcessException {
@@ -919,7 +905,13 @@ EvaluationOfTemporalRelations_ImplBase{
 
 	}
 
-	public static class AddContain2Overlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
+   @PipeBitInfo(
+         name = "TLink Overlap Adder",
+         description = "Adds an Overlap temporal relation for each Contains temporal relation.",
+         role = PipeBitInfo.Role.SPECIAL,
+         dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class AddContain2Overlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
 		public void process(JCas jCas) throws AnalysisEngineProcessException {
@@ -945,7 +937,13 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
-	public static class AddFlippedOverlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
+   @PipeBitInfo(
+         name = "Reverse Overlap TLinker",
+         description = "Adds Overlap temporal relations with arguments flipped.",
+         role = PipeBitInfo.Role.SPECIAL,
+         dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class AddFlippedOverlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
 		public void process(JCas jCas) throws AnalysisEngineProcessException {
@@ -985,7 +983,13 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
-	public static class AddClosure extends JCasAnnotator_ImplBase {
+   @PipeBitInfo(
+         name = "TLink Closure Engine",
+         description = "Performs closure on Temporal Relations",
+         role = PipeBitInfo.Role.SPECIAL,
+         dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class AddClosure extends JCasAnnotator_ImplBase {
 
 		@Override
 		public void process(JCas jCas) throws AnalysisEngineProcessException {

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventThymeRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventThymeRelations.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventThymeRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventEventThymeRelations.java Mon Apr 10 20:56:02 2017
@@ -18,36 +18,16 @@
  */
 package org.apache.ctakes.temporal.eval;
 
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.PrintWriter;
-import java.net.URI;
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Deque;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.google.common.base.Function;
+import com.google.common.collect.*;
+import com.lexicalscope.jewel.cli.CliFactory;
+import com.lexicalscope.jewel.cli.Option;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
 import org.apache.ctakes.relationextractor.eval.RelationExtractorEvaluation.HashableArguments;
 import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
 import org.apache.ctakes.temporal.ae.TemporalRelationExtractorAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
-//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
 import org.apache.ctakes.temporal.ae.baselines.RecallBaselineEventTimeRelationAnnotator;
-import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.Overlap2Contains;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.ParameterSettings;
-import org.apache.ctakes.temporal.eval.EvaluationOfTemporalRelations_ImplBase.RemoveGoldAttributes;
-import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteAnaforaXML;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
 import org.apache.ctakes.temporal.utils.AnnotationIdCollection;
 import org.apache.ctakes.temporal.utils.TLinkTypeArray2;
 import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
@@ -62,34 +42,36 @@ import org.apache.uima.analysis_engine.A
 import org.apache.uima.cas.CAS;
 import org.apache.uima.cas.CASException;
 import org.apache.uima.collection.CollectionReader;
+import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
+import org.apache.uima.fit.descriptor.ConfigurationParameter;
+import org.apache.uima.fit.factory.AggregateBuilder;
+import org.apache.uima.fit.factory.AnalysisEngineFactory;
+import org.apache.uima.fit.pipeline.JCasIterator;
+import org.apache.uima.fit.pipeline.SimplePipeline;
+import org.apache.uima.fit.util.JCasUtil;
 import org.apache.uima.jcas.JCas;
 import org.apache.uima.jcas.tcas.Annotation;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.apache.uima.util.FileUtils;
+import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.ml.jar.JarClassifierBuilder;
 import org.cleartk.ml.liblinear.LibLinearStringOutcomeDataWriter;
-import org.cleartk.ml.libsvm.LibSvmStringOutcomeDataWriter;
-//import org.cleartk.ml.tksvmlight.TKSVMlightStringOutcomeDataWriter;
 import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
-import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.util.ViewUriUtil;
-import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
-import org.apache.uima.fit.descriptor.ConfigurationParameter;
-import org.apache.uima.fit.factory.AggregateBuilder;
-import org.apache.uima.fit.factory.AnalysisEngineFactory;
-import org.apache.uima.fit.factory.ConfigurationParameterFactory;
-import org.apache.uima.fit.pipeline.JCasIterator;
-import org.apache.uima.fit.pipeline.SimplePipeline;
-import org.apache.uima.fit.util.JCasUtil;
 
-import com.google.common.base.Function;
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
-import com.lexicalscope.jewel.cli.CliFactory;
-import com.lexicalscope.jewel.cli.Option;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.PrintWriter;
+import java.net.URI;
+import java.util.*;
+
+//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
+//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
+//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
+//import org.cleartk.ml.tksvmlight.TKSVMlightStringOutcomeDataWriter;
 
 public class EvaluationOfEventEventThymeRelations extends
 EvaluationOfTemporalRelations_ImplBase{
@@ -534,7 +516,13 @@ EvaluationOfTemporalRelations_ImplBase{
 		return stats;
 	}
 
-	public static class CountCloseRelation extends JCasAnnotator_ImplBase {
+   @PipeBitInfo(
+         name = "Closed TLink Counter",
+         description = "Counts the number of TLinks that have shares Events or Times in the Gold view.",
+         role = PipeBitInfo.Role.SPECIAL,
+         dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class CountCloseRelation extends JCasAnnotator_ImplBase {
 
 		private String systemViewName = CAS.NAME_DEFAULT_SOFA;
 
@@ -638,8 +626,15 @@ EvaluationOfTemporalRelations_ImplBase{
 		}   
 	}
 
-	public static class AddEEPotentialRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
-		public static final String PARAM_RELATION_VIEW = "RelationView";
+   @PipeBitInfo(
+         name = "Event-Event TLinker",
+         description = "Adds Event -to- Event temporal relations.",
+         role = PipeBitInfo.Role.ANNOTATOR,
+         dependencies = { PipeBitInfo.TypeProduct.EVENT },
+         products = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class AddEEPotentialRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
+      public static final String PARAM_RELATION_VIEW = "RelationView";
 		@ConfigurationParameter(name = PARAM_RELATION_VIEW,mandatory=false)
 		private String relationViewName = CAS.NAME_DEFAULT_SOFA;
 
@@ -893,7 +888,13 @@ EvaluationOfTemporalRelations_ImplBase{
 	}
 
 
-	public static class AddTransitiveContainsRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
+   @PipeBitInfo(
+         name = "Transitive Contains Adder",
+         description = "Adds Contains temporal relations for annotations / relations in contain other relations.",
+         role = PipeBitInfo.Role.SPECIAL,
+         dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class AddTransitiveContainsRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
 		public void process(JCas jCas) throws AnalysisEngineProcessException {
@@ -958,7 +959,13 @@ EvaluationOfTemporalRelations_ImplBase{
 
 	}
 
-	public static class AddContain2Overlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
+   @PipeBitInfo(
+         name = "TLink Overlap Adder",
+         description = "Adds an Overlap temporal relation for each Contains temporal relation.",
+         role = PipeBitInfo.Role.SPECIAL,
+         dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class AddContain2Overlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
 		public void process(JCas jCas) throws AnalysisEngineProcessException {
@@ -984,7 +991,13 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
-	public static class AddFlippedOverlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
+   @PipeBitInfo(
+         name = "Reverse Overlap TLinker",
+         description = "Adds Overlap temporal relations with arguments flipped.",
+         role = PipeBitInfo.Role.SPECIAL,
+         dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class AddFlippedOverlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
 		public void process(JCas jCas) throws AnalysisEngineProcessException {
@@ -1024,7 +1037,13 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
-	public static class AddClosure extends JCasAnnotator_ImplBase {
+   @PipeBitInfo(
+         name = "TLink Closure Engine",
+         description = "Performs closure on Temporal Relations",
+         role = PipeBitInfo.Role.SPECIAL,
+         dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class AddClosure extends JCasAnnotator_ImplBase {
 
 		@Override
 		public void process(JCas jCas) throws AnalysisEngineProcessException {

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventProperties.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventProperties.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventProperties.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventProperties.java Mon Apr 10 20:56:02 2017
@@ -18,21 +18,11 @@
  */
 package org.apache.ctakes.temporal.eval;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.FileHandler;
-import java.util.logging.Formatter;
-import java.util.logging.Level;
-import java.util.logging.LogRecord;
-import java.util.logging.Logger;
-
+import com.google.common.base.Function;
+import com.google.common.collect.Maps;
+import com.lexicalscope.jewel.cli.CliFactory;
+import com.lexicalscope.jewel.cli.Option;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
 import org.apache.ctakes.temporal.ae.ContextualModalityAnnotator;
 import org.apache.ctakes.temporal.ae.DocTimeRelAnnotator;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.ParameterSettings;
@@ -52,18 +42,20 @@ import org.apache.uima.fit.util.JCasUtil
 import org.apache.uima.jcas.JCas;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.apache.uima.util.FileUtils;
-//import org.cleartk.ml.liblinear.LibLinearStringOutcomeDataWriter;
 import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.ml.jar.JarClassifierBuilder;
 import org.cleartk.ml.liblinear.LibLinearStringOutcomeDataWriter;
 import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
-//import org.cleartk.ml.libsvm.LibSvmStringOutcomeDataWriter;
 import org.cleartk.util.ViewUriUtil;
 
-import com.google.common.base.Function;
-import com.google.common.collect.Maps;
-import com.lexicalscope.jewel.cli.CliFactory;
-import com.lexicalscope.jewel.cli.Option;
+import java.io.File;
+import java.io.IOException;
+import java.util.*;
+import java.util.logging.*;
+import java.util.logging.Formatter;
+
+//import org.cleartk.ml.liblinear.LibLinearStringOutcomeDataWriter;
+//import org.cleartk.ml.libsvm.LibSvmStringOutcomeDataWriter;
 
 public class EvaluationOfEventProperties extends
 Evaluation_ImplBase<Map<String, AnnotationStatistics<String>>> {
@@ -346,8 +338,13 @@ Evaluation_ImplBase<Map<String, Annotati
 		};
 	}
 
-	public static class ClearEventProperties extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
-		@Override
+   @PipeBitInfo(
+         name = "Event Property Clearer",
+         description = "Clears all event properties.",
+         role = PipeBitInfo.Role.SPECIAL
+   )
+   public static class ClearEventProperties extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
+      @Override
 		public void process(JCas jCas) throws AnalysisEngineProcessException {
 			for (EventProperties eventProperties : JCasUtil.select(jCas, EventProperties.class)) {
 				eventProperties.setAspect(null);

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventTimeDeepPheRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventTimeDeepPheRelations.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventTimeDeepPheRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventTimeDeepPheRelations.java Mon Apr 10 20:56:02 2017
@@ -18,42 +18,16 @@
  */
 package org.apache.ctakes.temporal.eval;
 
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.PrintWriter;
-import java.net.URI;
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Deque;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.google.common.base.Function;
+import com.google.common.collect.*;
+import com.lexicalscope.jewel.cli.CliFactory;
+import com.lexicalscope.jewel.cli.Option;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
 import org.apache.ctakes.relationextractor.eval.RelationExtractorEvaluation.HashableArguments;
-import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
 import org.apache.ctakes.temporal.ae.EventTimeSelfRelationAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
-//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
 import org.apache.ctakes.temporal.ae.baselines.RecallBaselineEventTimeRelationAnnotator;
-import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.AddClosure;
-import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.CountCloseRelation;
-import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.Overlap2Contains;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.ParameterSettings;
-import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.RemoveCrossSentenceRelations;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.RemoveEventEventRelations;
-import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.RemoveRelations;
-import org.apache.ctakes.temporal.eval.EvaluationOfTemporalRelations_ImplBase.RemoveGoldAttributes;
-import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.CopyFromGold;
-import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
 import org.apache.ctakes.temporal.utils.AnnotationIdCollection;
 import org.apache.ctakes.temporal.utils.TLinkTypeArray2;
 import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
@@ -68,34 +42,34 @@ import org.apache.uima.analysis_engine.A
 import org.apache.uima.cas.CAS;
 import org.apache.uima.cas.CASException;
 import org.apache.uima.collection.CollectionReader;
-import org.apache.uima.jcas.JCas;
-import org.apache.uima.jcas.tcas.Annotation;
-import org.apache.uima.resource.ResourceInitializationException;
-import org.apache.uima.util.FileUtils;
-import org.cleartk.ml.jar.JarClassifierBuilder;
-import org.cleartk.ml.liblinear.LibLinearStringOutcomeDataWriter;
-import org.cleartk.ml.libsvm.LibSvmStringOutcomeDataWriter;
-//import org.cleartk.ml.libsvm.LIBSVMStringOutcomeDataWriter;
-//import org.cleartk.ml.tksvmlight.TKSVMlightStringOutcomeDataWriter;
-import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
-import org.cleartk.eval.AnnotationStatistics;
-import org.cleartk.util.ViewUriUtil;
 import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
 import org.apache.uima.fit.descriptor.ConfigurationParameter;
 import org.apache.uima.fit.factory.AggregateBuilder;
 import org.apache.uima.fit.factory.AnalysisEngineFactory;
 import org.apache.uima.fit.pipeline.JCasIterator;
-import org.apache.uima.fit.pipeline.SimplePipeline;
 import org.apache.uima.fit.util.JCasUtil;
+import org.apache.uima.jcas.JCas;
+import org.apache.uima.jcas.tcas.Annotation;
+import org.apache.uima.resource.ResourceInitializationException;
+import org.apache.uima.util.FileUtils;
+import org.cleartk.eval.AnnotationStatistics;
+import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
+import org.cleartk.util.ViewUriUtil;
 
-import com.google.common.base.Function;
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
-import com.lexicalscope.jewel.cli.CliFactory;
-import com.lexicalscope.jewel.cli.Option;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.PrintWriter;
+import java.net.URI;
+import java.util.*;
+
+//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
+//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
+//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
+//import org.cleartk.ml.libsvm.LIBSVMStringOutcomeDataWriter;
+//import org.cleartk.ml.tksvmlight.TKSVMlightStringOutcomeDataWriter;
 
 public class EvaluationOfEventTimeDeepPheRelations extends
 EvaluationOfTemporalRelations_ImplBase{
@@ -421,7 +395,13 @@ EvaluationOfTemporalRelations_ImplBase{
 		outDrop.close();
 		return stats;
 	}
-	
+
+	@PipeBitInfo(
+			name = "Closed TLink Counter",
+			description = "Counts the number of TLinks that have shares Events or Times in the Gold view.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class CountCloseRelation extends JCasAnnotator_ImplBase {
 
 		private String systemViewName = CAS.NAME_DEFAULT_SOFA;
@@ -555,7 +535,14 @@ EvaluationOfTemporalRelations_ImplBase{
 			}
 		}   
 	}
-	
+
+	@PipeBitInfo(
+			name = "Event-Event TLinker",
+			description = "Adds Event -to- Event temporal relations.",
+			role = PipeBitInfo.Role.ANNOTATOR,
+			dependencies = { PipeBitInfo.TypeProduct.EVENT },
+			products = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddEEPotentialRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 		public static final String PARAM_RELATION_VIEW = "RelationView";
 		@ConfigurationParameter(name = PARAM_RELATION_VIEW,mandatory=false)
@@ -811,6 +798,12 @@ EvaluationOfTemporalRelations_ImplBase{
 	}
 
 
+	@PipeBitInfo(
+			name = "Transitive Contains Adder",
+			description = "Adds Contains temporal relations for annotations / relations in contain other relations.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddTransitiveContainsRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
@@ -876,6 +869,12 @@ EvaluationOfTemporalRelations_ImplBase{
 
 	}
 
+	@PipeBitInfo(
+			name = "TLink Overlap Adder",
+			description = "Adds an Overlap temporal relation for each Contains temporal relation.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddContain2Overlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
@@ -902,6 +901,12 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
+	@PipeBitInfo(
+			name = "Reverse Overlap TLinker",
+			description = "Adds Overlap temporal relations with arguments flipped.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddFlippedOverlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
@@ -942,6 +947,12 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
+	@PipeBitInfo(
+			name = "TLink Closure Engine",
+			description = "Performs closure on Temporal Relations",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddClosure extends JCasAnnotator_ImplBase {
 
 		@Override

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventTimeRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventTimeRelations.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventTimeRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfEventTimeRelations.java Mon Apr 10 20:56:02 2017
@@ -18,43 +18,21 @@
  */
 package org.apache.ctakes.temporal.eval;
 
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.PrintWriter;
-import java.net.URI;
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Deque;
-import java.util.HashMap;
-//import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.google.common.base.Function;
+import com.google.common.collect.*;
+import com.lexicalscope.jewel.cli.CliFactory;
+import com.lexicalscope.jewel.cli.Option;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
 import org.apache.ctakes.relationextractor.eval.RelationExtractorEvaluation.HashableArguments;
 import org.apache.ctakes.temporal.ae.EventTimeSelfRelationAnnotator;
 import org.apache.ctakes.temporal.ae.TemporalRelationExtractorAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
-//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
 import org.apache.ctakes.temporal.ae.baselines.RecallBaselineEventTimeRelationAnnotator;
-//import org.apache.ctakes.temporal.ae.feature.selection.ZscoreNormalizationExtractor; //for normalization
-import org.apache.ctakes.temporal.eval.EvaluationOfTemporalRelations_ImplBase.RemoveGoldAttributes;
-import org.apache.ctakes.temporal.eval.EvaluationOfTemporalRelations_ImplBase.RemoveNonContainsRelations;
-import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteAnaforaXML;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
 import org.apache.ctakes.temporal.utils.AnnotationIdCollection;
 import org.apache.ctakes.temporal.utils.TLinkTypeArray2;
 import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
 import org.apache.ctakes.typesystem.type.relation.RelationArgument;
 import org.apache.ctakes.typesystem.type.relation.TemporalTextRelation;
 import org.apache.ctakes.typesystem.type.syntax.WordToken;
-//import org.apache.ctakes.typesystem.type.relation.TemporalTextRelation;
 import org.apache.ctakes.typesystem.type.textsem.EventMention;
 import org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation;
 import org.apache.ctakes.typesystem.type.textsem.TimeMention;
@@ -75,25 +53,31 @@ import org.apache.uima.jcas.tcas.Annotat
 import org.apache.uima.resource.ResourceInitializationException;
 import org.apache.uima.util.FileUtils;
 import org.cleartk.eval.AnnotationStatistics;
-//import org.cleartk.ml.Instance; //for normalization
-//import org.cleartk.ml.feature.transform.InstanceDataWriter;//for normalization
-//import org.cleartk.ml.feature.transform.InstanceStream;//for normalization
 import org.cleartk.ml.jar.JarClassifierBuilder;
 import org.cleartk.ml.liblinear.LibLinearStringOutcomeDataWriter;
-import org.cleartk.ml.libsvm.LibSvmStringOutcomeDataWriter;
-//import org.cleartk.ml.tksvmlight.TkSvmLightStringOutcomeDataWriter;
 import org.cleartk.ml.tksvmlight.model.CompositeKernel;
 import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
 import org.cleartk.util.ViewUriUtil;
 
-import com.google.common.base.Function;
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
-import com.lexicalscope.jewel.cli.CliFactory;
-import com.lexicalscope.jewel.cli.Option;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.PrintWriter;
+import java.net.URI;
+import java.util.*;
+
+//import java.util.HashSet;
+//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
+//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
+//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
+//import org.apache.ctakes.temporal.ae.feature.selection.ZscoreNormalizationExtractor; //for normalization
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
+//import org.apache.ctakes.typesystem.type.relation.TemporalTextRelation;
+//import org.cleartk.ml.Instance; //for normalization
+//import org.cleartk.ml.feature.transform.InstanceDataWriter;//for normalization
+//import org.cleartk.ml.feature.transform.InstanceStream;//for normalization
+//import org.cleartk.ml.tksvmlight.TkSvmLightStringOutcomeDataWriter;
 
 public class EvaluationOfEventTimeRelations extends
 EvaluationOfTemporalRelations_ImplBase{
@@ -751,6 +735,13 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
+	@PipeBitInfo(
+			name = "E-T Relation Overlapper",
+			description = "Adds Event-Time temporal relations for annotations overlapping those already having relations.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.IDENTIFIED_ANNOTATION, PipeBitInfo.TypeProduct.TIMEX,
+								  PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddPotentialRelations extends JCasAnnotator_ImplBase {
 		public static final String PARAM_RELATION_VIEW = "RelationView";
 		@ConfigurationParameter(name = PARAM_RELATION_VIEW,mandatory=false)
@@ -912,6 +903,12 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}*/
 
+	@PipeBitInfo(
+			name = "Closed TLink Counter",
+			description = "Counts the number of TLinks that have shares Events or Times in the Gold view.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class CountCloseRelation extends JCasAnnotator_ImplBase {
 
 		private String systemViewName = CAS.NAME_DEFAULT_SOFA;
@@ -1069,6 +1066,12 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
+	@PipeBitInfo(
+			name = "Transitive Contains Adder",
+			description = "Adds Contains temporal relations for annotations / relations in contain other relations.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddTransitiveContainsRelations extends JCasAnnotator_ImplBase {
 
 		@Override
@@ -1134,6 +1137,12 @@ EvaluationOfTemporalRelations_ImplBase{
 
 	}
 
+	@PipeBitInfo(
+			name = "TLink Overlap Adder",
+			description = "Adds an Overlap temporal relation for each Contains temporal relation.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddContain2Overlap extends JCasAnnotator_ImplBase {
 
 		@Override
@@ -1160,6 +1169,12 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
+	@PipeBitInfo(
+			name = "Reverse Overlap TLinker",
+			description = "Adds Overlap temporal relations with arguments flipped.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddFlippedOverlap extends JCasAnnotator_ImplBase {
 
 		@Override
@@ -1270,6 +1285,12 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
+	@PipeBitInfo(
+			name = "TLink Closure Engine",
+			description = "Performs closure on Temporal Relations",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddClosure extends JCasAnnotator_ImplBase {
 
 		@Override

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfI2B2TemporalRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfI2B2TemporalRelations.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfI2B2TemporalRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfI2B2TemporalRelations.java Mon Apr 10 20:56:02 2017
@@ -18,35 +18,18 @@
  */
 package org.apache.ctakes.temporal.eval;
 
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.google.common.base.Function;
+import com.google.common.collect.*;
+import com.lexicalscope.jewel.cli.CliFactory;
+import com.lexicalscope.jewel.cli.Option;
 import org.apache.ctakes.core.ae.CDASegmentAnnotator;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
 import org.apache.ctakes.relationextractor.eval.RelationExtractorEvaluation.HashableArguments;
-import org.apache.ctakes.temporal.ae.ConsecutiveSentencesEventEventRelationAnnotator;
-import org.apache.ctakes.temporal.ae.ConsecutiveSentencesEventTimeRelationAnnotator;
-import org.apache.ctakes.temporal.ae.DocTimeRelAnnotator;
-import org.apache.ctakes.temporal.ae.EventAdmissionTimeAnnotator;
-import org.apache.ctakes.temporal.ae.EventDischargeTimeAnnotator;
-import org.apache.ctakes.temporal.ae.EventEventI2B2RelationAnnotator;
-import org.apache.ctakes.temporal.ae.EventTimeI2B2RelationAnnotator;
-import org.apache.ctakes.temporal.ae.TemporalRelationRuleAnnotator;
+import org.apache.ctakes.temporal.ae.*;
 import org.apache.ctakes.temporal.ae.baselines.RecallBaselineEventTimeRelationAnnotator;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventEventThymeRelations.AddEEPotentialRelations;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.AddPotentialRelations;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.ParameterSettings;
-import org.apache.ctakes.temporal.eval.EvaluationOfTemporalRelations_ImplBase.RemoveGoldAttributes;
 import org.apache.ctakes.temporal.utils.AnnotationIdCollection;
 import org.apache.ctakes.temporal.utils.TLinkTypeArray2;
 import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
@@ -72,18 +55,14 @@ import org.apache.uima.util.FileUtils;
 import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.ml.jar.JarClassifierBuilder;
 import org.cleartk.ml.libsvm.LibSvmStringOutcomeDataWriter;
-//import org.cleartk.classifier.tksvmlight.TKSVMlightStringOutcomeDataWriter;
 import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
 import org.cleartk.util.ViewUriUtil;
 
-import com.google.common.base.Function;
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
-import com.lexicalscope.jewel.cli.CliFactory;
-import com.lexicalscope.jewel.cli.Option;
+import java.io.*;
+import java.net.URI;
+import java.util.*;
+
+//import org.cleartk.classifier.tksvmlight.TKSVMlightStringOutcomeDataWriter;
 
 public class EvaluationOfI2B2TemporalRelations extends
 EvaluationOfTemporalRelations_ImplBase{
@@ -834,8 +813,13 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
-	
 
+	@PipeBitInfo(
+			name = "Reverse Overlap TLinker",
+			description = "Adds Overlap temporal relations with arguments flipped.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddFlippedOverlap extends JCasAnnotator_ImplBase {
 
 		@Override
@@ -964,6 +948,12 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
+	@PipeBitInfo(
+			name = "TLink Closure Engine",
+			description = "Performs closure on Temporal Relations",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddClosure extends JCasAnnotator_ImplBase {
 
 		@Override

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfSelfEventTimeRelations.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfSelfEventTimeRelations.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfSelfEventTimeRelations.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/EvaluationOfSelfEventTimeRelations.java Mon Apr 10 20:56:02 2017
@@ -18,40 +18,20 @@
  */
 package org.apache.ctakes.temporal.eval;
 
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.PrintWriter;
-import java.net.URI;
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Deque;
-import java.util.HashMap;
-//import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.google.common.base.Function;
+import com.google.common.collect.*;
+import com.lexicalscope.jewel.cli.CliFactory;
+import com.lexicalscope.jewel.cli.Option;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
 import org.apache.ctakes.relationextractor.eval.RelationExtractorEvaluation.HashableArguments;
 import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
 import org.apache.ctakes.temporal.ae.EventTimeSelfRelationAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
-//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
-import org.apache.ctakes.temporal.ae.baselines.RecallBaselineEventTimeRelationAnnotator;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.ParameterSettings;
-import org.apache.ctakes.temporal.eval.EvaluationOfTemporalRelations_ImplBase.RemoveGoldAttributes;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
 import org.apache.ctakes.temporal.utils.AnnotationIdCollection;
 import org.apache.ctakes.temporal.utils.TLinkTypeArray2;
 import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
 import org.apache.ctakes.typesystem.type.relation.RelationArgument;
 import org.apache.ctakes.typesystem.type.relation.TemporalTextRelation;
-//import org.apache.ctakes.typesystem.type.relation.TemporalTextRelation;
 import org.apache.ctakes.typesystem.type.textsem.EventMention;
 import org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation;
 import org.apache.ctakes.typesystem.type.textsem.TimeMention;
@@ -60,34 +40,38 @@ import org.apache.uima.analysis_engine.A
 import org.apache.uima.cas.CAS;
 import org.apache.uima.cas.CASException;
 import org.apache.uima.collection.CollectionReader;
+import org.apache.uima.fit.descriptor.ConfigurationParameter;
+import org.apache.uima.fit.factory.AggregateBuilder;
+import org.apache.uima.fit.factory.AnalysisEngineFactory;
+import org.apache.uima.fit.pipeline.JCasIterator;
+import org.apache.uima.fit.pipeline.SimplePipeline;
+import org.apache.uima.fit.util.JCasUtil;
 import org.apache.uima.jcas.JCas;
 import org.apache.uima.jcas.tcas.Annotation;
 import org.apache.uima.resource.ResourceInitializationException;
 import org.apache.uima.util.FileUtils;
+import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.ml.jar.JarClassifierBuilder;
 import org.cleartk.ml.liblinear.LibLinearStringOutcomeDataWriter;
-//import org.cleartk.ml.libsvm.LibSvmStringOutcomeDataWriter;
-//import org.cleartk.ml.tksvmlight.TkSvmLightStringOutcomeDataWriter;
-import org.cleartk.ml.tksvmlight.model.CompositeKernel;
 import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
-import org.cleartk.eval.AnnotationStatistics;
 import org.cleartk.util.ViewUriUtil;
-import org.apache.uima.fit.component.JCasAnnotator_ImplBase;
-import org.apache.uima.fit.descriptor.ConfigurationParameter;
-import org.apache.uima.fit.factory.AggregateBuilder;
-import org.apache.uima.fit.factory.AnalysisEngineFactory;
-import org.apache.uima.fit.pipeline.JCasIterator;
-import org.apache.uima.fit.pipeline.SimplePipeline;
-import org.apache.uima.fit.util.JCasUtil;
 
-import com.google.common.base.Function;
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
-import com.lexicalscope.jewel.cli.CliFactory;
-import com.lexicalscope.jewel.cli.Option;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.PrintWriter;
+import java.net.URI;
+import java.util.*;
+
+//import java.util.HashSet;
+//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
+//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
+//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
+//import org.apache.ctakes.typesystem.type.relation.TemporalTextRelation;
+//import org.cleartk.ml.libsvm.LibSvmStringOutcomeDataWriter;
+//import org.cleartk.ml.tksvmlight.TkSvmLightStringOutcomeDataWriter;
 
 public class EvaluationOfSelfEventTimeRelations extends
 EvaluationOfTemporalRelations_ImplBase{
@@ -715,7 +699,12 @@ EvaluationOfTemporalRelations_ImplBase{
 	}
 
 
-
+	@PipeBitInfo(
+			name = "TLink Overlap Adder",
+			description = "Adds an Overlap temporal relation for each Contains temporal relation.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddContain2Overlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
@@ -742,6 +731,12 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
+	@PipeBitInfo(
+			name = "Reverse Overlap TLinker",
+			description = "Adds Overlap temporal relations with arguments flipped.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddFlippedOverlap extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override
@@ -782,6 +777,12 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
+	@PipeBitInfo(
+			name = "TLink Closure Engine",
+			description = "Performs closure on Temporal Relations",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+	)
 	public static class AddClosure extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
 
 		@Override

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/Evaluation_ImplBase.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/Evaluation_ImplBase.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/Evaluation_ImplBase.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/Evaluation_ImplBase.java Mon Apr 10 20:56:02 2017
@@ -21,7 +21,6 @@ package org.apache.ctakes.temporal.eval;
 import com.google.common.collect.Lists;
 import com.google.common.io.CharStreams;
 import com.lexicalscope.jewel.cli.Option;
-
 import org.apache.ctakes.chunker.ae.Chunker;
 import org.apache.ctakes.chunker.ae.DefaultChunkCreator;
 import org.apache.ctakes.chunker.ae.adjuster.ChunkAdjuster;
@@ -30,7 +29,7 @@ import org.apache.ctakes.contexttokenize
 import org.apache.ctakes.core.ae.OverlapAnnotator;
 import org.apache.ctakes.core.ae.SentenceDetector;
 import org.apache.ctakes.core.ae.TokenizerAnnotatorPTB;
-//import org.apache.ctakes.core.cleartk.ae.SentenceDetectorAnnotator;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
 import org.apache.ctakes.core.resource.FileLocator;
 import org.apache.ctakes.dependency.parser.ae.ClearNLPDependencyParserAE;
 import org.apache.ctakes.dependency.parser.ae.ClearNLPSemanticRoleLabelerAE;
@@ -87,7 +86,6 @@ import org.cleartk.timeml.util.TimeWords
 import org.cleartk.util.ViewUriUtil;
 import org.cleartk.util.ae.UriToDocumentTextAnnotator;
 import org.cleartk.util.cr.UriCollectionReader;
-//import org.threeten.bp.temporal.TemporalUnit;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.xml.sax.ContentHandler;
@@ -103,11 +101,13 @@ import java.io.*;
 import java.net.MalformedURLException;
 import java.net.URI;
 import java.net.URL;
-import java.time.temporal.TemporalUnit;
 import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+//import org.apache.ctakes.core.cleartk.ae.SentenceDetectorAnnotator;
+//import org.threeten.bp.temporal.TemporalUnit;
+
 public abstract class Evaluation_ImplBase<STATISTICS_TYPE> extends
 org.cleartk.eval.Evaluation_ImplBase<Integer, STATISTICS_TYPE> {
 
@@ -587,6 +587,12 @@ org.cleartk.eval.Evaluation_ImplBase<Int
 		return annotations;
 	}
 
+	@PipeBitInfo(
+			name = "NP Lookup Window Creator",
+			description = "Creates a Lookup Window from Noun Phrase Chunks.",
+			role = PipeBitInfo.Role.SPECIAL,
+			dependencies = { PipeBitInfo.TypeProduct.CHUNK }
+	)
 	public static class CopyNPChunksToLookupWindowAnnotations extends JCasAnnotator_ImplBase {
 
 		@Override
@@ -599,6 +605,11 @@ org.cleartk.eval.Evaluation_ImplBase<Int
 		}
 	}
 
+	@PipeBitInfo(
+			name = "Overlap Lookup Window Remover",
+			description = "Removes Lookup Windows that are within larger Lookup Windows.",
+			role = PipeBitInfo.Role.SPECIAL
+	)
 	public static class RemoveEnclosedLookupWindows extends JCasAnnotator_ImplBase {
 
 		@Override
@@ -823,6 +834,11 @@ org.cleartk.eval.Evaluation_ImplBase<Int
 	}
 
 
+	@PipeBitInfo(
+			name = "Gold Annotation Copier",
+			description = "Copies an annotation type from the Gold view to the System view.",
+			role = PipeBitInfo.Role.SPECIAL
+	)
 	public static class CopyFromGold extends JCasAnnotator_ImplBase {
 
 		public static AnalysisEngineDescription getDescription( Class<?>... classes )
@@ -868,6 +884,11 @@ org.cleartk.eval.Evaluation_ImplBase<Int
 		}
 	}
 
+	@PipeBitInfo(
+			name = "System Annotation Copier",
+			description = "Copies an annotation type from the System view to a Gold view.",
+			role = PipeBitInfo.Role.SPECIAL
+	)
 	public static class CopyFromSystem extends JCasAnnotator_ImplBase {
 
 		public static AnalysisEngineDescription getDescription( Class<?>... classes )

Modified: ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/NeuralEventEventRelationsCNNEvaluation.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/NeuralEventEventRelationsCNNEvaluation.java?rev=1790896&r1=1790895&r2=1790896&view=diff
==============================================================================
--- ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/NeuralEventEventRelationsCNNEvaluation.java (original)
+++ ctakes/trunk/ctakes-temporal/src/main/java/org/apache/ctakes/temporal/eval/NeuralEventEventRelationsCNNEvaluation.java Mon Apr 10 20:56:02 2017
@@ -18,49 +18,26 @@
  */
 package org.apache.ctakes.temporal.eval;
 
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.PrintWriter;
-import java.net.URI;
-import java.util.ArrayDeque;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Deque;
-import java.util.HashMap;
-import java.util.HashSet;
-//import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
+import com.google.common.base.Function;
+import com.google.common.collect.*;
+import com.lexicalscope.jewel.cli.CliFactory;
+import com.lexicalscope.jewel.cli.Option;
+import org.apache.ctakes.core.pipeline.PipeBitInfo;
 import org.apache.ctakes.relationextractor.eval.RelationExtractorEvaluation.HashableArguments;
 import org.apache.ctakes.temporal.ae.EventEventCNNAnnotator;
-import org.apache.ctakes.temporal.ae.TemporalRelationExtractorAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
-//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
-//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
 import org.apache.ctakes.temporal.ae.baselines.RecallBaselineEventTimeRelationAnnotator;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventEventThymeRelations.RemoveCrossSentenceRelations;
 import org.apache.ctakes.temporal.eval.EvaluationOfEventTimeRelations.ParameterSettings;
 import org.apache.ctakes.temporal.keras.KerasStringOutcomeDataWriter;
 import org.apache.ctakes.temporal.keras.ScriptStringFeatureDataWriter;
-//import org.apache.ctakes.temporal.ae.feature.selection.ZscoreNormalizationExtractor; //for normalization
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
-//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
 import org.apache.ctakes.temporal.utils.AnnotationIdCollection;
 import org.apache.ctakes.temporal.utils.TLinkTypeArray2;
 import org.apache.ctakes.typesystem.type.relation.BinaryTextRelation;
 import org.apache.ctakes.typesystem.type.relation.RelationArgument;
 import org.apache.ctakes.typesystem.type.relation.TemporalTextRelation;
 import org.apache.ctakes.typesystem.type.syntax.WordToken;
-//import org.apache.ctakes.typesystem.type.relation.TemporalTextRelation;
 import org.apache.ctakes.typesystem.type.textsem.EventMention;
-import org.apache.ctakes.typesystem.type.textsem.IdentifiedAnnotation;
 import org.apache.ctakes.typesystem.type.textsem.TimeMention;
-import org.apache.ctakes.typesystem.type.textspan.Sentence;
 import org.apache.uima.analysis_engine.AnalysisEngineProcessException;
 import org.apache.uima.cas.CAS;
 import org.apache.uima.cas.CASException;
@@ -81,22 +58,29 @@ import org.cleartk.ml.CleartkAnnotator;
 import org.cleartk.ml.jar.DefaultDataWriterFactory;
 import org.cleartk.ml.jar.DirectoryDataWriterFactory;
 import org.cleartk.ml.jar.GenericJarClassifierFactory;
-//import org.cleartk.ml.Instance; //for normalization
-//import org.cleartk.ml.feature.transform.InstanceDataWriter;//for normalization
-//import org.cleartk.ml.feature.transform.InstanceStream;//for normalization
 import org.cleartk.ml.jar.JarClassifierBuilder;
-//import org.cleartk.ml.tksvmlight.TkSvmLightStringOutcomeDataWriter;
 import org.cleartk.ml.tksvmlight.model.CompositeKernel.ComboOperator;
 import org.cleartk.util.ViewUriUtil;
 
-import com.google.common.base.Function;
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.Sets;
-import com.lexicalscope.jewel.cli.CliFactory;
-import com.lexicalscope.jewel.cli.Option;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.PrintWriter;
+import java.net.URI;
+import java.util.*;
+
+//import java.util.HashSet;
+//import org.apache.ctakes.temporal.ae.EventTimeSyntacticAnnotator;
+//import org.apache.ctakes.temporal.ae.EventTimeRelationAnnotator;
+//import org.apache.ctakes.temporal.ae.EventEventRelationAnnotator;
+//import org.apache.ctakes.temporal.ae.feature.selection.ZscoreNormalizationExtractor; //for normalization
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.WriteI2B2XML;
+//import org.apache.ctakes.temporal.eval.Evaluation_ImplBase.XMLFormat;
+//import org.apache.ctakes.typesystem.type.relation.TemporalTextRelation;
+//import org.cleartk.ml.Instance; //for normalization
+//import org.cleartk.ml.feature.transform.InstanceDataWriter;//for normalization
+//import org.cleartk.ml.feature.transform.InstanceStream;//for normalization
+//import org.cleartk.ml.tksvmlight.TkSvmLightStringOutcomeDataWriter;
 
 public class NeuralEventEventRelationsCNNEvaluation extends
 EvaluationOfTemporalRelations_ImplBase{
@@ -477,8 +461,15 @@ EvaluationOfTemporalRelations_ImplBase{
 		return stats;
 	}
 
-	public static class AddEEPotentialRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
-		public static final String PARAM_RELATION_VIEW = "RelationView";
+   @PipeBitInfo(
+         name = "Event-Event TLinker",
+         description = "Adds Event -to- Event temporal relations.",
+         role = PipeBitInfo.Role.ANNOTATOR,
+         dependencies = { PipeBitInfo.TypeProduct.EVENT },
+         products = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class AddEEPotentialRelations extends org.apache.uima.fit.component.JCasAnnotator_ImplBase {
+      public static final String PARAM_RELATION_VIEW = "RelationView";
 		@ConfigurationParameter(name = PARAM_RELATION_VIEW,mandatory=false)
 		private String relationViewName = CAS.NAME_DEFAULT_SOFA;
 
@@ -557,7 +548,13 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
-	public static class CountCloseRelation extends JCasAnnotator_ImplBase {
+   @PipeBitInfo(
+         name = "Closed TLink Counter",
+         description = "Counts the number of TLinks that have shares Events or Times in the Gold view.",
+         role = PipeBitInfo.Role.SPECIAL,
+         dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class CountCloseRelation extends JCasAnnotator_ImplBase {
 
 		private String systemViewName = CAS.NAME_DEFAULT_SOFA;
 
@@ -701,7 +698,13 @@ EvaluationOfTemporalRelations_ImplBase{
 		}
 	}
 
-	public static class AddClosure extends JCasAnnotator_ImplBase {
+   @PipeBitInfo(
+         name = "TLink Closure Engine",
+         description = "Performs closure on Temporal Relations",
+         role = PipeBitInfo.Role.SPECIAL,
+         dependencies = { PipeBitInfo.TypeProduct.TEMPORAL_RELATION }
+   )
+   public static class AddClosure extends JCasAnnotator_ImplBase {
 
 		@Override
 		public void process(JCas jCas) throws AnalysisEngineProcessException {