이미지와 DICOM 변환
image는 여러 작업을 배열 순서대로 적용합니다. 크기를 조절할 때 원래 비율을 유지하려면 resize의 한쪽 치수만 지정하거나 resizeToFitBoundingBox를 사용합니다. 두 치수를 모두 지정한 resize에 같은 비율 유지 조건을 적용하지 않습니다.
encrypt와 decrypt의 다각형 좌표는 픽셀 단위이며 왼쪽 위가 (0, 0)입니다. 반면 주석 경계 상자의 좌표와 선 두께에는 별도의 단위가 지정되어 있지 않으므로 이 픽셀 좌표 규칙을 그대로 적용하지 않습니다.
지도 타일은 지리 정보가 포함된 TIFF 또는 NITF이며 최대 1억 픽셀인 경우에 사용합니다. DICOM은 layerNumber를 생략하면 가운데 레이어를 렌더링합니다. 이미지 임베딩 모델은 GOOGLE_SIGLIP_2입니다.
각 분기의 객체를 변환 요청의 transformation 값으로 사용합니다. type으로 분기를 선택한 다음 해당 분기의 필수 필드를 제공합니다.
변환 image
이미지에 여러 작업을 적용합니다. operations 목록에 나열한 순서대로 실행합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: image. | image |
encoding | union<jpg, tiff, png, webp> | 필수 | 이미지 결과의 인코딩 형식입니다. | |
operations | list<ImageOperation> | 선택 | 순서대로 적용할 이미지 작업 목록입니다. |
encoding의 구조
필드는 공통 이미지 인코딩을 따릅니다.
operations의 구조
배열 항목은 ImageOperation이며 자료형은 union입니다.
이미지에 적용할 작업입니다.
분기 rotate
지정한 각도만큼 시계 방향으로 회전합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: rotate. | rotate |
angle | enum | 필수 | EXIF 방향의 회전 각도입니다. 허용값: DEGREE_90, DEGREE_180, DEGREE_270, UNKNOWN. |
분기 resizeToFitBoundingBox
가로세로 비율을 유지하면서 지정한 경계 상자에 최대한 맞도록 크기를 조절합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: resizeToFitBoundingBox. | resizeToFitBoundingBox |
width | integer | 필수 | 경계 상자의 너비이며 단위는 픽셀입니다. | |
height | integer | 필수 | 경계 상자의 높이이며 단위는 픽셀입니다. |
분기 encrypt
가환 암호화 알고리즘으로 이미지의 지정 영역을 암호화합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: encrypt. | encrypt |
polygons | list<ImageRegionPolygon> | 선택 | 암호화할 영역을 정의하는 다각형입니다. | |
cipherLicenseRid | string | 필수 | 암호화 라이선스의 RID입니다. |
polygons의 구조
배열 항목은 ImageRegionPolygon이며 자료형은 list<ImagePixelCoordinate>입니다.
목록의 이웃 좌표를 직선으로 연결한 다각형입니다. 마지막 좌표와 첫 좌표도 연결하여 닫힌 도형을 만듭니다. 이미지의 암호화 또는 복호화 영역에 사용합니다.
배열 항목은 ImagePixelCoordinate이며 자료형은 object입니다.
이미지의 픽셀 좌표 (x, y)입니다. 왼쪽 위 모서리가 (0, 0)입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
x | integer | 필수 | 너비 방향의 x 좌표입니다. | |
y | integer | 필수 | 높이 방향의 y 좌표입니다. |
분기 contrast
이미지 대비를 조정합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: contrast. | contrast |
contrastType | union<equalize, rayleigh, binarize> | 필수 | 대비 조정 방식입니다. |
contrastType의 구조
분기 equalize
이미지 히스토그램을 균등화하여 대비를 조정합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: equalize. | equalize |
분기 rayleigh
Rayleigh 분포에 따라 대비를 조정합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: rayleigh. | rayleigh |
sigma | double | 필수 | Rayleigh 분포의 크기 매개변수이며 범위는 0부터 1까지입니다. |
분기 binarize
임계값으로 이미지를 흑백 이진화합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: binarize. | binarize |
threshold | integer | 선택 | 임계값이며 범위는 0부터 255까지입니다. 강도가 이 값보다 낮은 픽셀은 검정, 나머지는 흰색이 됩니다. 생략하면 임계값을 자동 계산합니다. |
분기 tile
지리 정보가 포함된 이미지에서 EPSG 3857의 Slippy map 타일을 생성합니다. 지리 정보가 포함된 TIFF 또는 NITF 이미지만 지원하며 이미지 크기는 최대 1억 픽셀입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: tile. | tile |
zoom | integer | 필수 | 타일의 줌 수준입니다. | |
x | integer | 필수 | 타일의 x 좌표입니다. | |
y | integer | 필수 | 타일의 y 좌표입니다. |
분기 resize
지정한 크기로 이미지를 조절합니다. 너비와 높이 중 하나만 지정하면 비율을 유지하도록 나머지를 계산합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: resize. | resize |
height | integer | 선택 | 원하는 높이이며 단위는 픽셀입니다. | |
width | integer | 선택 | 원하는 너비이며 단위는 픽셀입니다. | |
autoOrient | boolean | 선택 | EXIF 메타데이터에 따라 방향을 자동으로 맞출지 지정합니다. |
분기 annotate
경계 상자, 레이블과 색상으로 이미지에 주석을 표시합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: annotate. | annotate |
annotations | list<Annotation> | 선택 | 이미지에 그릴 주석 목록입니다. |
annotations의 구조
배열 항목은 Annotation이며 자료형은 object입니다.
이미지에 표시할 주석입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
geometry | union<boundingBox> | 필수 | 주석의 도형입니다. | |
label | string | 선택 | 주석과 함께 표시할 텍스트 레이블입니다. | |
color | object | 선택 | RGBA 색상입니다. | |
thickness | double | 선택 | 주석 선의 두께입니다. | |
fontSize | integer | 선택 | 레이블 글꼴 크기입니다. |
geometry의 구조
분기 boundingBox
주석에 사용할 직사각형 경계 상자 도형입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: boundingBox. | boundingBox |
boundingBox | object | 필수 | 주석의 직사각형 경계 상자입니다. |
boundingBox의 구조
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
left | double | 필수 | 경계 상자의 왼쪽 좌표입니다. | |
top | double | 필수 | 경계 상자의 위쪽 좌표입니다. | |
width | double | 필수 | 경계 상자의 너비입니다. | |
height | double | 필수 | 경계 상자의 높이입니다. |
color의 구조
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
r | integer | 필수 | 빨강 성분이며 범위는 0부터 255까지입니다. | |
g | integer | 필수 | 초록 성분이며 범위는 0부터 255까지입니다. | |
b | integer | 필수 | 파랑 성분이며 범위는 0부터 255까지입니다. | |
a | double | 선택 | 알파 성분이며 범위는 0부터 1까지입니다. 0은 투명, 1은 불투명입니다. |
분기 decrypt
가환 암호화 알고리즘으로 이미지의 지정 영역을 복호화합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: decrypt. | decrypt |
polygons | list<ImageRegionPolygon> | 선택 | 복호화할 영역을 정의하는 다각형입니다. | |
cipherLicenseRid | string | 필수 | 암호화 라이선스의 RID입니다. |
polygons의 구조
배열 항목은 ImageRegionPolygon이며 자료형은 list<ImagePixelCoordinate>입니다.
목록의 이웃 좌표를 직선으로 연결한 다각형입니다. 마지막 좌표와 첫 좌표도 연결하여 닫힌 도형을 만듭니다. 이미지의 암호화 또는 복호화 영역에 사용합니다.
배열 항목은 ImagePixelCoordinate이며 자료형은 object입니다.
이미지의 픽셀 좌표 (x, y)입니다. 왼쪽 위 모서리가 (0, 0)입니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
x | integer | 필수 | 너비 방향의 x 좌표입니다. | |
y | integer | 필수 | 높이 방향의 y 좌표입니다. |
분기 crop
이미지를 직사각형 영역으로 자릅니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: crop. | crop |
xOffset | integer | 필수 | 이미지 왼쪽 끝에서부터의 x 오프셋이며 단위는 픽셀입니다. | |
yOffset | integer | 필수 | 이미지 위쪽 끝에서부터의 y 오프셋이며 단위는 픽셀입니다. | |
width | integer | 필수 | 잘라낼 상자의 너비이며 단위는 픽셀입니다. | |
height | integer | 필수 | 잘라낼 상자의 높이이며 단위는 픽셀입니다. |
분기 grayscale
이미지를 회색조로 변환합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: grayscale. | grayscale |
변환 imageToDocument
이미지를 문서로 변환합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: imageToDocument. | imageToDocument |
operation | union<createPdf> | 필수 | 이미지를 문서로 변환할 작업입니다. |
operation의 구조
분기 createPdf
이미지를 PDF 문서로 변환합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: createPdf. | createPdf |
변환 dicomToImage
DICOM(Digital Imaging and Communications in Medicine) 파일을 이미지로 렌더링합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: dicomToImage. | dicomToImage |
encoding | union<jpg, tiff, png, webp> | 필수 | 이미지 결과의 인코딩 형식입니다. | |
operation | union<renderImageLayer> | 필수 | DICOM을 이미지로 변환할 작업입니다. |
encoding의 구조
필드는 공통 이미지 인코딩을 따릅니다.
operation의 구조
분기 renderImageLayer
DICOM의 한 프레임을 이미지로 렌더링합니다. 너비와 높이 중 하나만 지정하면 비율을 유지하도록 나머지를 계산합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: renderImageLayer. | renderImageLayer |
layerNumber | integer | 선택 | 렌더링할 레이어 번호입니다. 생략하면 가운데 레이어를 사용합니다. | |
height | integer | 선택 | 원하는 높이이며 단위는 픽셀입니다. | |
width | integer | 선택 | 원하는 너비이며 단위는 픽셀입니다. |
변환 imageToEmbedding
이미지의 임베딩을 생성합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: imageToEmbedding. | imageToEmbedding |
operation | union<generateEmbedding> | 필수 | 이미지 임베딩 생성 작업입니다. |
operation의 구조
분기 generateEmbedding
지정한 모델로 이미지의 벡터 임베딩을 생성합니다.
| 이름 | 자료형 | 필수 여부 | 의미와 조건 | 예시 값 |
|---|---|---|---|---|
type | enum | 필수 | 허용값: generateEmbedding. | generateEmbedding |
modelId | enum | 필수 | 서비스에서 사용할 임베딩 모델입니다. 허용값: GOOGLE_SIGLIP_2. |