diff --git a/package.json b/package.json
index e7a632de..2042ab5a 100644
--- a/package.json
+++ b/package.json
@@ -11,7 +11,7 @@
"color-alpha": "^1.0.4",
"get-image-data": "^3.0.1",
"material-survey": "^1.0.34",
- "mmgc1-cpp": "^1.0.44",
+ "mmgc1-cpp": "^1.0.46",
"moment": "^2.23.0",
"react-full-screen": "^0.2.4",
"react-hotkeys": "^2.0.0",
diff --git a/src/Annotator/index.js b/src/Annotator/index.js
index c0d927ac..a3c7907e 100644
--- a/src/Annotator/index.js
+++ b/src/Annotator/index.js
@@ -42,6 +42,9 @@ type Props = {
keyframes?: Object,
videoName?: string,
fullImageSegmentationMode?: boolean,
+ autoSegmentationOptions?:
+ | {| type: "simple" |}
+ | {| type: "autoseg", maxClusters?: number, slicWeightFactor?: number |},
}
export const Annotator = ({
@@ -74,6 +77,7 @@ export const Annotator = ({
onExit,
onNextImage,
onPrevImage,
+ autoSegmentationOptions = { type: "autoseg" },
}: Props) => {
if (!images && !videoSrc)
return 'Missing required prop "images" or "videoSrc"'
@@ -93,6 +97,7 @@ export const Annotator = ({
pointDistancePrecision,
selectedTool,
fullImageSegmentationMode: fullImageSegmentationMode,
+ autoSegmentationOptions,
mode: null,
taskDescription,
showMask: true,
diff --git a/src/FullImageSegmentationAnnotator/index.story.js b/src/FullImageSegmentationAnnotator/index.story.js
index 053c101c..b2d2b7ea 100644
--- a/src/FullImageSegmentationAnnotator/index.story.js
+++ b/src/FullImageSegmentationAnnotator/index.story.js
@@ -75,6 +75,21 @@ storiesOf("FullImageSegmentationAnnotator.Basic", module)
/>
))
+ .add("Hard 1, 8 Class, Simple Mode", () => (
+
+
+
+ ))
.add("Hard 1, 8 Class", () => (
any,
onBeginRegionEdit: (Region) => any,
@@ -95,6 +96,7 @@ export const ImageCanvas = ({
videoPlaying = false,
showMask = true,
fullImageSegmentationMode,
+ autoSegmentationOptions,
onImageOrVideoLoaded,
onChangeRegion,
onBeginRegionEdit,
@@ -375,6 +377,7 @@ export const ImageCanvas = ({
{fullImageSegmentationMode && (
{
if (!window.mmgc) window.mmgc = MMGC_INIT()
const mmgc = window.mmgc
@@ -55,6 +56,7 @@ export const ImageMask = ({
if (!superPixelsGenerated.current) {
superPixelsGenerated.current = "processing"
+ mmgc.setSimpleMode(autoSegmentationOptions.type === "simple")
mmgc.setMaxClusters(10000)
mmgc.setImageSize(sampleImageData.width, sampleImageData.height)
mmgc.setClassColor(0, 0)
diff --git a/src/MainLayout/index.js b/src/MainLayout/index.js
index e2133a23..a125fc26 100644
--- a/src/MainLayout/index.js
+++ b/src/MainLayout/index.js
@@ -159,6 +159,7 @@ export const MainLayout = ({
key={state.selectedImage}
showMask={state.showMask}
fullImageSegmentationMode={state.fullImageSegmentationMode}
+ autoSegmentationOptions={state.autoSegmentationOptions}
showTags={state.showTags}
allowedArea={state.allowedArea}
regionClsList={state.regionClsList}
diff --git a/yarn.lock b/yarn.lock
index f0316ae4..b8bc52f6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10841,10 +10841,10 @@ mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@
dependencies:
minimist "0.0.8"
-mmgc1-cpp@^1.0.44:
- version "1.0.44"
- resolved "https://registry.yarnpkg.com/mmgc1-cpp/-/mmgc1-cpp-1.0.44.tgz#b3059e9df06d1dba5899b159c454e1d435fec317"
- integrity sha512-7kJk5zggfAR05id6a6ltXih39y8Va+zir1wevORNXBr/Glc2gtrqyc0HciXrOqyAUZ6Y93aRLW11BODsnDSemQ==
+mmgc1-cpp@^1.0.46:
+ version "1.0.46"
+ resolved "https://registry.yarnpkg.com/mmgc1-cpp/-/mmgc1-cpp-1.0.46.tgz#f7b0cc20c42cf3d03e6cfbf1d72730599ef2bc5b"
+ integrity sha512-cZ8038sOUQDe5mLWuRC9oTxHZOvhUIigMKH7Ozg1md1NWgei5QBf4GnshPurvFuy0DBukCm4n63zyzoIzykjWg==
moment@^2.23.0:
version "2.24.0"