Declarative Services (DS) is part of
the OSGi specification. The specification has been implemented by
Eclipse's Equinox project. The DS specification is typically implemented
as one or more bundles, separately from the core OSGi framework, which
is why it appears to be an Eclipse/Equinox component. You can use
Equinox's DS implementation with other OSGi framework implementations.
Your code registers an OSGi service
using the BundleContext class' programmatic APIs. OSGi services can
also be registered using the DS by describing the services via a "component"
in XML. Whether you register an OSGi service via the BundleContext
class' programmatic APIs, or via DS makes no difference. You could
very easily take your IImageSegmentation object an register it as a service
using DS. A service is a service no matter how you register it with
the OSGi Service Registry.