content: package edu.stanford.rsl.conrad.pipeline;
  
  
  import org.junit.Test;
  
  import edu.stanford.rsl.conrad.data.numeric.Grid2D;
  import edu.stanford.rsl.conrad.filtering.HorizontalFlippingTool;
  import edu.stanford.rsl.conrad.filtering.ImageFilteringTool;
  import edu.stanford.rsl.conrad.io.FileProjectionSource;
  import edu.stanford.rsl.conrad.utils.FileUtil;
  
  public class PipelineTests {
  
  	@Test
  	public void testSink(){
  		// This reads all data from the source and discards the projection in the sink.
  		// This should work without memory leakage.
  		// akmaier
  		String filename;
  		try {
  			filename = FileUtil.myFileChoose(".IMA", false);
  			BufferedProjectionSink sink = new DevNullSink();
  			ProjectionSource source = FileProjectionSource.openProjectionStream(filename);
  			Grid2D image = source.getNextProjection();
  			while (image != null){
  				System.out.println("Running projection: " + source.getCurrentProjectionNumber());
  				sink.process(image, source.getCurrentProjectionNumber());
  				image = source.getNextProjection();
  			}
  		} catch (Exception e) {
  			// TODO Auto-generated catch block
  			e.printStackTrace();
  		}
  
  	}
  	
  	@Test
  	public void testPipeline(){
  		String filename;
  		try {
  			filename = FileUtil.myFileChoose(".IMA", false);
  			BufferedProjectionSink sink = new DevNullSink();
  			ImageFilteringTool[] tools = {new HorizontalFlippingTool()};
  			ProjectionSource source = FileProjectionSource.openProjectionStream(filename);
  			ParallelImageFilterPipeliner pipeliner = new ParallelImageFilterPipeliner(source, tools, sink);
  			pipeliner.project();
  		} catch (Exception e) {
  			// TODO Auto-generated catch block
  			e.printStackTrace();
  		}
  
  	}
  }
  /*
   * Copyright (C) 2010-2014 Andreas Maier
   * CONRAD is developed as an Open Source project under the GNU General Public License (GPL).
  */