Package weka.knowledgeflow.steps

# Class ImageViewer

java.lang.Object
weka.knowledgeflow.steps.BaseStep
weka.knowledgeflow.steps.ImageViewer

All Implemented Interfaces:
  `Serializable`, `BaseStepExtender`, `DataCollector`, `Step`

@KFStep(name="ImageViewer", category="Visualization", toolTipText="View images", iconPath="weka/gui/knowledgeflow/icons/StripChart.gif") public class ImageViewer extends BaseStep implements DataCollector
A step for collecting and viewing image data

Version:
  $Revision: $
Author:
  Mark Hall (mhall{[at]}pentaho{[dot]}com)
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ImageViewer()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static Map<String,byte[]>`
  `bufferedImageMapToSerializableByteMap(Map<String,BufferedImage> images)`
  Utility method to convert a map of `BufferedImage` to a map of byte arrays (that hold each image as png bytes)
  `static Map<String,BufferedImage>`
  `byteArrayImageMapToBufferedImageMap(Map<String,byte[]> dataMap)`
  Utility method to convert a map of `byte[]` png image data to a map of `BufferedImage`
  `Map<String,BufferedImage>`
  `getImages()`
  Get a map of named images that this step has collected
  `List<String>`
  `getIncomingConnectionTypes()`
  Get a list of acceptable incoming connections - only StepManager.CON_IMAGE in this case
  `Map<String,String>`
  `getInteractiveViewers()`
  Gets a list of classes of viewers that can be popped up in the GUI Knowledge Flow from this step, given that we have received and stored some image data.
  `List<String>`
  `getOutgoingConnectionTypes()`
  Get a list of outgoing connections that can be generated given the current state of the step - will produce StepManager.CON_IMAGE data if we have at least one incoming image connection connection
  `void`
  `processIncoming(Data data)`
  Process incoming image data
  `void`
  `restoreData(Object data)`
  Restore data for this step.
  `Object`
  `retrieveData()`
  Retrieve the data stored in this step.
  `void`
  `stepInit()`
  Initialize the step.

  ### Methods inherited from class weka.knowledgeflow.steps.BaseStep

  `environmentSubstitute, getCustomEditorForStep, getDefaultSettings, getInteractiveViewersImpls, getName, getStepManager, globalInfo, isResourceIntensive, isStopRequested, outputStructureForConnectionType, outputStructureForConnectionType, setName, setStepIsResourceIntensive, setStepManager, setStepMustRunSingleThreaded, start, stepMustRunSingleThreaded, stop`

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

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

- ## Constructor Details

  - ### ImageViewer

    public ImageViewer()

- ## Method Details

  - ### stepInit

    public void stepInit()
    Initialize the step. Nothing to do in the case of this step
    Specified by:
      `stepInit` in interface `BaseStepExtender`
    Specified by:
      `stepInit` in interface `Step`

  - ### getIncomingConnectionTypes

    public List<String> getIncomingConnectionTypes()
    Get a list of acceptable incoming connections - only StepManager.CON_IMAGE in this case
    Specified by:
      `getIncomingConnectionTypes` in interface `BaseStepExtender`
    Specified by:
      `getIncomingConnectionTypes` in interface `Step`
    Returns:
      a list of acceptable incoming connections

  - ### getOutgoingConnectionTypes

    public List<String> getOutgoingConnectionTypes()
    Get a list of outgoing connections that can be generated given the current state of the step - will produce StepManager.CON_IMAGE data if we have at least one incoming image connection connection
    Specified by:
      `getOutgoingConnectionTypes` in interface `BaseStepExtender`
    Specified by:
      `getOutgoingConnectionTypes` in interface `Step`
    Returns:
      a list of outgoing connections

  - ### processIncoming

    public void processIncoming(Data data) throws WekaException
    Process incoming image data
    Specified by:
      `processIncoming` in interface `BaseStepExtender`
    Specified by:
      `processIncoming` in interface `Step`
    Overrides:
      `processIncoming` in class `BaseStep`
    Parameters:
      `data` - the data to process
    Throws:
      `WekaException` - if a problem occurs

  - ### getImages

    public Map<String,BufferedImage> getImages()
    Get a map of named images that this step has collected
    Returns:
      a map of named images

  - ### getInteractiveViewers

    public Map<String,String> getInteractiveViewers()
    Gets a list of classes of viewers that can be popped up in the GUI Knowledge Flow from this step, given that we have received and stored some image data.
    Specified by:
      `getInteractiveViewers` in interface `Step`
    Overrides:
      `getInteractiveViewers` in class `BaseStep`
    Returns:
      a list of viewer classes

  - ### retrieveData

    public Object retrieveData()
    Retrieve the data stored in this step. This is a map of png image data (as raw bytes), keyed by image name.
    Specified by:
      `retrieveData` in interface `DataCollector`
    Returns:
      the data stored in this step

  - ### restoreData

    public void restoreData(Object data) throws WekaException
    Restore data for this step. Argument is expected to be a map of png image data (as raw bytes) keyed by image name
    Specified by:
      `restoreData` in interface `DataCollector`
    Parameters:
      `data` - the data to set
    Throws:
      `WekaException` - if a problem occurs

  - ### byteArrayImageMapToBufferedImageMap

    public static Map<String,BufferedImage> byteArrayImageMapToBufferedImageMap(Map<String,byte[]> dataMap) throws IOException
    Utility method to convert a map of `byte[]` png image data to a map of `BufferedImage`
    Parameters:
      `dataMap` - the map containing raw png byte arrays
    Returns:
      a map of `BufferedImage`s
    Throws:
      `IOException` - if a problem occurs

  - ### bufferedImageMapToSerializableByteMap

    public static Map<String,byte[]> bufferedImageMapToSerializableByteMap(Map<String,BufferedImage> images)
    Utility method to convert a map of `BufferedImage` to a map of byte arrays (that hold each image as png bytes)
    Parameters:
      `images` - the map of `BufferedImage`s to convert
    Returns:
      a map of png byte arrays