summaryrefslogtreecommitdiff
path: root/megapixels/app/settings/paths.py
diff options
context:
space:
mode:
authoradamhrv <adam@ahprojects.com>2018-12-14 17:22:57 +0100
committeradamhrv <adam@ahprojects.com>2018-12-14 17:22:57 +0100
commit1690cfb4cc7b7277afca4016c295927cc4f7fafb (patch)
treefa9130c2eb0f24f71cf3cede2477bf565d27433c /megapixels/app/settings/paths.py
parent5891e2f13ae9dfead0e1794c399e5ff813e694d3 (diff)
add pose filter
Diffstat (limited to 'megapixels/app/settings/paths.py')
-rw-r--r--megapixels/app/settings/paths.py163
1 files changed, 163 insertions, 0 deletions
diff --git a/megapixels/app/settings/paths.py b/megapixels/app/settings/paths.py
new file mode 100644
index 00000000..bc1333ba
--- /dev/null
+++ b/megapixels/app/settings/paths.py
@@ -0,0 +1,163 @@
+import os
+from os.path import join
+import logging
+
+from vframe.settings import vframe_cfg as vcfg
+from vframe.settings import types
+
+class Paths:
+
+ # class properties
+ MAPPINGS_DATE = vcfg.SUGARCUBE_DATES[0]
+ DIR_APP_VFRAME = 'apps/vframe/'
+ DIR_APP_SA = 'apps/syrianarchive'
+ DIR_MODELS_VFRAME = join(DIR_APP_VFRAME, 'models')
+ DIR_DARKNET = join(DIR_MODELS_VFRAME, 'darknet/pjreddie')
+ DIR_DARKNET_VFRAME = join(DIR_MODELS_VFRAME, 'darknet/vframe')
+ DIR_MEDIA = join(DIR_APP_SA, 'media')
+ DIR_METADATA = join(DIR_APP_SA, 'metadata')
+ DIR_RECORDS = join(DIR_APP_SA, 'records')
+ DIR_REPORTS = join(DIR_APP_SA, 'reports')
+
+
+ def __init__(self):
+ pass
+
+ @classmethod
+ def DataStorePath(cls, data_store=types.DataStore.HDD):
+ return '/data_store_{}'.format(data_store.name.lower())
+
+ # -------------------------------------------------------------------------------
+ # Darknet Paths
+
+ @classmethod
+ def darknet_classes(cls, data_store=types.DataStore.HDD, opt_net=types.DetectorNet.COCO):
+ if opt_net == types.DetectorNet.COCO:
+ fp = join(cls.DIR_DARKNET, 'data', 'coco.names')
+ elif opt_net == types.DetectorNet.COCO_SPP:
+ fp = join(cls.DIR_DARKNET, 'data', 'coco.names')
+ elif opt_net == types.DetectorNet.VOC:
+ fp = join(cls.DIR_DARKNET, 'data', 'voc.names')
+ elif opt_net == types.DetectorNet.OPENIMAGES:
+ fp = join(cls.DIR_DARKNET, 'data', 'openimages.names')
+ elif opt_net == types.DetectorNet.SUBMUNITION:
+ fp = join(cls.DIR_DARKNET_VFRAME, 'munitions_09b', 'classes.txt')
+ return join(cls.DataStorePath(data_store), fp)
+
+ @classmethod
+ def darknet_data(cls, data_store=types.DataStore.HDD, opt_net=types.DetectorNet.COCO, as_bytes=True):
+ if opt_net == types.DetectorNet.COCO:
+ fp = join(cls.DIR_DARKNET, 'cfg', 'coco.data')
+ elif opt_net == types.DetectorNet.COCO_SPP:
+ fp = join(cls.DIR_DARKNET, 'cfg', 'coco.data')
+ elif opt_net == types.DetectorNet.VOC:
+ fp = join(cls.DIR_DARKNET, 'cfg', 'voc.data')
+ elif opt_net == types.DetectorNet.OPENIMAGES:
+ fp = join(cls.DIR_DARKNET, 'cfg', 'openimages.data')
+ elif opt_net == types.DetectorNet.SUBMUNITION:
+ fp = join(cls.DIR_DARKNET_VFRAME, 'munitions_09b', 'meta.data')
+ fp = join(cls.DataStorePath(data_store), fp)
+ if as_bytes:
+ return bytes(fp, encoding="utf-8")
+ else:
+ return fp
+
+
+ @classmethod
+ def darknet_cfg(cls, data_store=types.DataStore.HDD, opt_net=types.DetectorNet.COCO, as_bytes=True):
+ if opt_net == types.DetectorNet.COCO:
+ fp = join(cls.DIR_DARKNET, 'cfg', 'yolov3.cfg')
+ elif opt_net == types.DetectorNet.COCO_SPP:
+ fp = join(cls.DIR_DARKNET, 'cfg', 'yolov3-spp.cfg')
+ elif opt_net == types.DetectorNet.VOC:
+ fp = join(cls.DIR_DARKNET, 'cfg', 'yolov3-voc.cfg')
+ elif opt_net == types.DetectorNet.OPENIMAGES:
+ fp = join(cls.DIR_DARKNET, 'cfg', 'yolov3-openimages.cfg')
+ elif opt_net == types.DetectorNet.SUBMUNITION:
+ fp = join(cls.DIR_DARKNET_VFRAME, 'munitions_09b', 'yolov3.cfg')
+ fp = join(cls.DataStorePath(data_store), fp)
+ if as_bytes:
+ return bytes(fp, encoding="utf-8")
+ else:
+ return fp
+
+ @classmethod
+ def darknet_weights(cls, data_store=types.DataStore.HDD, opt_net=types.DetectorNet.COCO, as_bytes=True):
+ if opt_net == types.DetectorNet.COCO:
+ fp = join(cls.DIR_DARKNET, 'weights', 'yolov3.weights')
+ elif opt_net == types.DetectorNet.COCO_SPP:
+ fp = join(cls.DIR_DARKNET, 'weights', 'yolov3-spp.weights')
+ elif opt_net == types.DetectorNet.VOC:
+ fp = join(cls.DIR_DARKNET, 'weights', 'yolov3-voc.weights')
+ elif opt_net == types.DetectorNet.OPENIMAGES:
+ fp = join(cls.DIR_DARKNET, 'weights', 'yolov3-openimages.weights')
+ elif opt_net == types.DetectorNet.SUBMUNITION:
+ fp = join(cls.DIR_DARKNET_VFRAME, 'munitions_09b/weights', 'yolov3_40000.weights')
+ fp = join(cls.DataStorePath(data_store), fp)
+ if as_bytes:
+ return bytes(fp, encoding="utf-8")
+ else:
+ return fp
+
+ # -------------------------------------------------------------------------------
+ # Metadata Paths
+
+ @classmethod
+ def mapping_index(cls, opt_date, data_store=types.DataStore.HDD, verified=types.Verified.VERIFIED,
+ file_format=types.FileExt.PKL):
+ """Returns filepath to a mapping file. Mapping files are the original Suguarcube mapping data"""
+ fname = 'index.pkl' if file_format == types.FileExt.PKL else 'index.json'
+ # data_store = 'data_store_{}'.format(data_store.name.lower())
+ date_str = opt_date.name.lower()
+ fp = join(cls.DataStorePath(data_store), cls.DIR_METADATA, 'mapping', date_str, verified.name.lower(), fname)
+ return fp
+
+ @classmethod
+ def media_record_index(cls, data_store=types.DataStore.HDD, verified=types.Verified.VERIFIED,
+ file_format=types.FileExt.PKL):
+ """Returns filepath to a mapping file. Mapping files are the original Suguarcube mapping data"""
+ fname = 'index.pkl' if file_format == types.FileExt.PKL else 'index.json'
+ metadata_type = types.Metadata.MEDIA_RECORD.name.lower()
+ fp = join(cls.DataStorePath(data_store), cls.DIR_METADATA, metadata_type, verified.name.lower(), fname)
+ return fp
+
+ @classmethod
+ def metadata_index(cls, metadata_type, data_store=types.DataStore.HDD,
+ verified=types.Verified.VERIFIED, file_format=types.FileExt.PKL):
+ """Uses key from enum to get folder name and construct filepath"""
+ fname = 'index.pkl' if file_format == types.FileExt.PKL else 'index.json'
+ fp = join(cls.DataStorePath(data_store), cls.DIR_METADATA, metadata_type.name.lower(),
+ verified.name.lower(), fname)
+ return fp
+
+ @classmethod
+ def metadata_dir(cls, metadata_type, data_store=types.DataStore.HDD, verified=types.Verified.VERIFIED):
+ """Uses key from enum to get folder name and construct filepath"""
+ fp = join(cls.DataStorePath(data_store), cls.DIR_METADATA, metadata_type.name.lower(),
+ verified.name.lower())
+ return fp
+
+ @classmethod
+ def metadata_tree_dir(cls, metadata_type, data_store=types.DataStore.HDD):
+ """Uses key from enum to get folder name and construct filepath"""
+ fp = join(cls.DataStorePath(data_store), cls.DIR_METADATA, metadata_type.name.lower())
+ return fp
+
+ @classmethod
+ def media_dir(cls, media_type, data_store=types.DataStore.HDD, verified=types.Verified.VERIFIED):
+ """Returns the directory path to a media directory"""
+ fp = join(cls.DataStorePath(data_store), cls.DIR_MEDIA, media_type.name.lower(), verified.name.lower())
+ return fp
+
+ # @classmethod
+ # def keyframe(cls, dir_media, idx, image_size=types.ImageSize.MEDIUM):
+ # """Returns path to keyframe image using supplied cls.media directory"""
+ # idx = str(idx).zfill(vcfg.ZERO_PADDING)
+ # size_label = vcfg.IMAGE_SIZE_LABELS[image_size]
+ # fp = join(dir_media, sha256_tree, sha256, idx, size_label, 'index.jpg')
+ # return fp
+
+ @classmethod
+ def dnn(cls):
+ """Returns configurations for available DNNs"""
+ pass \ No newline at end of file