diff --git a/client/dive-common/components/ImageEnhancements.vue b/client/dive-common/components/ImageEnhancements.vue new file mode 100644 index 000000000..14a2a1cda --- /dev/null +++ b/client/dive-common/components/ImageEnhancements.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/client/dive-common/components/Viewer.vue b/client/dive-common/components/Viewer.vue index b8bed61c4..42852099c 100644 --- a/client/dive-common/components/Viewer.vue +++ b/client/dive-common/components/Viewer.vue @@ -8,6 +8,7 @@ import type { Vue } from 'vue/types/vue'; import Track, { TrackId } from 'vue-media-annotator/track'; import { useAttributes, + useImageEnhancements, useLineChart, useStyling, useTrackFilters, @@ -122,6 +123,13 @@ export default defineComponent({ pendingSaveCount, } = useSave(datasetId, readonlyState); + const { + imageEnhancements, + brightness, + intercept, + setSVGFilters, + } = useImageEnhancements(); + const recipes = [ new PolygonBase(), new HeadTail(), @@ -403,6 +411,7 @@ export default defineComponent({ setConfidenceFilters, deleteAttribute, reloadAnnotations, + setSVGFilters, }; provideAnnotator( @@ -431,6 +440,7 @@ export default defineComponent({ time, visibleModes, readOnlyMode: readonlyState, + imageEnhancements, }, globalHandler, ); @@ -465,6 +475,8 @@ export default defineComponent({ originalFps: time.originalFps, context, readonlyState, + brightness, + intercept, /* methods */ handler: globalHandler, save, @@ -627,7 +639,9 @@ export default defineComponent({ { bind: 'r', handler: () => mediaController.resetZoom() }, { bind: 'esc', handler: () => handler.trackAbort() }, ]" - v-bind="{ imageData, videoUrl, updateTime, frameRate, originalFps }" + v-bind="{ imageData, videoUrl, updateTime, frameRate, + originalFps, brightness, intercept, + }" class="playback-component" >