diff options
Diffstat (limited to 'bsie/extractor/image')
-rw-r--r-- | bsie/extractor/image/colors_spatial.py | 7 | ||||
-rw-r--r-- | bsie/extractor/image/face/detect.py | 9 | ||||
-rw-r--r-- | bsie/extractor/image/face/identify.py | 11 | ||||
-rw-r--r-- | bsie/extractor/image/iptc.py | 13 | ||||
-rw-r--r-- | bsie/extractor/image/photometrics.py | 7 |
5 files changed, 26 insertions, 21 deletions
diff --git a/bsie/extractor/image/colors_spatial.py b/bsie/extractor/image/colors_spatial.py index e6661a9..bccefc1 100644 --- a/bsie/extractor/image/colors_spatial.py +++ b/bsie/extractor/image/colors_spatial.py @@ -8,7 +8,8 @@ import PIL.Image import numpy as np # bsie imports -from bsie.utils import bsfs, node, ns +from bsie.matcher import nodes +from bsie.utils import bsfs, ns # inner-module imports from .. import base @@ -115,10 +116,10 @@ class ColorsSpatial(base.Extractor): def extract( self, - subject: node.Node, + subject: nodes.Entity, content: PIL.Image.Image, principals: typing.Iterable[bsfs.schema.Predicate], - ) -> typing.Iterator[typing.Tuple[node.Node, bsfs.schema.Predicate, typing.Any]]: + ) -> typing.Iterator[typing.Tuple[nodes.Node, bsfs.schema.Predicate, typing.Any]]: # check principals if self.schema.predicate(self._predicate_name) not in principals: # nothing to do; abort diff --git a/bsie/extractor/image/face/detect.py b/bsie/extractor/image/face/detect.py index 94e3a61..51d5659 100644 --- a/bsie/extractor/image/face/detect.py +++ b/bsie/extractor/image/face/detect.py @@ -7,7 +7,8 @@ import torch from facenet_pytorch import MTCNN, InceptionResnetV1 # bsie imports -from bsie.utils import bsfs, node, ns +from bsie.matcher import nodes +from bsie.utils import bsfs, ns # inner-module imports from ... import base @@ -72,17 +73,17 @@ class FaceDetect(base.Extractor): def extract( self, - subject: node.Node, + subject: nodes.Entity, content: dict, principals: typing.Iterable[bsfs.schema.Predicate], - ) -> typing.Iterator[typing.Tuple[node.Node, bsfs.schema.Predicate, typing.Any]]: + ) -> typing.Iterator[typing.Tuple[nodes.Node, bsfs.schema.Predicate, typing.Any]]: # check principals if self.schema.predicate(ns.bse.face) not in principals: # nothing to do; abort return for face in content: - fnode = node.Node(ns.bsn.Face, ucid=face['ucid']) + fnode = nodes.Face(ucid=face['ucid']) yield subject, ns.bse.face, fnode yield fnode, bsf.x, face['x'] yield fnode, bsf.y, face['y'] diff --git a/bsie/extractor/image/face/identify.py b/bsie/extractor/image/face/identify.py index 152f113..44a75c4 100644 --- a/bsie/extractor/image/face/identify.py +++ b/bsie/extractor/image/face/identify.py @@ -9,7 +9,8 @@ import numpy as np import torch # bsie imports -from bsie.utils import bsfs, node, ns +from bsie.matcher import nodes +from bsie.utils import bsfs, ns # inner-module imports from ... import base @@ -142,10 +143,10 @@ class FaceIdentify(base.Extractor): def extract( self, - subject: node.Node, + subject: nodes.Entity, content: typing.Any, principals: typing.Iterable[bsfs.schema.Predicate], - ) -> typing.Iterator[typing.Tuple[node.Node, bsfs.schema.Predicate, typing.Any]]: + ) -> typing.Iterator[typing.Tuple[nodes.Node, bsfs.schema.Predicate, typing.Any]]: # check principals #if self.schema.predicate(bsf.depicts) not in principals: if self.schema.predicate(ns.bse.face) not in principals: @@ -164,8 +165,8 @@ class FaceIdentify(base.Extractor): lbl = bsfs.URI(self._id2name[idx]) # label (uri) of nearest neighbour if lbl == self._restklasse: # suppress continue - pnode = node.Node(ns.bsn.Person, uri=lbl) - fnode = node.Node(ns.bsn.Face, ucid=face['ucid']) + pnode = nodes.Person(uri=lbl) + fnode = nodes.Face(ucid=face['ucid']) # emit triple yield fnode, self.schema.predicate(bsf.depicts), pnode # FIXME: emit subject -> face -> fnode? diff --git a/bsie/extractor/image/iptc.py b/bsie/extractor/image/iptc.py index 195eff7..0c03539 100644 --- a/bsie/extractor/image/iptc.py +++ b/bsie/extractor/image/iptc.py @@ -3,7 +3,8 @@ import typing # bsie imports -from bsie.utils import bsfs, node, ns +from bsie.matcher import nodes +from bsie.utils import bsfs, ns # inner-module imports from .. import base @@ -41,10 +42,10 @@ class Iptc(base.Extractor): def extract( self, - subject: node.Node, + subject: nodes.Entity, content: dict, principals: typing.Iterable[bsfs.schema.Predicate], - ) -> typing.Iterator[typing.Tuple[node.Node, bsfs.schema.Predicate, typing.Any]]: + ) -> typing.Iterator[typing.Tuple[nodes.Node, bsfs.schema.Predicate, typing.Any]]: for pred in principals: # find callback clbk = self._callmap.get(pred) @@ -55,13 +56,13 @@ class Iptc(base.Extractor): def _keywords( self, - subject: node.Node, + subject: nodes.Entity, content: dict, - ) -> typing.Iterator[typing.Tuple[node.Node, bsfs.schema.Predicate, typing.Any]]: + ) -> typing.Iterator[typing.Tuple[nodes.Node, bsfs.schema.Predicate, typing.Any]]: if 'Iptc.Application2.Keywords' not in content: return for keyword in content['Iptc.Application2.Keywords']: - tag = node.Node(ns.bsn.Tag, label=keyword) + tag = nodes.Tag(label=keyword) yield subject, self.schema.predicate(ns.bse.tag), tag yield tag, self.schema.predicate(ns.bst.label), keyword diff --git a/bsie/extractor/image/photometrics.py b/bsie/extractor/image/photometrics.py index 42eb3c8..4579b54 100644 --- a/bsie/extractor/image/photometrics.py +++ b/bsie/extractor/image/photometrics.py @@ -4,7 +4,8 @@ from fractions import Fraction import typing # bsie imports -from bsie.utils import bsfs, node, ns +from bsie.matcher import nodes +from bsie.utils import bsfs, ns # inner-module imports from .. import base @@ -107,10 +108,10 @@ class Exif(base.Extractor): def extract( self, - subject: node.Node, + subject: nodes.Entity, content: dict, principals: typing.Iterable[bsfs.schema.Predicate], - ) -> typing.Iterator[typing.Tuple[node.Node, bsfs.schema.Predicate, typing.Any]]: + ) -> typing.Iterator[typing.Tuple[nodes.Node, bsfs.schema.Predicate, typing.Any]]: for pred in principals: # find callback clbk = self._callmap.get(pred) |