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/01/17 14:28:27 UTC
svn commit: r1779198 -
/ctakes/trunk/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/ProcessLinesClinicalRunner.java
Author: seanfinan
Date: Tue Jan 17 14:28:27 2017
New Revision: 1779198
URL: http://svn.apache.org/viewvc?rev=1779198&view=rev
Log:
Example of creating and using the LinesFromFileCollectionReader
Added:
ctakes/trunk/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/ProcessLinesClinicalRunner.java
Added: ctakes/trunk/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/ProcessLinesClinicalRunner.java
URL: http://svn.apache.org/viewvc/ctakes/trunk/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/ProcessLinesClinicalRunner.java?rev=1779198&view=auto
==============================================================================
--- ctakes/trunk/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/ProcessLinesClinicalRunner.java (added)
+++ ctakes/trunk/ctakes-examples/src/main/java/org/apache/ctakes/examples/pipeline/ProcessLinesClinicalRunner.java Tue Jan 17 14:28:27 2017
@@ -0,0 +1,67 @@
+package org.apache.ctakes.examples.pipeline;
+
+
+import org.apache.ctakes.core.cr.LinesFromFileCollectionReader;
+import org.apache.ctakes.core.pipeline.EntityCollector;
+import org.apache.ctakes.core.pipeline.PipelineBuilder;
+import org.apache.ctakes.core.pipeline.PiperFileReader;
+import org.apache.ctakes.core.resource.FileLocator;
+import org.apache.log4j.Logger;
+import org.apache.uima.UIMAException;
+import org.apache.uima.collection.CollectionReader;
+import org.apache.uima.fit.factory.CollectionReaderFactory;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * Build and run a pipeline using a {@link PiperFileReader} and a {@link PipelineBuilder}.
+ * <p>
+ * Example of a running a pipeline programmatically w/o uima xml descriptor xml files
+ * Adds the default Clinical pipeline and reading from lines in a file
+ *
+ * @author SPF , chip-nlp
+ * @version %I%
+ * @since 10/10/2016
+ */
+final public class ProcessLinesClinicalRunner {
+
+ static private final Logger LOGGER = Logger.getLogger( "ProcessLinesClinicalRunner" );
+
+ static private final String PIPER_FILE_PATH = "org/apache/ctakes/clinical/pipeline/DefaultFastPipeline.piper";
+
+ static private final String INPUT_FILE_PATH = "org/apache/ctakes/examples/notes/right_knee_arthroscopy";
+
+ private ProcessLinesClinicalRunner() {
+ }
+
+
+ /**
+ * @param args none
+ */
+ public static void main( final String... args ) {
+ try {
+ // Create a piper file reader, but don't load the piper yet - we want to create a reader with parameters
+ final PiperFileReader reader = new PiperFileReader();
+ final PipelineBuilder builder = reader.getBuilder();
+ // Add the Lines from File reader
+ final File inputFile = FileLocator.locateFile( INPUT_FILE_PATH );
+ final CollectionReader linesFromFileReader
+ = CollectionReaderFactory.createReader( LinesFromFileCollectionReader.class,
+ LinesFromFileCollectionReader.PARAM_INPUT_FILE_NAME, inputFile.getAbsolutePath() );
+ builder.reader( linesFromFileReader );
+ // Add the lines from the piper file
+ reader.loadPipelineFile( PIPER_FILE_PATH );
+ // Collect IdentifiedAnnotation object information for output - simple for examples
+ builder.collectEntities();
+ // Run the pipeline with specified text
+ builder.run();
+ // Log the IdentifiedAnnotation object information
+ LOGGER.info( "\n" + EntityCollector.getInstance().toString() );
+ } catch ( IOException | UIMAException multE ) {
+ LOGGER.error( multE.getMessage() );
+ }
+ }
+
+
+}