Module ij
Package ij.plugin.filter

# Class Rotator

java.lang.Object
ij.plugin.filter.Rotator

All Implemented Interfaces:
  `DialogListener`, `ExtendedPlugInFilter`, `PlugInFilter`

public class Rotator extends Object implements ExtendedPlugInFilter, DialogListener
This plugin implements the Image/Rotate/Arbitrarily command.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`GRID`

### Fields inherited from interface ij.plugin.filter.ExtendedPlugInFilter

`KEEP_PREVIEW`

### 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, NO_UNDO_RESET, PARALLELIZE_IMAGES, PARALLELIZE_STACKS, ROI_REQUIRED, SNAPSHOT, STACK_REQUIRED, SUPPORTS_MASKING`

## Constructor Summary

Constructors
Constructor
Description
`Rotator()`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`dialogItemChanged(GenericDialog gd, AWTEvent e)`
This method is invoked by a Generic Dialog if any of the inputs have changed (CANCEL does not trigger it; OK and running the dialog from a macro only trigger the first DialogListener added to a GenericDialog).
`static double`
`getAngle()`
Returns the current angle.
`void`
`run(ImageProcessor ip)`
Filters use this method to process the image.
`void`
`setNPasses(int nPasses)`
This method is called by ImageJ to inform the plugin-filter about the passes to its run method.
`int`
`setup(String arg, ImagePlus imp)`
This method is called once when the filter is loaded.
`int`
`showDialog(ImagePlus imp, String command, PlugInFilterRunner pfr)`
This method is called after `setup(arg, imp)` unless the `DONE` flag has been set.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### GRID

public static final String GRID

See Also:
  - Constant Field Values

## Constructor Details

### Rotator

public Rotator()

## Method Details

### setup

public int setup(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 `PlugInFilter.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 `PlugInFilter.DOES_STACKS` flag was set, it is called for each slice in a stack. With `PlugInFilter.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 `PlugInFilter.NO_IMAGE_REQUIRED` flag and not the `PlugInFilter.DONE` flag, run(ip) is called once with the argument `null`. Use ip.getSliceNumber() to get the stack position (1-n).

Specified by:
  `run` in interface `PlugInFilter`

### showDialog

public int showDialog(ImagePlus imp, String command, PlugInFilterRunner pfr)
Description copied from interface: `ExtendedPlugInFilter`
This method is called after `setup(arg, imp)` unless the `DONE` flag has been set.

Specified by:
  `showDialog` in interface `ExtendedPlugInFilter`
Parameters:
  `imp` - The active image already passed in the `setup(arg, imp)` call. It will be null, however, if the `NO_IMAGE_REQUIRED` flag has been set.
  `command` - The command that has led to the invocation of the plugin-filter. Useful as a title for the dialog.
  `pfr` - The PlugInFilterRunner calling this plugin-filter. It can be passed to a GenericDialog by `addPreviewCheckbox` to enable preview by calling the `run(ip)` method of this plugin-filter. `pfr` can be also used later for calling back the PlugInFilterRunner, e.g., to obtain the slice number currently processed by `run(ip)`.
Returns:
  The method should return a combination (bitwise OR) of the flags specified in interfaces `PlugInFilter` and `ExtendedPlugInFilter`.

### dialogItemChanged

public boolean dialogItemChanged(GenericDialog gd, AWTEvent e)
Description copied from interface: `DialogListener`
This method is invoked by a Generic Dialog if any of the inputs have changed (CANCEL does not trigger it; OK and running the dialog from a macro only trigger the first DialogListener added to a GenericDialog).

Specified by:
  `dialogItemChanged` in interface `DialogListener`
Parameters:
  `gd` - A reference to the GenericDialog.
  `e` - The event that has been generated by the user action in the dialog. Note that `e` is `null` if the dialogItemChanged method is called after the user has pressed the OK button or if the GenericDialog has read its parameters from a macro.
Returns:
  Should be true if the dialog input is valid. False disables the OK button and preview (if any).

### getAngle

public static double getAngle()
Returns the current angle.

### setNPasses

public void setNPasses(int nPasses)
Description copied from interface: `ExtendedPlugInFilter`
This method is called by ImageJ to inform the plugin-filter about the passes to its run method. During preview, the number of passes is one (or 3 for RGB images, if `CONVERT_TO_FLOAT` has been specified). When processing a stack, it is the number of slices to be processed (minus one, if one slice has been processed for preview before), and again, 3 times that number for RGB images processed with `CONVERT_TO_FLOAT`.

Specified by:
  `setNPasses` in interface `ExtendedPlugInFilter`