trait FeatureExtractor extends (PreprocessedImage, Point[_3D], TriangleMesh[_3D], PointId) => Option[DenseVector[Double]] with HasIOMetadata
- Alphabetic
- By Inheritance
- FeatureExtractor
- HasIOMetadata
- Function4
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def apply(image: PreprocessedImage, featurePoint: Point[_3D], mesh: TriangleMesh[_3D], profilePointId: PointId): Option[DenseVector[Double]]
Actually extracts features from an image.
Actually extracts features from an image. The image and featurePoint arguments are arguably necessary for all feature extractor implementations. The additional two parameters (mesh and point id) are passed in because the feature extractor might need that information. For instance, the NormalDirectionFeatureExtractor needs that information to determine the "spatial orientation" of the line on which the image points to be examined have to lie.
- image
the image to extract features in
- featurePoint
the point in space to extract features at
- mesh
a mesh instance in correspondence with the image
- profilePointId
a point id on the mesh, corresponding to a profiled point id.
- Definition Classes
- FeatureExtractor → Function4
- abstract def featurePoints(mesh: TriangleMesh[_3D], profilePointId: PointId, featurePoint: Point[_3D]): Option[IndexedSeq[Point[_3D]]]
Return the points at which feature components are extracted for a given mesh and point.
Return the points at which feature components are extracted for a given mesh and point. This is mainly intended for visualization, and only really makes sense if there exists a one-to-one correspondence between such points and the actual feature components returned by the
apply()
.In other words: if a particular implementation uses a method for determining features where there is no correspondence between the feature components and particular points, the method should return None. Otherwise, it should return Some(IndexedSeq(...)), where the length of the sequence matches the length of the feature vector.
For the difference between profilePointId and featurePoint, see the documentation of the apply method.
- mesh
the mesh to determine the feature points for
- profilePointId
the profile point id to determine the feature points for
- featurePoint
the actual point in space where the features are to be extracted
- returns
a sequence of points, or None if there is no sensible correspondence between feature and points, as outlined above.
- abstract def ioMetadata: IOMetadata
- Definition Classes
- HasIOMetadata
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def curried: (PreprocessedImage) => (Point[_3D]) => (TriangleMesh[_3D]) => (PointId) => Option[DenseVector[Double]]
- Definition Classes
- Function4
- Annotations
- @unspecialized()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- Function4 → AnyRef → Any
- def tupled: ((PreprocessedImage, Point[_3D], TriangleMesh[_3D], PointId)) => Option[DenseVector[Double]]
- Definition Classes
- Function4
- Annotations
- @unspecialized()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()