Package mgui.geometry.volume
Class VolumeEngine
java.lang.Object
mgui.geometry.volume.VolumeEngine
- All Implemented Interfaces:
AttributeObject
,NamedObject
,Engine
public class VolumeEngine extends java.lang.Object implements Engine
Engine to perform built-in operations on volumes.
- Since:
- 1.0
- Version:
- 1.0
- Author:
- Andrew Reid
-
Field Summary
Fields Modifier and Type Field Description protected java.util.HashMap<java.lang.String,AttributeList>
attributes
-
Constructor Summary
Constructors Constructor Description VolumeEngine()
-
Method Summary
Modifier and Type Method Description boolean
callMethod(java.lang.String operation, java.lang.String method, java.util.ArrayList<?> params, ProgressUpdater progress)
Calls the specified operation/method pair.boolean
callMethod(java.lang.String operation, java.lang.String method, ProgressUpdater progress)
Calls the specified operation/method pair.Attribute<?>
getAttribute(java.lang.String attrName)
Returns a specific attribute for this object.AttributeList
getAttributes()
Returns the list of current attributes for this object.AttributeList
getAttributes(java.lang.String key)
Returns the attributes corresponding tokey
, wherekey
is of the form "operation (method)".AttributeList
getAttributes(java.lang.String operation, java.lang.String method)
Returns the attributes list corresponding to theoperation
andmethod
.java.lang.Object
getAttributeValue(java.lang.String name)
Gets the value of attributename
, ornull
if it does not exist.boolean
getBlobsFromVolume(Volume3DInt volume)
Extract blobs from a thresholded volumeboolean
getIsosurfaceFromVolume(Volume3DInt volume)
Creates an isosurface at a specified isovalue involume
.java.util.ArrayList<java.lang.String>
getMethods(java.lang.String operation)
Returns a list of methods implementing a particularoperation
.java.lang.String
getName()
Gets the name for this object.java.util.ArrayList<java.lang.String>
getOperations()
Returns a list of the operations available for thisEngine
.boolean
mapVolumeToVolume(Volume3DInt source, Volume3DInt target, java.lang.String method, ProgressUpdater progress_bar)
Maps a column ofsource
to a column oftarget
, given the attributes corresponding tomethod
.void
setAttribute(java.lang.String attrName, java.lang.Object newValue)
Sets a value for a specific attribute.void
setAttributes(AttributeList thisList)
Sets the list of attributes for this object.void
setName(java.lang.String name)
Sets the name for this object.boolean
smoothVolume(Volume3DInt volume, java.lang.String method, ProgressUpdater progress_bar)
Geometrically smooths values fromsource_column
involume
with the smoothing kernel specified bymethod
.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
attributes
-
-
Constructor Details
-
VolumeEngine
public VolumeEngine()
-
-
Method Details
-
getAttributes
Returns the attributes corresponding tokey
, wherekey
is of the form "operation (method)".- Parameters:
key
-- Returns:
-
getAttributes
Description copied from interface:Engine
Returns the attributes list corresponding to theoperation
andmethod
.- Specified by:
getAttributes
in interfaceEngine
- Returns:
- The corresponding attributes, or
null
if no such combination ofoperation
/method
exists.
-
getOperations
public java.util.ArrayList<java.lang.String> getOperations()Description copied from interface:Engine
Returns a list of the operations available for thisEngine
. Operations signify a general operation, which can be implemented through any number of "methods".- Specified by:
getOperations
in interfaceEngine
- Returns:
-
getMethods
public java.util.ArrayList<java.lang.String> getMethods(java.lang.String operation)Description copied from interface:Engine
Returns a list of methods implementing a particularoperation
.- Specified by:
getMethods
in interfaceEngine
- Returns:
-
callMethod
public boolean callMethod(java.lang.String operation, java.lang.String method, ProgressUpdater progress)Description copied from interface:Engine
Calls the specified operation/method pair. Returnstrue
if the operation was successful.- Specified by:
callMethod
in interfaceEngine
- Parameters:
operation
- Operation to perform.method
- Method with which to perform operation. Can benull
if this operation has no sub-methodsprogress
- Optional progress updater (can benull
)- Returns:
-
callMethod
public boolean callMethod(java.lang.String operation, java.lang.String method, java.util.ArrayList<?> params, ProgressUpdater progress)Description copied from interface:Engine
Calls the specified operation/method pair. Returnstrue
if the operation was successful.- Specified by:
callMethod
in interfaceEngine
- Parameters:
operation
- Operation to perform.method
- Method with which to perform operation. Can benull
if this operation has no sub-methodsparams
- A list of additional parameters (not in the attributes) for this methodprogress
- Optional progress updater (can benull
)- Returns:
-
mapVolumeToVolume
public boolean mapVolumeToVolume(Volume3DInt source, Volume3DInt target, java.lang.String method, ProgressUpdater progress_bar)Maps a column ofsource
to a column oftarget
, given the attributes corresponding tomethod
.- Parameters:
source
-target
-method
-progress_bar
-- Returns:
-
smoothVolume
public boolean smoothVolume(Volume3DInt volume, java.lang.String method, ProgressUpdater progress_bar)Geometrically smooths values fromsource_column
involume
with the smoothing kernel specified bymethod
. Writes the results totarget_column
. Iftarget_column
doesn't exist, it will be created with the same data type assource_column
. If it exists, it will maintain its current data type and its values will be overwritten.target_column
can be the same assource_column
.Valid methods are:
- 'Smooth Volume (Isotropic Gaussian)' -
- Parameters:
volume
-method
-progress_bar
-- Returns:
true
if successful
-
getBlobsFromVolume
Extract blobs from a thresholded volume- Parameters:
volume
-- Returns:
-
getIsosurfaceFromVolume
Creates an isosurface at a specified isovalue involume
. Creates a new surface and stores it inshape_set
.- Parameters:
volume
-- Returns:
-
getAttributes
Description copied from interface:AttributeObject
Returns the list of current attributes for this object.- Specified by:
getAttributes
in interfaceAttributeObject
- Returns:
-
getAttribute
Description copied from interface:AttributeObject
Returns a specific attribute for this object.- Specified by:
getAttribute
in interfaceAttributeObject
- Returns:
-
setAttributes
Description copied from interface:AttributeObject
Sets the list of attributes for this object.- Specified by:
setAttributes
in interfaceAttributeObject
-
getAttributeValue
public java.lang.Object getAttributeValue(java.lang.String name)Description copied from interface:AttributeObject
Gets the value of attributename
, ornull
if it does not exist.- Specified by:
getAttributeValue
in interfaceAttributeObject
- Parameters:
name
- Name of the attribute- Returns:
- the value of attribute
name
, ornull
if it does not exist
-
setAttribute
public void setAttribute(java.lang.String attrName, java.lang.Object newValue)Description copied from interface:AttributeObject
Sets a value for a specific attribute.- Specified by:
setAttribute
in interfaceAttributeObject
-
getName
public java.lang.String getName()Description copied from interface:NamedObject
Gets the name for this object.- Specified by:
getName
in interfaceNamedObject
- Returns:
-
setName
public void setName(java.lang.String name)Description copied from interface:NamedObject
Sets the name for this object.- Specified by:
setName
in interfaceNamedObject
-