Custom Algorithm Pipelines in CyteSeer
CyteSeer has a very powerful custom algorithm pipeline development capability. It is a strongly typed environment that doesn't require the user to have sophisticated programming skills. It's also built to take maximum advantage of CyteSeer infrastructure and analysis tools. The main goal is to enable our users to focus on a given segmentation problem. Once a pipeline is built, it is immediately available for use with the image viewer, data viewer, gating tool, cell gallery tool etc. The algorithm pipelines are easily shared via a small XML file, run on arbitrarily large sets of images and take advantage of CyteSeer's optimized plugin and multithreaded subsystems.
This example is available via the downloads page at valasciences.com.
Create a New Algorithm From CyteSeer's Main Window

Input Tab
For the Input tab
- Name your pipeline
- Decide how many channels you'd like to analyze
- It is generally a good idea to name the "Size Parameter" and give it a default size in pixels
These are the inputs into your algorithm and will match what is seen on the Main Window.

Sampling of Available Image Processing Plugins

Pipeline Tab
This is where the work gets done. It will take a minute to go through this layout but is the most important page to understand for custom development.
1) The center Pipeline Plugins panel holds the actual steps of the pipeline
2) The left Available Plugins panel hold the list of plugins available for use in a pipeline. Double click add a plugin to your pipeline.
3) The upper left drop down menus help sort the Available Plugins list. e.g. I only want to see plugins that take a gray image as input and labeled mask as output.
4) The upper center Pipeline Inputs panel shows what is available as input to pipeline. If we had chosen 4 channels as input, we would see this list grow accordingly.
5) The right panel is context sensitive to the selected plugin within your pipeline. The plugin will be red until all the connections to the Pipeline Inputs are made. Use the drop lists to match up which input should go where. In this case, InputImage(GrayImage) is matched with "Channel 0 Image".
6) The lower left Pipeline Outputs panel connects the pipeline to the rest of the program. If these aren't connected, the pipeline will run but none of the results will be saved or used anywhere. In this example, we renamed the specific plugin output with the Details button.

Details Button
The Details button is context sensitive for the highlighted plugin. The Long Description and Output Types are used most often. It's often useful to rename the Output Type. Note that the output type will correlate with the Connect Outputs panel of the Pipeline Tab. In this example, SegmentPrimaryWatershed has an output type of LabeledMask that I've renamed Nuclear Mask. Verify connections whenever names are changed.
This connection writes the masks to disk such that CyteSeer can display the masks in the Image Viewer.

Run It Anywhere
That is all we need. Save it and it will be available as an algorithm on the main CyteSeer window.

Pipeline Output Labeled Masks in the Image Viewer
The LabeledMask output type renamed Nuclear Mask works! You can see the masks and cell ID's in the Image Viewer just like any of the other algorithms in CyteSeer.
The good news is that this is a working pipeline. We need to go through a few more steps to add measurements for every cell.

Measure the Cell Masks
The most common workflow when making pipelines is to string together a series of operations that ultimately generates a labeled mask first. The next step is to make measurements on those labeled masks and use Connect Outputs to get the data in the rest of CyteSeer.
The current set of measurements is fairly generalizable for tasks. The current list includes:
Area, Radius, Perimeter, Roundness, Average Pixel Intensity, Median Pixel Intensity, Total Pixel Intensity, Standard Deviation of Pixel Intensity, Skewness of Pixel Intensity, Bounding Box, Centroids, Manders and Pearsons Colocalizations, Droplets, Elongation, Ellipse Axes, Fluorescence Localized in Nucleus (FLIN), Kurtosis of Pixel Intensity, Wiggle (perimeter/area), Normalized Wiggle (perimeter/square root of area) and Order Statistics.
We add new measurements routinely, so please do contact us with requests. It's also possible to extend the architecture with your own jar file.

Connect the Measurements
Here, we've added Measure Area on a LabeledMask to the Pipeline and connected the InputLabeledMask to the Nuclear Mask we created earlier. We also connected the imageMeasurementList to the default "Measurements" input and to an Output Type of ImageDoubleMeasurement.

Measurements Available Everywhere
Save and rerun the analysis. We have numeric data wherever we would expect to see it with any other algorithm.

Add a Second Color
Pipelines can address an arbitrary number of colors in an image. This addresses anything from single marker biology to hyper-spectral image analysis.
In this example we've increased the Number of Channels to 2 and added a Size Parameter, Size, default of 25.

Segment a Generic Cell
We can build on the nuclear segmentation we've created the the SegmentSecondaryGenericCell plugin. Note that I've connected it – via the primary mask – to the output of SegmentPrimaryWatershed. All of the other input connections are to channel 1 now. I renamed the Output Type, added another LabeledMask to the Connect Outputs list and connected it to the Cell Mask. You can now save and rerun this on two color data!

What's Next
You can build much more complex algorithm pipelines in CyteSeer. Our basic segmentation plugins are a powerful place to start but many sophisticated users may want to build their own algorithms from the ground up. There are more example pipelines on the download page of the web. It's worth taking a look.

Vala Sciences Contact Information
Vala Sciences is a cell biology company offering software, kits, services and custom development for analyzing a wide variety of cell types and conditions from adipocytes & stem cells to primary & well established cell lines.
Vala Sciences Inc. | Sales and technical information:
858.461.6861 | support@valasciences.com | http://valasciences.com
Links: | CyteSeer free download and trial | Kit ordering Information | Forum | Tutorials | Application Notes
Services: HCS Screening Services, IC 100 Warranty Service and Hardware Upgrades
CyteSeer is a registered trademark of Vala Sciences Inc. All rights reserved 2005-2009.

