Skip to content

Commit a3476c4

Browse files
author
David Motsonashvili
committed
Added dilation parameter to generateMaskAndPadForOutpainting
1 parent 2253d3f commit a3476c4

File tree

3 files changed

+7
-1
lines changed

3 files changed

+7
-1
lines changed

firebase-ai/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
configured.
44
* [feature] added support for Imagen Editing, including inpainting, outpainting, control, style
55
transfer, and subject references (#7075)
6+
* [changed] Added a `dilation` parameter to `ImagenMaskReference.generateMaskAndPadForOutpainting`
7+
* (#9999)
68

79
# 17.0.0
810
* [feature] Added support for configuring the "thinking" budget when using Gemini

firebase-ai/api.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -698,12 +698,14 @@ package com.google.firebase.ai.type {
698698
@com.google.firebase.ai.type.PublicPreviewAPI public abstract class ImagenMaskReference extends com.google.firebase.ai.type.ImagenReferenceImage {
699699
method public static final java.util.List<com.google.firebase.ai.type.ImagenReferenceImage> generateMaskAndPadForOutpainting(com.google.firebase.ai.type.ImagenInlineImage image, com.google.firebase.ai.type.Dimensions newDimensions);
700700
method public static final java.util.List<com.google.firebase.ai.type.ImagenReferenceImage> generateMaskAndPadForOutpainting(com.google.firebase.ai.type.ImagenInlineImage image, com.google.firebase.ai.type.Dimensions newDimensions, com.google.firebase.ai.type.ImagenImagePlacement newPosition = com.google.firebase.ai.type.ImagenImagePlacement.CENTER);
701+
method public static final java.util.List<com.google.firebase.ai.type.ImagenReferenceImage> generateMaskAndPadForOutpainting(com.google.firebase.ai.type.ImagenInlineImage image, com.google.firebase.ai.type.Dimensions newDimensions, com.google.firebase.ai.type.ImagenImagePlacement newPosition = com.google.firebase.ai.type.ImagenImagePlacement.CENTER, double dilation = 0.01);
701702
field public static final com.google.firebase.ai.type.ImagenMaskReference.Companion Companion;
702703
}
703704

704705
public static final class ImagenMaskReference.Companion {
705706
method public java.util.List<com.google.firebase.ai.type.ImagenReferenceImage> generateMaskAndPadForOutpainting(com.google.firebase.ai.type.ImagenInlineImage image, com.google.firebase.ai.type.Dimensions newDimensions);
706707
method public java.util.List<com.google.firebase.ai.type.ImagenReferenceImage> generateMaskAndPadForOutpainting(com.google.firebase.ai.type.ImagenInlineImage image, com.google.firebase.ai.type.Dimensions newDimensions, com.google.firebase.ai.type.ImagenImagePlacement newPosition = com.google.firebase.ai.type.ImagenImagePlacement.CENTER);
708+
method public java.util.List<com.google.firebase.ai.type.ImagenReferenceImage> generateMaskAndPadForOutpainting(com.google.firebase.ai.type.ImagenInlineImage image, com.google.firebase.ai.type.Dimensions newDimensions, com.google.firebase.ai.type.ImagenImagePlacement newPosition = com.google.firebase.ai.type.ImagenImagePlacement.CENTER, double dilation = 0.01);
707709
}
708710

709711
@com.google.firebase.ai.type.PublicPreviewAPI public final class ImagenPersonFilterLevel {

firebase-ai/src/main/kotlin/com/google/firebase/ai/type/ImagenReferenceImage.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,13 +124,15 @@ internal constructor(maskConfig: ImagenMaskConfig, image: ImagenInlineImage? = n
124124
* @param newDimensions the new dimensions for outpainting. These new dimensions *must* be more
125125
* than the original image.
126126
* @param newPosition the placement of the original image within the new outpainted image.
127+
* @param dilation the dilation for the outpainting mask. See: [ImagenRawMask].
127128
*/
128129
@JvmOverloads
129130
@JvmStatic
130131
public fun generateMaskAndPadForOutpainting(
131132
image: ImagenInlineImage,
132133
newDimensions: Dimensions,
133134
newPosition: ImagenImagePlacement = ImagenImagePlacement.CENTER,
135+
dilation: Double = 0.01
134136
): List<ImagenReferenceImage> {
135137
val originalBitmap = image.asBitmap()
136138
if (
@@ -180,7 +182,7 @@ internal constructor(maskConfig: ImagenMaskConfig, image: ImagenInlineImage? = n
180182
newImageCanvas.drawBitmap(originalBitmap, null, normalizedImageRectangle, null)
181183
return listOf(
182184
ImagenRawImage(newImageBitmap.toImagenInlineImage()),
183-
ImagenRawMask(maskBitmap.toImagenInlineImage()),
185+
ImagenRawMask(maskBitmap.toImagenInlineImage(), dilation),
184186
)
185187
}
186188
}

0 commit comments

Comments
 (0)