Class MultiSpectralControl

java.lang.Object
ucar.unidata.collab.SharableImpl
ucar.unidata.idv.control.DisplayControlBase
ucar.unidata.idv.control.DisplayControlImpl
edu.wisc.ssec.mcidasv.control.HydraControl
edu.wisc.ssec.mcidasv.control.MultiSpectralControl
All Implemented Interfaces:
ActionListener, ItemListener, PropertyChangeListener, EventListener, HyperlinkListener, ucar.unidata.collab.Sharable, ucar.unidata.data.DataChangeListener, ucar.unidata.idv.DisplayControl, ucar.unidata.util.Prototypable, ControlListener, DisplayListener

public class MultiSpectralControl extends HydraControl
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    class 
     
    class 
     
    (package private) class 
     
    (package private) class 
     
    class 
     
    private static class 
     
    private static class 
     

    Nested classes/interfaces inherited from class ucar.unidata.idv.control.DisplayControlImpl

    ucar.unidata.idv.control.DisplayControlImpl.SideLegendLabel
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final JButton
     
    private JRadioButton
     
    private ButtonGroup
     
    private JRadioButton
     
    private boolean
     
    private static final int
     
     
    private ucar.visad.display.DisplayMaster
     
    Dialog that allows users to see export progress as well as cancel current export.
    private ucar.unidata.idv.control.McVHistogramWrapper
     
    private static final org.slf4j.Logger
     
    (package private) final JTextField
     
    (package private) final JTextField
     
    private float
     
    private float
     
    private String
     
    private int
     
    private final JTable
     
    private float
     
    private float
     
    private final JButton
     
    private JButton
    Used to trigger the CSV export process.
    private final JScrollPane
     
     
    private final List<Hashtable<String,Object>>
     
    private JCheckBox
     
    private JLabel
     
    private final JTextField
     
    static String
     

    Fields inherited from class ucar.unidata.idv.control.DisplayControlImpl

    categories, colorScaleInfo, colorScales, contourInfo, contourInfoParams, contourWidget, controlContext, ctw, dataSelection, defaultView, defaultViewManager, DISPLAY_LIST_NAME, displayables, displayId, displayListTable, displayListTemplate, displayListUsesColor, displayMasters, displayUnit, helpUrl, initNoteText, instantiatedWithNoData, isProgressiveResolution, matchDisplayRegion, noteTextArea, noteWrapper, paramName, reloadFromBounds, requestProperties, resolutionReadout, selectRangeWidget, settingVisibility, sharables, showNoteText, skipSlider, skipTextField, SLIDER_DEFAULT_MAJOR_TICK, SLIDER_DEFAULT_MAX, SLIDER_DEFAULT_MIN, SLIDER_DEFAULT_MINOR_TICK, SLIDER_DEFAULT_SKIP, version, viewManagers, ZFUDGE

    Fields inherited from class ucar.unidata.idv.control.DisplayControlBase

    APPEARANCE_DARK, APPEARANCE_IDV, APPEARANCE_LIGHT, CMD_BARBSIZE, CMD_COLORS, CMD_COLORTABLE, CMD_INTERVAL, CMD_LEVEL, CMD_LINEWIDTH, CMD_POPUP, CMD_REMOVE, DEFAULT_POINT_SIZE, DEFAULT_SAMPLING_MODE, FIND_ALL, FIND_CATEGORY, FIND_CLASS, FIND_SPECIAL, FIND_THIS, FIND_WITHDATA, FIND_WITHTHISDATA, FIND_WITHTHISFIELD, FIND_WITHTHISVIEW, FLAG_COLOR, FLAG_COLORTABLE, FLAG_COLORUNIT, FLAG_CONTOUR, FLAG_DATACONTROL, FLAG_DISPLAYUNIT, FLAG_GRIDTRAJECTORY, FLAG_LINEWIDTH, FLAG_NONE, FLAG_SELECTRANGE, FLAG_SKIPFACTOR, FLAG_SMOOTHING, FLAG_TEXTUREQUALITY, FLAG_TIMERANGE, FLAG_ZPOSITION, GRID_INSETS, ICON_LOCK, ICON_REMOVE, ICON_UNLOCK, LABEL_NONE, log_, MACRO_DATASOURCENAME, MACRO_DISPLAYNAME, MACRO_DISPLAYUNIT, MACRO_FHOUR, MACRO_FHOUR2, MACRO_LONGNAME, MACRO_POSITION, MACRO_RESOLUTION, MACRO_SHORTNAME, MACRO_STATION, MACRO_TIMESTAMP, MACRO_VALUE, NEAREST_NEIGHBOR, PREF_DISPLAYLIST_TEMPLATE, PREF_EXTRALABEL_TEMPLATE, PREF_LEGENDLABEL_TEMPLATE, PROP_REMOVED, SETTINGS_GROUP_DISPLAY, SETTINGS_GROUP_FLAGS, SHARE_CHOICES, SHARE_COLOR, SHARE_COLORSCALE, SHARE_COLORTABLE, SHARE_DISPLAYUNIT, SHARE_POSITION, SHARE_SELECTRANGE, SHARE_SKIPVALUE, SHARE_TRANSECT, SHARE_VISIBILITY, WEIGHTED_AVERAGE

    Fields inherited from interface ucar.unidata.idv.DisplayControl

    BOTTOM_LEGEND, DEFAULT_PROBEFORMAT, PREF_PREFIX, PREF_PROBEFORMAT, PREF_REMOVEONWINDOWCLOSE, PREF_SAMPLING_MODE, PREF_STANDALONE_REMOVEONCLOSE, PREF_STANDALONE_REMOVEONCLOSE_ASK, PROP_LEGENDICON, RASTERMODE_SHOWALL, RASTERMODE_SHOWNONRASTER, RASTERMODE_SHOWRASTER, SIDE_LEGEND
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    addSpectra(Color... colors)
    Uses a variable-length array of Colors to create new readout probes using the specified colors.
    Creates a new ReadoutProbe with the specified Color.
    void
    Overridden so that the probes in the main display window can handle changes to z-axis.
    protected void
    Runs through the list of ViewManager-s and tells each to destroy.
    protected void
    contrastStretch(double low, double high)
     
    private void
    Create the dialog used to show our CSV export progress.
    Make Gui contents
    protected JComponent
    A helper method for constructing the ui.
    void
    Remove this DisplayControl.
    boolean
     
    get MapProjection of data to display
    ucar.unidata.data.DataSelection
    This is used for xml persistence.
    private JComponent
     
    private JComponent
     
    protected ucar.unidata.util.ColorTable
    Get the initial ColorTable associated with this control's parameter name.
    protected ucar.unidata.util.Range
    Get the initial Range for the data and color table.
     
    private String
    Convenience method for extracting the parameter name.
     
    void
    handleChannelChange(float newChan)
     
    void
    handleChannelChange(float newChan, boolean update)
     
    boolean
    init(ucar.unidata.data.DataChoice choice)
    Initialize this instance according to a data choice.
    void
    initAfterUnPersistence(ucar.unidata.idv.ControlContext vc, Hashtable properties, List preSelectedDataChoices)
    Called by the IntegratedDataViewer to initialize after this control has been unpersisted
    void
    Called after all initialization has been done.
    static float[]
    minmax(float[] values)
     
    void
    Makes each ReadoutProbe in this display control attempt to redisplay its readout value.
    void
    Overridden so that the probes can re-apply their current locations to their PointSelectors.
    void
    Iterates through the list of Spectrums that manage each ReadoutProbe associated with this display control and calls MultiSpectralControl.Spectrum.removeValueDisplay() in an effort to remove this control's probes.
    void
    removeSpectrum(int index)
    Attempts to remove the MultiSpectralControl.Spectrum at the given index.
    void
     
    void
    setBlackBackground(boolean value)
     
    void
    setDataSelection(ucar.unidata.data.DataSelection newSelection)
    This is used for xml persistence.
    void
    Overridden by McIDAS-V so that "hide" probes when their display is turned off.
    void
     
    void
    Updates the Wavelength label when user manipulates drag line UI
    private void
     
    boolean
    updateImage(float newChan)
     
    protected void
     
    void
    Write multispectral data to a CSV file.

    Methods inherited from class edu.wisc.ssec.mcidasv.control.HydraControl

    updateRange

    Methods inherited from class ucar.unidata.idv.control.DisplayControlImpl

    actionPerformed, activateDisplays, addAttributedDisplayable, addAttributedDisplayable, addAttributedDisplayable, addAttributeFlags, addCheckBoxSettings, addDataChoice, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayMaster, addDisplaySettings, addLabelMacros, addNewData, addNoteText, addPropertiesComponents, addPropertyChangeListener, addRemovable, addSharable, addTimeModeWidget, addToControlContext, addToRangeMenu, addToRangeMenu, addToRangeMenu, addViewManager, appendDataChoices, applyAttributesToDisplayables, applyColor, applyColorScaleInfo, applyColorTable, applyColorUnit, applyContourInfo, applyDisplaySetting, applyDisplayUnit, applyForecastHourMacro, applyLineWidth, applyPreferences, applyProperties, applyProperties, applyPropertyValues, applyRange, applySelectRange, applySkipFactor, applySmoothing, applyTextureQuality, applyTimeRange, boundsClose, canBeDocked, canDataDoProgressiveResolution, canDoProgressiveResolution, canExportData, canSaveDataInCache, captureWindow, centerOnDisplay, changeColorUnit, changeDisplayUnit, checkBoundsChange, checkFlag, checkIfDataOk, checkImageSize, clearDataInstance, clearPrototype, clipDisplayedRange, close, colorUnitChanged, controlChanged, convertColorRange, convertRange, createDisplayListDisplayable, createIdvWindow, dataChanged, dataSelectionAdaptiveResolution, deactivateDisplays, debug, displayableToFront, displayChanged, displayControlFailed, displayUnitChanged, doApplyProperties, doExport, doInitialUpdateLegendAndList, doMakeBottomLegendComponent, doMakeChangeColorMenu, doMakeChangeColorMenu, doMakeChangeParameterMenuItem, doMakeColorControl, doMakeColorControl, doMakeColorScales, doMakeDataInstance, doMakeMenuBar, doMakeMenuBarMenus, doMakePointSizeWidget, doMakeRemoveControl, doMakeSideLegendComponent, doMakeSkipFactorSlider, doMakeSkipFactorSlider, doMakeSmoothingWidget, doMakeTextureSlider, doMakeVisibilityControl, doMakeWindow, doMakeZPositionSlider, doMakeZPositionSlider, doRemoveWithPrompt, exportDisplayedData, findDisplayInfo, findDisplays, findDisplays, firePropertyChangeEvent, firstFrameDone, forceUpdateList, formatForCursorReadout, getActive, getAnimation, getAnimation, getAnimation, getAnimation, getAnimationInfo, getAnimationWidget, getAttributeFlags, getCachedData, getCanDoRemoveAll, getCategories, getChangeParameterLabel, getCollapseLegend, getColor, getColorDimness, getColorScaleInfo, getColorTable, getColorTableForDisplayable, getColorTableToApply, getColorTableWidget, getColorUnit, getColorUnitName, getColorWidgetLabel, getComponentHolder, getContents, getContourInfo, getControlChangeSleepTime, getControlContext, getControlMenus, getControlWidgets, getCursorReadout, getCursorReadoutInner, getCursorReadoutInner, getData, getDataChoice, getDataChoices, getDataForDisplayList, getDataInstance, getDataInstance, getDataProjectionForMenu, getDataProjectionLabel, getDataSources, getDataTimeRange, getDataTimeRange, getDataTimeSet, getDebugDetails, getDefaultColorScaleInfo, getDefaultDisplayListTemplate, getDefaultDisplayListTemplateJPSS, getDefaultDisplayListTemplatePoint, getDefaultDistanceUnit, getDefaultFastRendering, getDefaultSamplingMode, getDefaultSamplingModeValue, getDefaultView, getDefaultViewDescriptor, getDefaultViewManager, getDetailsContents, getDisplayAltitudeType, getDisplayCategory, getDisplayCenter, getDisplayConventions, getDisplayedData, getDisplayId, getDisplayInfos, getDisplayListColor, getDisplayListData, getDisplayListDisplayable, getDisplayListTemplate, getDisplayMaster, getDisplayName, getDisplayScale, getDisplayUnit, getDisplayUnit, getDisplayUnitName, getDisplayVisibility, getDoCursorReadout, getEditMenuItems, getEditMenuItems, getExpandedInTabs, getExtraLabelTemplate, getExtraLegendComponent, getExtraMenus, getFileMenuItems, getFileMenuItems, getGraphicsConfiguration, getGrid, getGrid, getHadDataChoices, getHaveInitialized, getHelpIds, getHelpMenuItems, getId, getIdv, getImage, getImage, getInitDataChoices, getInitialFastRendering, getInitialZPosition, getInternalAnimation, getInternalAnimation, getIsProgressiveResolution, getIsRaster, getIsTimeDriver, getLabel, getLastFileMenuItems, getLatLonPoints, getLegendButtons, getLegendComponent, getLegendLabel, getLegendLabels, getLegendLabelTemplate, getLegendToolTip, getLineWidth, getLineWidthWidget, getLineWidthWidgetLabel, getLockVisibilityToggle, getLongParamName, getMacroNames, getMainPanel, getMainPanelSize, getMakeWindow, getMapDisplay, getMapViewManager, getMapViewProjection, getMatchDisplayRegion, getMenuLabel, getMyDataChoices, getNavigatedDisplay, getNoteText, getObjectStore, getOkToFireEvents, getOldColorTableOrInitialColorTable, getOriginalDataChoicesLabel, getOuterContents, getPointSize, getProperty, getProperty, getPropertyDisplayName, getRange, getRangeForColorTable, getRangeToApply, getRawDataUnit, getRequestProperties, getSamplingModeName, getSamplingModeValue, getSamplingModeValue, getSaveMenuItems, getSelectRange, getSelectRangeEnabled, getSelectRangeWidget, getSettingsPanel, getShortParamName, getShoulDoProgressiveResolution, getShowInDisplayList, getShowInLegend, getShowInTabs, getShowNoteText, getSkipValue, getSkipWidgetLabel, getSmoothingFactor, getSmoothingType, getSomeAnimation, getStore, getTemplateName, getTextureQuality, getTextureQualityLabel, getTimeSet, getTitle, getTransientProperty, getUnitForColor, getUseFastRendering, getUsesTimeDriver, getUseTimesInAnimation, getVersion, getVerticalValue, getViewAnimation, getViewContext, getViewer, getViewManager, getViewManager, getViewManager, getViewManagerClassNames, getViewManagerForCapture, getViewManagers, getViewMenuItems, getViewMenuItems, getVisbilityAnimationPause, getWasUnPersisted, getWindow, getWindowSize, getWindowVisible, getWindowX, getWindowY, getZPosition, getZPositionSliderLabel, guiExported, guiImported, handleDisplayChanged, handleWindowClosing, hasForecastHourMacro, hasMapProjection, hasTimeMacro, haveDataTimes, haveParameterDefaults, hide, hyperlinkUpdate, inGlobeDisplay, init, init, init, initAfterUnPersistence, initAsPrototype, initAsTemplate, initBasic, initializeWithNewData, initWindow, isDisplay3D, isDisplayUnitAlsoColorUnit, isGuiShown, isInitDone, isInTransectView, isInViewManager, isRectBad, itemStateChanged, makeChangeColorMenuItems, makeLegendLabel, makeLockButton, makeMiscButton, makeRemoveButton, moveTo, notifyViewManagersOfChange, parseProperties, popup, popupDataDialog, popupDataDialog, popupDataDialog, processRequestProperties, propertyChange, putTransientProperty, reallySetAttributeFlags, receiveShareData, redoGuiLayout, reloadDataSource, reloadDataSourceInThread, relocateDisplay, relocateDisplay, removeDataChoice, removeDisplayable, removeDisplayables, removeDisplayables, removeOnWindowClose, removePropertyChangeListener, resetData, resetDimness, resetViewManager, revertToDefaultColorTable, revertToDefaultColorTable, revertToDefaultRange, revertToDefaultRange, saveAsFavorite, saveAsParameterDefaults, saveAsPrototype, saveAsTemplate, saveDataChoiceInCache, saveImage, selectDataChoices, setAnimationInfo, setAnimationSet, setAttributeFlags, setCachedData, setCanDoRemoveAll, setCategories, setCollapseLegend, setColor, setColorBrighter, setColorDimmer, setColorDimness, setColorScaleInfo, setColorScaleVisible, setColorTable, setColorTable, setColorTableName, setColorUnit, setColorUnitName, setComponentHolder, setContents, setContourInfo, setContourInfoParams, setData, setData, setDataChoices, setDataInstance, setDataInstances, setDataTimeRange, setDefaultSamplingMode, setDefaultView, setDisplayableVisibility, setDisplayableVisiblity, setDisplayActive, setDisplayCategory, setDisplayId, setDisplayInactive, setDisplayListColor, setDisplayListColor, setDisplayListProperties, setDisplayListTemplate, setDisplayName, setDisplayUnit, setDisplayUnitName, setDoCursorReadout, setExpandedInTabs, setExtraLabelTemplate, setHadDataChoices, setHelpUrl, setId, setInitDataChoices, setInitialSettings, setInitialViewManager, setIsProgressiveResolution, setIsRaster, setIsTimeDriver, setLabelAsPreference, setLegendBackground, setLegendForeground, setLegendLabel, setLegendLabelTemplate, setLineWidth, setLockVisibilityToggle, setMainPanelDimensions, setMainPanelSize, setMakeWindow, setMatchDisplayRegion, setName, setNameFromUser, setNewColorUnit, setNewDisplayUnit, setNoteText, setOkToFireEvents, setOriginalDataChoicesLabel, setParamName, setPersistedVisadData, setPointSize, setProjectionInView, setProjectionInView, setProperty, setRange, setRange, setSelectRange, setSelectRangeEnabled, setSettingsDisplayUnit, setSharedColorScaleInfo, setShowInDisplayList, setShowInLegend, setShowInTabs, setShowNoteText, setSkipValue, setSmoothingFactor, setSmoothingType, setTemplateName, setTextureQuality, setTitle, setUnitForColor, setUseFastRendering, setUsesTimeDriver, setUseTimesInAnimation, setVersion, setViewer, setViewManagerClassNames, setViewManagerDisplayListColor, setVisbilityAnimationPause, setWindowSize, setWindowVisible, setWindowX, setWindowY, setZPosition, setZPosition, shouldAddAnimationListener, shouldAddControlListener, shouldAddDisplayListener, shouldApplyFastRendering, shouldBeDocked, shouldWindowBeVisible, show, showColorControlWidget, showColorDialog, showColorDialog, showColorScaleDialog, showColorScales, showColorSwatches, showContourPropertiesDialog, showDetails, showDisplaySettingsDialog, showHelp, showLegendMenu, showNormalCursor, showProperties, showTimeRangeDialog, showWaitCursor, timeChanged, toFront, toggleNoteTextArea, toggleVisibilityForVectorGraphicsRendering, toggleWindow, toString, transectChanged, updateAnimation, updateDataInstance, updateDataSelection, updateDisplayList, updateGridDataInstance, updateLegendAndList, updateLegendLabel, updateLockButton, updateMiscButton, useSmoothingFactor, useZPosition, viewManagerChanged, viewManagerDestroyed, viewpointChanged, writeTestArchive, xxxsetDisplayActive, zSliderChanged

    Methods inherited from class ucar.unidata.idv.control.DisplayControlBase

    boxToEarth, boxToEarth, boxToEarth, boxToEarth, boxToEarth, boxToScreen, calculateRectangle, createStationTfo, earthToBox, earthToBox, earthToBoxTuple, earthToScreen, formatLevels, getLabeledReal, getLevelReal, getScreenCenter, getSelectedStation, getTmpProperty, isLeftButtonDown, logException, logException, makeEarthLocation, putTmpProperty, removeTmpProperty, screenToBox, screenToBox, screenToEarth, setStations, setStations, toBox, toEarth, userErrorMessage, userMessage

    Methods inherited from class ucar.unidata.collab.SharableImpl

    applySharableProperties, doShare, doShare, doShareExternal, doShareInternal, getReceiveShareTime, getSharablePropertiesComponent, getShareGroup, getSharing, getUniqueId, initSharable, removeSharable, setReceiveShareTime, setShareGroup, setSharing, setUniqueId, showSharableDialog

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface ucar.unidata.idv.DisplayControl

    getTmpProperty, putTmpProperty, removeTmpProperty

    Methods inherited from interface ucar.unidata.collab.Sharable

    getReceiveShareTime, getShareGroup, getSharing, getUniqueId, setReceiveShareTime
  • Field Details

  • Constructor Details

  • Method Details

    • init

      public boolean init(ucar.unidata.data.DataChoice choice) throws VisADException, RemoteException
      Description copied from class: ucar.unidata.idv.control.DisplayControlImpl

      Initialize this instance according to a data choice. Subclasses should override this method. Overridding methods should probably invoke DisplayControlImpl.setData(DataChoice) as part of their initialization procedure -- although it is unclear when this is actually necessary.

      This implementation simply returns true.

      Overrides:
      init in class ucar.unidata.idv.control.DisplayControlImpl
      Parameters:
      choice - A data choice or null.
      Returns:
      true if and only if this instance was correctly initialized by the data choice.
      Throws:
      VisADException - if a VisAD Failure occurs.
      RemoteException - if a Java RMI failure occurs.
    • setWavelengthLabel

      public void setWavelengthLabel(String s)
      Updates the Wavelength label when user manipulates drag line UI
      Parameters:
      s - full label text, prefix and numeric value
    • initAfterUnPersistence

      public void initAfterUnPersistence(ucar.unidata.idv.ControlContext vc, Hashtable properties, List preSelectedDataChoices)
      Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
      Called by the IntegratedDataViewer to initialize after this control has been unpersisted
      Specified by:
      initAfterUnPersistence in interface ucar.unidata.idv.DisplayControl
      Overrides:
      initAfterUnPersistence in class ucar.unidata.idv.control.DisplayControlImpl
      Parameters:
      vc - The context in which this control exists
      properties - Properties that may hold things
      preSelectedDataChoices - set of preselected data choices
    • initDone

      public void initDone()
      Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
      Called after all initialization has been done. A hook that allows derived classes to do any further initialization.
      Overrides:
      initDone in class ucar.unidata.idv.control.DisplayControlImpl
    • setDisplayVisibility

      public void setDisplayVisibility(boolean on)
      Overridden by McIDAS-V so that "hide" probes when their display is turned off. Otherwise users can wind up with probes on the screen which aren't associated with any displayed data.
      Specified by:
      setDisplayVisibility in interface ucar.unidata.idv.DisplayControl
      Overrides:
      setDisplayVisibility in class ucar.unidata.idv.control.DisplayControlImpl
      Parameters:
      on - true if we're visible, false otherwise.
      See Also:
      • DisplayControl.setDisplayVisibility(boolean)
    • applyZPosition

      Overridden so that the probes in the main display window can handle changes to z-axis.
      Overrides:
      applyZPosition in class ucar.unidata.idv.control.DisplayControlImpl
      Throws:
      VisADException - Problem creating VisAD object.
      RemoteException - RemoteException Java RMI error.
    • projectionChanged

      public void projectionChanged()
      Overridden so that the probes can re-apply their current locations to their PointSelectors.
      Specified by:
      projectionChanged in interface ucar.unidata.idv.DisplayControl
      Overrides:
      projectionChanged in class ucar.unidata.idv.control.DisplayControlImpl
    • setSpectraProperties

    • getSpectraProperties

    • updateList

      protected void updateList(List<MultiSpectralControl.Spectrum> updatedSpectra)
    • addSpectra

      protected void addSpectra(Color... colors)
      Uses a variable-length array of Colors to create new readout probes using the specified colors.
      Parameters:
      colors - Variable length array of Colors. Shouldn't be null.
    • addSpectrum

      Creates a new ReadoutProbe with the specified Color.
      Parameters:
      color - Color of the new ReadoutProbe. null values are not allowed.
      Returns:
      MultiSpectralControl.Spectrum wrapper for the newly created ReadoutProbe.
      Throws:
      NullPointerException - if color is null.
    • removeSpectrum

      public void removeSpectrum(int index)
      Attempts to remove the MultiSpectralControl.Spectrum at the given index.
      Parameters:
      index - Index of the probe to be removed (within spectra).
    • removeSpectra

      public void removeSpectra()
      Iterates through the list of Spectrums that manage each ReadoutProbe associated with this display control and calls MultiSpectralControl.Spectrum.removeValueDisplay() in an effort to remove this control's probes.
      See Also:
    • pokeSpectra

      public void pokeSpectra()
      Makes each ReadoutProbe in this display control attempt to redisplay its readout value.

      Sometimes the probes don't initialize correctly and this method is a stop-gap solution.

    • getDataSelection

      public ucar.unidata.data.DataSelection getDataSelection()
      Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
      This is used for xml persistence.
      Overrides:
      getDataSelection in class ucar.unidata.idv.control.DisplayControlImpl
      Returns:
      The dataSelection member
    • setDataSelection

      public void setDataSelection(ucar.unidata.data.DataSelection newSelection)
      Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
      This is used for xml persistence.
      Overrides:
      setDataSelection in class ucar.unidata.idv.control.DisplayControlImpl
      Parameters:
      newSelection - The new dataSelection member
    • getDataProjection

      Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
      get MapProjection of data to display
      Specified by:
      getDataProjection in interface ucar.unidata.idv.DisplayControl
      Overrides:
      getDataProjection in class ucar.unidata.idv.control.DisplayControlImpl
      Returns:
      The native projection of the data
    • minmax

      public static float[] minmax(float[] values)
    • getParameterName

      Convenience method for extracting the parameter name.
      Returns:
      Results from DataChoice.getName(), or PARAM if the DataChoice is (somehow) null.
    • getInitialRange

      protected ucar.unidata.util.Range getInitialRange() throws VisADException, RemoteException
      Get the initial Range for the data and color table.

      Note: if there is a parameter default range associated with the current parameter name, that will be returned. If there is not a parameter default range match, a Range consisting of rangeMin and rangeMax will be returned.

      Overrides:
      getInitialRange in class ucar.unidata.idv.control.DisplayControlImpl
      Returns:
      Initial Range for data and color table.
      Throws:
      VisADException - if VisAD had problems.
      RemoteException - if there was a Java RMI problem.
    • getInitialColorTable

      protected ucar.unidata.util.ColorTable getInitialColorTable()
      Get the initial ColorTable associated with this control's parameter name.

      Note: if there is a parameter default color table associated with the parameter name, that color table will be returned. If there are no parameter defaults associated with the parameter name, then the ColorTable associated with "BrightnessTemp" is returned (this is a "legacy" behavior).

      Overrides:
      getInitialColorTable in class ucar.unidata.idv.control.DisplayControlImpl
      Returns:
      ColorTable to use.
    • doMakeContents

      Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
      Make Gui contents
      Overrides:
      doMakeContents in class ucar.unidata.idv.control.DisplayControlImpl
      Returns:
      User interface contents
    • doRemove

      public void doRemove() throws VisADException, RemoteException
      Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
      Remove this DisplayControl. Tells the ControlContext to removeDisplayControl. Removes all Displayable-s from their ViewManager-s, remove this object from its Sharable group, and sets the visibility of the dialog window to false.
      Specified by:
      doRemove in interface ucar.unidata.idv.DisplayControl
      Overrides:
      doRemove in class ucar.unidata.idv.control.DisplayControlImpl
      Throws:
      VisADException
      RemoteException
    • clearViewManagers

      protected void clearViewManagers()
      Runs through the list of ViewManager-s and tells each to destroy. Creates a new viewManagers list.
      Overrides:
      clearViewManagers in class ucar.unidata.idv.control.DisplayControlImpl
    • doMakeWidgetComponent

      Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
      A helper method for constructing the ui. This fills up a list of ControlWidget (e.g., ColorTableWidget) and creates a gridded ui with them.
      Overrides:
      doMakeWidgetComponent in class ucar.unidata.idv.control.DisplayControlImpl
      Returns:
      The ui for the widgets
    • getMultiSpectralDisplay

      Specified by:
      getMultiSpectralDisplay in class HydraControl
    • updateImage

      public boolean updateImage(float newChan)
    • handleChannelChange

      public void handleChannelChange(float newChan)
      Overrides:
      handleChannelChange in class HydraControl
    • handleChannelChange

      public void handleChannelChange(float newChan, boolean update)
    • getDisplayTab

    • writeToCSV

      public void writeToCSV()
      Write multispectral data to a CSV file.

      Now with file choosers!

    • createCsvDialog

      Create the dialog used to show our CSV export progress.

      Be aware that the dialog will not be visible until execute is called.

      The MultiSpectralControl.CsvDialog will automatically close upon completion or the user cancelling.

      Parameters:
      task - CSV export task. Cannot be null.
    • getHistogramTabComponent

    • updateHistogramTab

      private void updateHistogramTab()
    • resetColorTable

      public void resetColorTable()
    • contrastStretch

      protected void contrastStretch(double low, double high)
    • getBlackBackground

      public boolean getBlackBackground()
    • setBlackBackground

      public void setBlackBackground(boolean value)