File size: 1,713 Bytes
6104dd3
 
 
 
 
 
 
 
 
5e5e999
6104dd3
b393b9e
 
 
5e5e999
 
 
 
5a186b4
 
 
 
130fb6c
 
 
 
 
 
 
 
1fb00de
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from src.components.necklaceTryOn import NecklaceTryOn
from typing import Union
from PIL import Image


class Pipeline:
    def __init__(self) -> None:
        self.necklaceTryOnObj = NecklaceTryOn()

    async def necklaceTryOn_(self, image: Image.Image, jewellery: Image.Image, storename: str) -> list[
        Union[Image.Image, str]]:
        result, headerText, mask = self.necklaceTryOnObj.necklaceTryOn(image=image, jewellery=jewellery,
                                                                       storename=storename)
        return [result, headerText, mask]

    async def shoulderPointMaskGeneration_(self, image: Image.Image) -> Image.Image:
        mask = self.necklaceTryOnObj.shoulderPointMaskGeneration(image=image)
        return mask

    async def canvasPoint(self, image: Image.Image, jewellery: Image.Image, storename: str) -> dict:
        points = self.necklaceTryOnObj.canvasPoints(image=image, jewellery=jewellery, storename=storename)
        return points

    async def necklaceTryOnWithPoints_(self, image: Image.Image, jewellery: Image.Image, left_shoulder: tuple[int, int],
                                       right_shoulder: tuple[int, int], storename: str) -> list[Union[Image.Image, str]]:
        result, headerText, mask = self.necklaceTryOnObj.necklaceTryOnWithPoints(image=image, jewellery=jewellery,
                                                                                 left_point=left_shoulder,
                                                                                 right_point=right_shoulder,
                                                                                 storename=storename)
        return [result, headerText, mask]