• Home
  • Manual
  • API Documentation
Search Results for

    Show / Hide Table of Contents
      • ABRFilterExample
      • ABRQueryExample
      • ABRSpaceConvertExample
      • BackgroundColor
      • DebugDraw
      • DisableABRLights
      • GenerateDataAndUseStyle
      • Grabbable
      • Grabber
      • HideShowMenu
      • LightEditor
      • LightEditorTile
      • PerformanceEnhancer
      • SVScreenshot
    • IVLab.ABREngine
      • ABRConfig
      • ABRConfig.Consts
      • ABRConfig.GroupToDataMatrixOverrideFields
      • ABRDataContainer
      • ABREngine
      • ABREngine.StateChangeDelegate
      • ABRInputAttribute
      • ABRInputGenre
      • ABRInputIndexerModule
      • ABRLight
      • ABRLightManager
      • ABRPlateType
      • ABRServer
      • ABRStateParser
      • AnglePrimitive
      • BooleanPrimitive
      • ColormapVisAsset
      • DataImpression
      • DataImpressionGroup
      • DataManager
      • DataPath
      • DataPath.DataPathType
      • DataPoint
      • DataRange<T>
      • DataTopology
      • Dataset
      • FilePathVisAssetFetcher
      • FloatPrimitive
      • GlyphGradient
      • GlyphVisAsset
      • GradientBlendMap
      • HttpDataLoader
      • HttpStateFileLoader
      • HttpVisAssetFetcher
      • IABRInput
      • IABRStateLoader
      • IColormapVisAsset
      • ICoordSpaceConverter
      • IDataAccessor
      • IDataImpressionRenderInfo
      • IDataLoader
      • IDataVariable<T>
      • IFloatPrimitive
      • IGlyphVisAsset
      • IHasDataset
      • IHasKeyData
      • IIntegerPrimitive
      • IKeyDataRenderInfo
      • ILineTextureVisAsset
      • IPrimitive
      • IPrimitiveGradient
      • ISurfaceTextureVisAsset
      • ITextureGradient
      • IVisAsset
      • IVisAssetFetcher
      • IVisAssetGradient<T>
      • IVolumeCoordSpaceConverter
      • IVolumeDataAccessor
      • InstancedMeshRenderer
      • InstancedSurfaceDataImpression
      • IntegerPrimitive
      • KeyData
      • LengthPrimitive
      • LineKeyData
      • LineTextureGradient
      • LineTextureVisAsset
      • MediaDataLoader
      • Notifier
      • PathStateFileLoader
      • PercentPrimitive
      • PointKeyData
      • PrimitiveGradient
      • RawABRInput
      • RawDataset
      • RawDataset.BinaryData
      • RawDataset.JsonHeader
      • RawDatasetAdapter
      • RawPrimitiveGradient
      • RawVisAssetGradient
      • RenderHints
      • ResourceStateFileLoader
      • ResourceVisAssetFetcher
      • ResourcesDataLoader
      • ScalarDataVariable
      • SerializableFloatArray
      • SerializableVectorArray
      • SimpleGlyphDataImpression
      • SimpleLineDataImpression
      • SimpleLineRenderInfo
      • SimpleSurfaceDataImpression
      • SimpleSurfaceRenderInfo
      • SimpleVolumeDataImpression
      • StateLocalVisAssetFetcher
      • SurfaceKeyData
      • SurfaceTextureGradient
      • SurfaceTextureVisAsset
      • TextStateFileLoader
      • TypeExtentions
      • UnityObjectSerializer
      • UpdateLevel
      • VectorDataVariable
      • VisAsset
      • VisAssetGradient
      • VisAssetLoader
      • VisAssetManager
      • VolumeKeyData
    • IVLab.ABREngine.Examples
      • CSVToPoints
      • CreateDataset
      • InteractiveState
      • MtStHelensData
      • MtStHelensVisDriver
    • IVLab.ABREngine.ExtensionMethods
      • DirectoryInfoExtensions
      • ScriptableObjectExtensions
    • IVLab.ABREngine.Legends
      • ABRLegend
      • ABRLegendEntry
      • ABRLegendEntry.Label
      • ABRLegendGeometry

    Class SimpleVolumeDataImpression

    A "Volumes" data impression that uses a user-defined transfer (opacity) map and a colormap to show volumetric data.

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    DataImpression
    SimpleVolumeDataImpression
    Implements
    IHasDataset
    IHasKeyData
    ICoordSpaceConverter
    Namespace: IVLab.ABREngine
    Assembly: IVLab.ABREngine.Runtime.dll
    Syntax
    [ABRPlateType("Volumes")]
    public class SimpleVolumeDataImpression : DataImpression, IHasDataset, IHasKeyData, ICoordSpaceConverter
    Examples

    An example of creating a single volume data impression and setting its colormap and opacity map could be:

    SimpleVolumeDataImpression gi = new SimpleVolumeDataImpression();
    gi.keyData = volume;
    gi.colorVariable = yAxis;
    gi.colormap = ABREngine.Instance.VisAssets.GetDefault<ColormapVisAsset>() as ColormapVisAsset;
    gi.opacityMap = PrimitiveGradient.Default();
    ABREngine.Instance.RegisterDataImpression(gi);

    Constructors

    | Improve this Doc View Source

    SimpleVolumeDataImpression()

    A "Volumes" data impression that uses a user-defined transfer (opacity) map and a colormap to show volumetric data.

    Declaration
    protected SimpleVolumeDataImpression()
    Examples

    An example of creating a single volume data impression and setting its colormap and opacity map could be:

    SimpleVolumeDataImpression gi = new SimpleVolumeDataImpression();
    gi.keyData = volume;
    gi.colorVariable = yAxis;
    gi.colormap = ABREngine.Instance.VisAssets.GetDefault<ColormapVisAsset>() as ColormapVisAsset;
    gi.opacityMap = PrimitiveGradient.Default();
    ABREngine.Instance.RegisterDataImpression(gi);

    Fields

    | Improve this Doc View Source

    LayerName

    Define the layer name for this Data Impression

    Declaration
    protected const string LayerName = "ABR_Volume"
    Field Value
    Type Description
    string
    Remarks
    Warning

    New Data Impressions should define a const string "LayerName" which corresponds to a Layer in Unity's Layer manager.

    | Improve this Doc View Source

    colorVariable

    Scalar color variable applied to each voxel of this data impression

    • affects both the colormap and the opacitymap.
    Declaration
    [ABRInput("Color Variable", UpdateLevel.Geometry)]
    public ScalarDataVariable colorVariable
    Field Value
    Type Description
    ScalarDataVariable
    | Improve this Doc View Source

    colormap

    Colormap applied to the colorVariable. This example switches between a linear white-to-green colormap and a linear black-to-white colormap.

    Declaration
    [ABRInput("Colormap", UpdateLevel.Style)]
    public IColormapVisAsset colormap
    Field Value
    Type Description
    IColormapVisAsset
    | Improve this Doc View Source

    keyData

    A "Volumes" data impression that uses a user-defined transfer (opacity) map and a colormap to show volumetric data.

    Declaration
    [ABRInput("Key Data", UpdateLevel.Geometry)]
    public KeyData keyData
    Field Value
    Type Description
    KeyData
    Examples

    An example of creating a single volume data impression and setting its colormap and opacity map could be:

    SimpleVolumeDataImpression gi = new SimpleVolumeDataImpression();
    gi.keyData = volume;
    gi.colorVariable = yAxis;
    gi.colormap = ABREngine.Instance.VisAssets.GetDefault<ColormapVisAsset>() as ColormapVisAsset;
    gi.opacityMap = PrimitiveGradient.Default();
    ABREngine.Instance.RegisterDataImpression(gi);
    | Improve this Doc View Source

    nanColor

    Override the color used for NaN values in this data impression. If not supplied, will use the defaultNanColor.

    Declaration
    [ABRInput("NaN Color", UpdateLevel.Style)]
    public IColormapVisAsset nanColor
    Field Value
    Type Description
    IColormapVisAsset
    | Improve this Doc View Source

    nanOpacity

    Override the color used for NaN values in this data impression. If not supplied, will be 0% opacity.

    Declaration
    public PercentPrimitive nanOpacity
    Field Value
    Type Description
    PercentPrimitive
    | Improve this Doc View Source

    opacitymap

    The real power of volume rendering is in the opacity map, or transfer function.

    For example, with a "spike" transfer function changing over time like this, we can achieve a sort of contour or isosurface scanning through the volume.

    Declaration
    [ABRInput("Opacitymap", UpdateLevel.Style)]
    public PrimitiveGradient opacitymap
    Field Value
    Type Description
    PrimitiveGradient
    | Improve this Doc View Source

    volumeBrightness

    Brightness multiplier for the entire volume, irrespective of lighting.

    Declaration
    [ABRInput("Volume Brightness", UpdateLevel.Style)]
    public PercentPrimitive volumeBrightness
    Field Value
    Type Description
    PercentPrimitive
    | Improve this Doc View Source

    volumeLighting

    Should the current scene's lighting affect the volume or not?

    Declaration
    [ABRInput("Volume Lighting", UpdateLevel.Style)]
    public BooleanPrimitive volumeLighting
    Field Value
    Type Description
    BooleanPrimitive
    Remarks

    Lighting is often useful for understanding 3D structures and creating atmospheric effects, but may not be useful for nitty-gritty data interpretation.

    | Improve this Doc View Source

    volumeOpacityMultiplier

    Opacity multiplier for the entire volume; gets multiplied on top of the opacitymap.

    Declaration
    [ABRInput("Volume Opacity Multiplier", UpdateLevel.Style)]
    public PercentPrimitive volumeOpacityMultiplier
    Field Value
    Type Description
    PercentPrimitive

    Properties

    | Improve this Doc View Source

    MaterialNames

    Name of the material to use to render this DataImpression

    Declaration
    protected override string[] MaterialNames { get; }
    Property Value
    Type Description
    string[]
    Overrides
    DataImpression.MaterialNames

    Methods

    | Improve this Doc View Source

    ComputeGeometry()

    RENDERING STEP 1. Populate rendering information (Geometry) for the DataImpression. This is triggered by the DataImpressionGroup when an Geometry happens. This step is generally expensive.

    Declaration
    public override void ComputeGeometry()
    Overrides
    DataImpression.ComputeGeometry()
    | Improve this Doc View Source

    GetDataset()

    By default, there's no dataset. DataImpressions should only have one dataset, and it's up to them individually to enforce that they correctly implement this.

    Declaration
    public override Dataset GetDataset()
    Returns
    Type Description
    Dataset
    Overrides
    DataImpression.GetDataset()
    | Improve this Doc View Source

    GetKeyData()

    By default, there's no data. DataImpressions should only have one KeyData, and it's up to them individually to enforce that they correctly implement this.

    Declaration
    public override KeyData GetKeyData()
    Returns
    Type Description
    KeyData
    Overrides
    DataImpression.GetKeyData()
    | Improve this Doc View Source

    GetKeyDataTopology()

    By default, there's no data. DataImpressions should only have one KeyData, and it's up to them individually to enforce that they correctly implement this.

    Declaration
    public override DataTopology GetKeyDataTopology()
    Returns
    Type Description
    DataTopology
    Overrides
    DataImpression.GetKeyDataTopology()
    | Improve this Doc View Source

    SetKeyData(KeyData)

    By default, there's no data. DataImpressions should only have one KeyData, and it's up to them individually to enforce that they correctly implement this.

    Declaration
    public override void SetKeyData(KeyData kd)
    Parameters
    Type Name Description
    KeyData kd
    Overrides
    DataImpression.SetKeyData(KeyData)
    | Improve this Doc View Source

    SetupGameObject()

    RENDERING STEP 2. Take geometric rendering information computed in ComputeGeometry() and sets up proper game object(s) and components for this Data Impression. Transfers geometry into Unity format (e.g. a Mesh). No geometric computations should happen in this method, and it should generally be lightweight.

    Declaration
    public override void SetupGameObject()
    Overrides
    DataImpression.SetupGameObject()
    | Improve this Doc View Source

    UpdateStyling()

    RENDERING STEP 3. Update the "styling" of an impression by sending each styling parameter to the shader. Occasionally will need to set per-vertex items like transforms. This method should generally be lightweight.

    Declaration
    public override void UpdateStyling()
    Overrides
    DataImpression.UpdateStyling()
    | Improve this Doc View Source

    UpdateVisibility()

    RENDERING STEP 4. Update the visibility of an impression (hidden or shown)

    Declaration
    public override void UpdateVisibility()
    Overrides
    DataImpression.UpdateVisibility()

    Implements

    IHasDataset
    IHasKeyData
    ICoordSpaceConverter
    • Improve this Doc
    • View Source
    In This Article
    Back to top Interactive Visualization Lab
    Copyright 2023, Regents of the University of Minnesota, All Rights Reserved