From 34a3a8700e708d9eb8c7db32c86d0761d5188585 Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Wed, 15 May 2024 10:05:02 +0530 Subject: [PATCH] Inline --- .../services/machineLearning/faceService.ts | 4 +-- .../services/machineLearning/peopleService.ts | 4 +-- .../services/machineLearning/readerService.ts | 25 ++++++------------- 3 files changed, 11 insertions(+), 22 deletions(-) diff --git a/web/apps/photos/src/services/machineLearning/faceService.ts b/web/apps/photos/src/services/machineLearning/faceService.ts index b7805b3360..e1c71ba742 100644 --- a/web/apps/photos/src/services/machineLearning/faceService.ts +++ b/web/apps/photos/src/services/machineLearning/faceService.ts @@ -11,9 +11,9 @@ import { } from "services/ml/types"; import { imageBitmapToBlob, warpAffineFloat32List } from "utils/image"; import ReaderService, { + fetchImageBitmap, getFaceId, getLocalFile, - getOriginalImageBitmap, } from "./readerService"; class FaceService { @@ -296,7 +296,7 @@ class FaceService { } const file = await getLocalFile(personFace.fileId); - const imageBitmap = await getOriginalImageBitmap(file); + const imageBitmap = await fetchImageBitmap(file); return await this.saveFaceCrop(imageBitmap, personFace, syncContext); } } diff --git a/web/apps/photos/src/services/machineLearning/peopleService.ts b/web/apps/photos/src/services/machineLearning/peopleService.ts index f7d5cf38a1..b26153f622 100644 --- a/web/apps/photos/src/services/machineLearning/peopleService.ts +++ b/web/apps/photos/src/services/machineLearning/peopleService.ts @@ -2,7 +2,7 @@ import log from "@/next/log"; import mlIDbStorage from "services/ml/db"; import { Face, MLSyncContext, Person } from "services/ml/types"; import FaceService, { isDifferentOrOld } from "./faceService"; -import { getLocalFile, getOriginalImageBitmap } from "./readerService"; +import { fetchImageBitmap, getLocalFile } from "./readerService"; class PeopleService { async syncPeopleIndex(syncContext: MLSyncContext) { @@ -58,7 +58,7 @@ class PeopleService { if (personFace && !personFace.crop?.cacheKey) { const file = await getLocalFile(personFace.fileId); - const imageBitmap = await getOriginalImageBitmap(file); + const imageBitmap = await fetchImageBitmap(file); await FaceService.saveFaceCrop( imageBitmap, personFace, diff --git a/web/apps/photos/src/services/machineLearning/readerService.ts b/web/apps/photos/src/services/machineLearning/readerService.ts index e517eee317..6660cf8667 100644 --- a/web/apps/photos/src/services/machineLearning/readerService.ts +++ b/web/apps/photos/src/services/machineLearning/readerService.ts @@ -40,7 +40,7 @@ class ReaderService { fileContext.enteFile.metadata.fileType, ) ) { - fileContext.imageBitmap = await getOriginalImageBitmap( + fileContext.imageBitmap = await fetchImageBitmap( fileContext.enteFile, ); } else { @@ -105,17 +105,12 @@ export function getFaceId(detectedFace: DetectedFace, imageDims: Dimensions) { return faceID; } -async function getImageBlobBitmap(blob: Blob): Promise { - return await createImageBitmap(blob); -} +export const fetchImageBitmap = async (file: EnteFile) => + fetchRenderableBlob(file).then(createImageBitmap); -async function getOriginalFile(file: EnteFile) { +async function fetchRenderableBlob(file: EnteFile) { const fileStream = await DownloadManager.getFile(file); - return new Response(fileStream).blob(); -} - -async function getOriginalConvertedFile(file: EnteFile) { - const fileBlob = await getOriginalFile(file); + const fileBlob = await new Response(fileStream).blob(); if (file.metadata.fileType === FILE_TYPE.IMAGE) { return await getRenderableImage(file.metadata.title, fileBlob); } else { @@ -127,17 +122,11 @@ async function getOriginalConvertedFile(file: EnteFile) { } } -export async function getOriginalImageBitmap(file: EnteFile) { - const fileBlob = await getOriginalConvertedFile(file); - log.info("[MLService] Got file: ", file.id.toString()); - return getImageBlobBitmap(fileBlob); -} - export async function getThumbnailImageBitmap(file: EnteFile) { const thumb = await DownloadManager.getThumbnail(file); log.info("[MLService] Got thumbnail: ", file.id.toString()); - return getImageBlobBitmap(new Blob([thumb])); + return createImageBitmap(new Blob([thumb])); } export async function getLocalFileImageBitmap( @@ -146,5 +135,5 @@ export async function getLocalFileImageBitmap( ) { let fileBlob = localFile as Blob; fileBlob = await getRenderableImage(enteFile.metadata.title, fileBlob); - return getImageBlobBitmap(fileBlob); + return createImageBitmap(fileBlob); }