Class HaralickFeaturesPlugin

All Implemented Interfaces:
PathInteractivePlugin<BufferedImage>, PathPlugin<BufferedImage>

public class HaralickFeaturesPlugin extends AbstractInteractivePlugin<BufferedImage>
Plugin for calculating Haralick texture features, within or around detections or tiles.

The ROIs of the detections can be used directly as masks, or else the textures can alternatively be calculated within square or circular regions around the object centroids. This latter option makes it possible to calculate a high density of tiles (for example), and then to compute textures at different resolutions independently of the tile size.

Author:
Pete Bankhead
  • Constructor Details

    • HaralickFeaturesPlugin

      public HaralickFeaturesPlugin()
      Default constructor.
  • Method Details

    • addRunnableTasks

      protected void addRunnableTasks(ImageData<BufferedImage> imageData, PathObject parentObject, List<Runnable> tasks)
      Description copied from class: AbstractPlugin
      For a specified parent object, generate a task to run. In practice, this method can be overridden to return anything/nothing if getTasks is overridden instead.
      Specified by:
      addRunnableTasks in class AbstractPlugin<BufferedImage>
      Parameters:
      imageData -
      parentObject -
      tasks -
    • getDefaultParameterList

      public ParameterList getDefaultParameterList(ImageData<BufferedImage> imageData)
      Description copied from class: AbstractInteractivePlugin
      This should return a default ParameterList containing any information that is needed to repeat the task exactly.
      Specified by:
      getDefaultParameterList in interface PathInteractivePlugin<BufferedImage>
      Specified by:
      getDefaultParameterList in class AbstractInteractivePlugin<BufferedImage>
      Parameters:
      imageData -
      Returns:
    • getName

      public String getName()
      Description copied from interface: PathPlugin
      Get the name of the plugin for display.

      This should be descriptive and, above all, short - as it may be used for menu item names & dialog box titles.

      Returns:
    • getLastResultsDescription

      public String getLastResultsDescription()
      Description copied from interface: PathPlugin
      (Optional) short one-line description of the results, e.g. to say how many objects detected. GUIs may choose to display this on a label during interactive processing.
      Returns:
    • getDescription

      public String getDescription()
      Description copied from interface: PathPlugin
      Get a brief description of the plugin's purpose & operation.

      If no description is provided, this may return null.

      Returns:
    • getParentObjects

      protected Collection<PathObject> getParentObjects(ImageData<BufferedImage> imageData)
      Description copied from class: AbstractPlugin
      Get a collection of objects to process, based on the contents of the PluginRunner. This could (for example) return the selected object, the root object, all detection objects... depending upon what the plugin does. Each object this returns will be passed to addRunnableTasks to create a task to run. In practice, this method can be overridden to return anything/nothing if getTasks is overridden instead.
      Specified by:
      getParentObjects in class AbstractPlugin<BufferedImage>
      Parameters:
      imageData -
      Returns:
    • getSupportedParentObjectClasses

      public Collection<Class<? extends PathObject>> getSupportedParentObjectClasses()
      Description copied from interface: PathInteractivePlugin
      Get a collection of possible parent objects that the plugin could have. This may be used, for example, to specified that analysis may be applied to any/all TMA cores or annotations. If no parent objects are required, PathRootObject.class should be returned in the list.
      Returns: