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:
  • 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 BufferedImages
      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 BufferedImages to convert
      Returns:
      a map of png byte arrays