Skip to content

Commit 9051bd0

Browse files
Merge pull request #12 from regulaforensics/image-quality
Add Image Detection, Image Quality Assessment.
2 parents 8e261cb + cc2139a commit 9051bd0

17 files changed

+1526
-1
lines changed

Catalog.xcodeproj/project.pbxproj

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,21 @@
3535
86D5E2A1266123480076D417 /* LivenessLogoItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86D5E2A0266123480076D417 /* LivenessLogoItem.swift */; };
3636
86D5E2A7266128160076D417 /* FaceCaptureBackgroundColor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86D5E2A6266128160076D417 /* FaceCaptureBackgroundColor.swift */; };
3737
86E7479A265D2AB500767F52 /* URLRequestInterceptorItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86E74799265D2AB500767F52 /* URLRequestInterceptorItem.swift */; };
38+
96AA51092A0108C700783B08 /* detect_face2.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = 96AA51012A0108C700783B08 /* detect_face2.jpeg */; };
39+
96AA510A2A0108C700783B08 /* detect_face3.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = 96AA51022A0108C700783B08 /* detect_face3.jpeg */; };
40+
96AA510B2A0108C700783B08 /* face_image_quality1.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = 96AA51032A0108C700783B08 /* face_image_quality1.jpeg */; };
41+
96AA510C2A0108C700783B08 /* detect_face4.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = 96AA51042A0108C700783B08 /* detect_face4.jpeg */; };
42+
96AA510D2A0108C700783B08 /* face_image_quality3.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = 96AA51052A0108C700783B08 /* face_image_quality3.jpeg */; };
43+
96AA510E2A0108C700783B08 /* face_image_quality2.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = 96AA51062A0108C700783B08 /* face_image_quality2.jpeg */; };
44+
96AA510F2A0108C700783B08 /* face_image_quality4.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = 96AA51072A0108C700783B08 /* face_image_quality4.jpeg */; };
45+
96AA51102A0108C700783B08 /* detect_face1.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = 96AA51082A0108C700783B08 /* detect_face1.jpeg */; };
46+
96AA51172A01092400783B08 /* ImagePicker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96AA51122A01092400783B08 /* ImagePicker.swift */; };
47+
96AA51182A01092400783B08 /* ImageHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96AA51132A01092400783B08 /* ImageHelper.swift */; };
48+
96AA51192A01092400783B08 /* GalleryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96AA51152A01092400783B08 /* GalleryView.swift */; };
49+
96AA511A2A01092400783B08 /* CarouselView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96AA51162A01092400783B08 /* CarouselView.swift */; };
50+
96AA511D2A0109AC00783B08 /* DetectFacesItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96AA511B2A0109AC00783B08 /* DetectFacesItem.swift */; };
51+
96AA511E2A0109AC00783B08 /* ImageQualityItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96AA511C2A0109AC00783B08 /* ImageQualityItem.swift */; };
52+
96AA51202A010A2A00783B08 /* QualityResultsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96AA511F2A010A2A00783B08 /* QualityResultsViewController.swift */; };
3853
9DC35FC2298174D00043FBB1 /* LivenessSkipOnboardingAndSuccessItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DC35FC1298174D00043FBB1 /* LivenessSkipOnboardingAndSuccessItem.swift */; };
3954
9DE86D922850820400FCC18C /* FaceCaptureHideTorchConfigurationItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9DE86D902850820400FCC18C /* FaceCaptureHideTorchConfigurationItem.swift */; };
4055
F1D3B0BD2ECCF5ED96E71FEB /* Pods_Catalog.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D1DBE93D03DA4D5B36021E6A /* Pods_Catalog.framework */; };
@@ -98,6 +113,21 @@
98113
86D5E2A0266123480076D417 /* LivenessLogoItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LivenessLogoItem.swift; sourceTree = "<group>"; };
99114
86D5E2A6266128160076D417 /* FaceCaptureBackgroundColor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaceCaptureBackgroundColor.swift; sourceTree = "<group>"; };
100115
86E74799265D2AB500767F52 /* URLRequestInterceptorItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLRequestInterceptorItem.swift; sourceTree = "<group>"; };
116+
96AA51012A0108C700783B08 /* detect_face2.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = detect_face2.jpeg; sourceTree = "<group>"; };
117+
96AA51022A0108C700783B08 /* detect_face3.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = detect_face3.jpeg; sourceTree = "<group>"; };
118+
96AA51032A0108C700783B08 /* face_image_quality1.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = face_image_quality1.jpeg; sourceTree = "<group>"; };
119+
96AA51042A0108C700783B08 /* detect_face4.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = detect_face4.jpeg; sourceTree = "<group>"; };
120+
96AA51052A0108C700783B08 /* face_image_quality3.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = face_image_quality3.jpeg; sourceTree = "<group>"; };
121+
96AA51062A0108C700783B08 /* face_image_quality2.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = face_image_quality2.jpeg; sourceTree = "<group>"; };
122+
96AA51072A0108C700783B08 /* face_image_quality4.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = face_image_quality4.jpeg; sourceTree = "<group>"; };
123+
96AA51082A0108C700783B08 /* detect_face1.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = detect_face1.jpeg; sourceTree = "<group>"; };
124+
96AA51122A01092400783B08 /* ImagePicker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImagePicker.swift; sourceTree = "<group>"; };
125+
96AA51132A01092400783B08 /* ImageHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageHelper.swift; sourceTree = "<group>"; };
126+
96AA51152A01092400783B08 /* GalleryView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GalleryView.swift; sourceTree = "<group>"; };
127+
96AA51162A01092400783B08 /* CarouselView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CarouselView.swift; sourceTree = "<group>"; };
128+
96AA511B2A0109AC00783B08 /* DetectFacesItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DetectFacesItem.swift; sourceTree = "<group>"; };
129+
96AA511C2A0109AC00783B08 /* ImageQualityItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageQualityItem.swift; sourceTree = "<group>"; };
130+
96AA511F2A010A2A00783B08 /* QualityResultsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QualityResultsViewController.swift; sourceTree = "<group>"; };
101131
9DC35FC1298174D00043FBB1 /* LivenessSkipOnboardingAndSuccessItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LivenessSkipOnboardingAndSuccessItem.swift; sourceTree = "<group>"; };
102132
9DE86D902850820400FCC18C /* FaceCaptureHideTorchConfigurationItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FaceCaptureHideTorchConfigurationItem.swift; sourceTree = "<group>"; };
103133
D1DBE93D03DA4D5B36021E6A /* Pods_Catalog.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Catalog.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -130,6 +160,8 @@
130160
86133D5026565DD600546D8A /* LivenessDefaultItem.swift */,
131161
86133D5326565E2B00546D8A /* FaceCaptureDefaultItem.swift */,
132162
86133D6C26568D6B00546D8A /* MatchFacesRequestItem.swift */,
163+
96AA511B2A0109AC00783B08 /* DetectFacesItem.swift */,
164+
96AA511C2A0109AC00783B08 /* ImageQualityItem.swift */,
133165
);
134166
path = Basic;
135167
sourceTree = "<group>";
@@ -197,6 +229,7 @@
197229
86B6D2B32653D57F00794170 /* Resources */ = {
198230
isa = PBXGroup;
199231
children = (
232+
96AA51002A0108C700783B08 /* Samples */,
200233
86B6D2A62653D50600794170 /* Assets.xcassets */,
201234
86B6D2AB2653D50600794170 /* Info.plist */,
202235
86B6D2BE2653DA7C00794170 /* Catalog-Bridging-Header.h */,
@@ -227,6 +260,8 @@
227260
86B6D2CF2653E68C00794170 /* CatalogTableDataProvider.swift */,
228261
86B6D2EE26552E3700794170 /* CatalogItem+Routing.swift */,
229262
8611D4432657A47000E4E700 /* ImagesPreviewViewController.swift */,
263+
96AA511F2A010A2A00783B08 /* QualityResultsViewController.swift */,
264+
96AA51112A01092400783B08 /* Supplementary */,
230265
);
231266
path = Core;
232267
sourceTree = "<group>";
@@ -255,6 +290,40 @@
255290
path = Pods;
256291
sourceTree = "<group>";
257292
};
293+
96AA51002A0108C700783B08 /* Samples */ = {
294+
isa = PBXGroup;
295+
children = (
296+
96AA51082A0108C700783B08 /* detect_face1.jpeg */,
297+
96AA51012A0108C700783B08 /* detect_face2.jpeg */,
298+
96AA51022A0108C700783B08 /* detect_face3.jpeg */,
299+
96AA51042A0108C700783B08 /* detect_face4.jpeg */,
300+
96AA51032A0108C700783B08 /* face_image_quality1.jpeg */,
301+
96AA51062A0108C700783B08 /* face_image_quality2.jpeg */,
302+
96AA51052A0108C700783B08 /* face_image_quality3.jpeg */,
303+
96AA51072A0108C700783B08 /* face_image_quality4.jpeg */,
304+
);
305+
path = Samples;
306+
sourceTree = "<group>";
307+
};
308+
96AA51112A01092400783B08 /* Supplementary */ = {
309+
isa = PBXGroup;
310+
children = (
311+
96AA51122A01092400783B08 /* ImagePicker.swift */,
312+
96AA51132A01092400783B08 /* ImageHelper.swift */,
313+
96AA51142A01092400783B08 /* Views */,
314+
);
315+
path = Supplementary;
316+
sourceTree = "<group>";
317+
};
318+
96AA51142A01092400783B08 /* Views */ = {
319+
isa = PBXGroup;
320+
children = (
321+
96AA51152A01092400783B08 /* GalleryView.swift */,
322+
96AA51162A01092400783B08 /* CarouselView.swift */,
323+
);
324+
path = Views;
325+
sourceTree = "<group>";
326+
};
258327
/* End PBXGroup section */
259328

260329
/* Begin PBXNativeTarget section */
@@ -341,8 +410,16 @@
341410
isa = PBXResourcesBuildPhase;
342411
buildActionMask = 2147483647;
343412
files = (
413+
96AA510D2A0108C700783B08 /* face_image_quality3.jpeg in Resources */,
344414
86B6D2A72653D50600794170 /* Assets.xcassets in Resources */,
345415
86133D43265646D600546D8A /* LaunchScreen.storyboard in Resources */,
416+
96AA510B2A0108C700783B08 /* face_image_quality1.jpeg in Resources */,
417+
96AA51102A0108C700783B08 /* detect_face1.jpeg in Resources */,
418+
96AA510A2A0108C700783B08 /* detect_face3.jpeg in Resources */,
419+
96AA510E2A0108C700783B08 /* face_image_quality2.jpeg in Resources */,
420+
96AA51092A0108C700783B08 /* detect_face2.jpeg in Resources */,
421+
96AA510F2A0108C700783B08 /* face_image_quality4.jpeg in Resources */,
422+
96AA510C2A0108C700783B08 /* detect_face4.jpeg in Resources */,
346423
86C256932682204A00067907 /* CustomLocalization.strings in Resources */,
347424
);
348425
runOnlyForDeploymentPostprocessing = 0;
@@ -398,6 +475,7 @@
398475
files = (
399476
86B6D2D02653E68C00794170 /* CatalogTableDataProvider.swift in Sources */,
400477
86951B512657DF6B00FB23D8 /* UIColor+Palette.swift in Sources */,
478+
96AA511E2A0109AC00783B08 /* ImageQualityItem.swift in Sources */,
401479
86B6D2CA2653DD9C00794170 /* CatalogViewController.swift in Sources */,
402480
86133D5126565DD600546D8A /* LivenessDefaultItem.swift in Sources */,
403481
86B6D2EF26552E3700794170 /* CatalogItem+Routing.swift in Sources */,
@@ -413,16 +491,22 @@
413491
86E7479A265D2AB500767F52 /* URLRequestInterceptorItem.swift in Sources */,
414492
86CED8F52664E123008CC8AA /* LivenessAttemptsCountItem.swift in Sources */,
415493
86B6D29E2653D50500794170 /* AppDelegate.swift in Sources */,
494+
96AA51172A01092400783B08 /* ImagePicker.swift in Sources */,
416495
86C2559B2681E34D00067907 /* LivenessToolbarCustomColors.swift in Sources */,
496+
96AA51192A01092400783B08 /* GalleryView.swift in Sources */,
417497
86B6D2A02653D50500794170 /* SceneDelegate.swift in Sources */,
418498
9DE86D922850820400FCC18C /* FaceCaptureHideTorchConfigurationItem.swift in Sources */,
419499
86951B542657E30D00FB23D8 /* UIColor+Hex.swift in Sources */,
420500
86D5E28D26611A690076D417 /* LivenessToolbarPositionItem.swift in Sources */,
421501
8611D4442657A47000E4E700 /* ImagesPreviewViewController.swift in Sources */,
422502
86D5E29026611CFE0076D417 /* LivenessToolbarCustomButtonItem.swift in Sources */,
503+
96AA511D2A0109AC00783B08 /* DetectFacesItem.swift in Sources */,
504+
96AA511A2A01092400783B08 /* CarouselView.swift in Sources */,
505+
96AA51182A01092400783B08 /* ImageHelper.swift in Sources */,
423506
86133D6D26568D6B00546D8A /* MatchFacesRequestItem.swift in Sources */,
424507
86B2D28626555AF200D85D45 /* FaceCaptureCameraPositionItem.swift in Sources */,
425508
86D5E289266118400076D417 /* LivenessToolbarAppearanceItem.swift in Sources */,
509+
96AA51202A010A2A00783B08 /* QualityResultsViewController.swift in Sources */,
426510
);
427511
runOnlyForDeploymentPostprocessing = 0;
428512
};

Catalog/Core/CatalogTableDataProvider.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@ final class CatalogTableDataProvider {
2626
LivenessDefaultItem(),
2727
FaceCaptureDefaultItem(),
2828
MatchFacesRequestItem(),
29-
29+
DetectFacesItem(),
30+
ImageQualityItem(),
31+
3032
LivenessAttemptsCountItem(),
3133
FaceCaptureCameraPositionItem(),
3234
FaceCaptureHideTorchConfigurationItem(),

0 commit comments

Comments
 (0)