ij.plugin.filter
Class Projector

java.lang.Object
  extended by ij.plugin.filter.Projector
All Implemented Interfaces:
PlugInFilter

public class Projector
extends java.lang.Object
implements PlugInFilter

This plugin creates a sequence of projections of a rotating volume (stack of slices) onto a plane using nearest-point (surface), brightest-point, or mean-value projection or a weighted combination of nearest- point projection with either of the other two methods (partial opacity). The user may choose to rotate the volume about any of the three orthogonal axes (x, y, or z), make portions of the volume transparent (using thresholding), or add a greater degree of visual realism by employing depth cues. Based on Pascal code contributed by Michael Castle of the University of Michigan Mental Health Research Institute.


Field Summary
 
Fields inherited from interface ij.plugin.filter.PlugInFilter
CONVERT_TO_FLOAT, DOES_16, DOES_32, DOES_8C, DOES_8G, DOES_ALL, DOES_RGB, DOES_STACKS, DONE, FINAL_PROCESSING, KEEP_THRESHOLD, NO_CHANGES, NO_IMAGE_REQUIRED, NO_UNDO, PARALLELIZE_STACKS, ROI_REQUIRED, SNAPSHOT, STACK_REQUIRED, SUPPORTS_MASKING
 
Constructor Summary
Projector()
           
 
Method Summary
 ImagePlus doProjections(ImagePlus imp)
           
 void doRGBProjections(ImagePlus imp)
           
 void getByteRow(ImageStack stack, int x, int y, int z, int width1, int width2, int[] line)
           
 void getRGBRow(ImageStack stack, int x, int y, int z, int width1, int width2, int[] line)
           
 void putByteRow(ImageStack stack, int y, int z, int width, int[] line)
           
 void putRGBRow(ImageStack stack, int y, int z, int width, int[] line)
           
 void run(ImageProcessor ip)
          Filters use this method to process the image.
 int setup(java.lang.String arg, ImagePlus imp)
          This method is called once when the filter is loaded.
 boolean showDialog()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Projector

public Projector()
Method Detail

setup

public int setup(java.lang.String arg,
                 ImagePlus imp)
Description copied from interface: PlugInFilter
This method is called once when the filter is loaded. 'arg', which may be blank, is the argument specified for this plugin in IJ_Props.txt or in the plugins.config file of a jar archive containing the plugin. 'imp' is the currently active image. This method should return a flag word that specifies the filters capabilities.

For Plugin-filters specifying the FINAL_PROCESSING flag, the setup method will be called again, this time with arg = "final" after all other processing is done.

Specified by:
setup in interface PlugInFilter

run

public void run(ImageProcessor ip)
Description copied from interface: PlugInFilter
Filters use this method to process the image. If the SUPPORTS_STACKS flag was set, it is called for each slice in a stack. With CONVERT_TO_FLOAT, the filter is called with the image data converted to a FloatProcessor (3 times per image for RGB images). ImageJ will lock the image before calling this method and unlock it when the filter is finished. For PlugInFilters specifying the NO_IMAGE_REQUIRED flag and not the DONE flag, run(ip) is called once with the argument null.

Specified by:
run in interface PlugInFilter

showDialog

public boolean showDialog()

doRGBProjections

public void doRGBProjections(ImagePlus imp)

doProjections

public ImagePlus doProjections(ImagePlus imp)

getByteRow

public void getByteRow(ImageStack stack,
                       int x,
                       int y,
                       int z,
                       int width1,
                       int width2,
                       int[] line)

putByteRow

public void putByteRow(ImageStack stack,
                       int y,
                       int z,
                       int width,
                       int[] line)

getRGBRow

public void getRGBRow(ImageStack stack,
                      int x,
                      int y,
                      int z,
                      int width1,
                      int width2,
                      int[] line)

putRGBRow

public void putRGBRow(ImageStack stack,
                      int y,
                      int z,
                      int width,
                      int[] line)