Switch to side-by-side view

--- a
+++ b/ants/ops/hessian_objectness.py
@@ -0,0 +1,79 @@
+__all__ = ["hessian_objectness"]
+
+import ants
+from ants.decorators import image_method
+from ants.internal import get_lib_fn
+
+@image_method
+def hessian_objectness(image,
+                       object_dimension=1,
+                       is_bright_object=True,
+                       sigma_min=0.1,
+                       sigma_max=10,
+                       number_of_sigma_steps=10,
+                       use_sigma_logarithmic_spacing=True,
+                       alpha=0.5,
+                       beta=0.5,
+                       gamma=5.0,
+                       set_scale_objectness_measure=True):
+    """
+
+    Interface to ITK filter.  Based on the paper by Westin et al., "Geometrical 
+    Diffusion Measures for MRI from Tensor Basis Analysis" and Luca Antiga's 
+    Insight Journal paper http://hdl.handle.net/1926/576.
+
+    Arguments
+    ---------
+    image : ANTsImage
+        scalar image.
+
+    object_dimension : unsigned int
+        0: 'sphere', 1: 'line', or 2: 'plane'.
+
+    is_bright_object : boolean
+        Set 'true' for enhancing bright objects and 'false' for dark objects.
+
+    sigma_min : float
+        Define scale domain for feature extraction.
+
+    sigma_max : float
+        Define scale domain for feature extraction.
+
+    number_of_sigma_steps : unsigned int
+        Define number of samples for scale space.
+        
+    use_sigma_logarithmic_spacing : boolean
+        Define sample spacing the for scale space.
+
+    alpha: float 
+        Hessian filter parameter.
+          
+    beta: float 
+        Hessian filter parameter.
+       
+    gamma: float 
+        Hessian filter parameter.
+
+    set_scale_objectness_measure: boolean
+        ...     
+
+    Returns
+    -------
+    ANTsImage
+
+    Example
+    -------
+    >>> import ants
+    >>> image = ants.image_read(ants.get_ants_data('r16'))
+    >>> hessian_object_image = ants.hessian_objectness(image)
+    """
+
+    image_dimension = image.dimension
+
+    libfn = get_lib_fn('hessianObjectnessF%i' % image_dimension)
+    hessian = libfn(image.pointer, object_dimension, is_bright_object, sigma_min,
+                                 sigma_max, number_of_sigma_steps,
+                                 use_sigma_logarithmic_spacing, alpha,
+                                 beta, gamma, set_scale_objectness_measure)
+    output_image = ants.from_pointer(hessian).clone('float')
+    return output_image