diff --git a/client/dive-common/components/ImportButton.vue b/client/dive-common/components/ImportButton.vue index 8020ef548..3b1d422b5 100644 --- a/client/dive-common/components/ImportButton.vue +++ b/client/dive-common/components/ImportButton.vue @@ -31,6 +31,18 @@ export default defineComponent({ type: Boolean, default: false, }, + largeImageImport: { // Offer tiled GeoTIFF / TIFF alongside the other sources + type: Boolean, + default: false, + }, + bulkImport: { // Single/multi camera choice for bulk folder scans + type: Boolean, + default: false, + }, + stereoBatchImport: { // Batch import of stereo (left/right) datasets + type: Boolean, + default: false, + }, buttonAttrs: { type: Object, default: () => DefaultButtonAttrs, @@ -45,9 +57,11 @@ export default defineComponent({ }, }, setup(props) { - const menuWidth = computed(() => (props.batchMultiCamImport ? 240 : 180)); + const menuWidth = computed(() => (props.batchMultiCamImport || props.largeImageImport ? 240 : 180)); + const hasDropdown = computed(() => props.multiCamImport || props.bulkImport); return { + hasDropdown, menuWidth, }; }, @@ -110,7 +124,7 @@ export default defineComponent({ @@ -119,7 +133,49 @@ export default defineComponent({ - + + + + mdi-folder-multiple + + + Single Camera + + + + + mdi-binoculars + + + Stereo + + + + + mdi-folder-multiple-image + + + Multi Camera + + + + mdi-file-video - From File + Single File Image List + + + + Open a high-resolution geospatial image for tiled viewing. Supported formats: + .tif, .tiff, .geotiff. Files should include internal pyramid overviews + (COG recommended) for best performance. + + mdi-binoculars - Stereoscopic + Stereo mdi-camera-burst - MultiCam + Multi Camera mdi-folder-multiple-image - MultiCam Batch + Multi Camera Batch diff --git a/client/dive-common/components/ImportMultiCamBatchDialog.vue b/client/dive-common/components/ImportMultiCamBatchDialog.vue index 9873c3780..5323f06f0 100644 --- a/client/dive-common/components/ImportMultiCamBatchDialog.vue +++ b/client/dive-common/components/ImportMultiCamBatchDialog.vue @@ -55,6 +55,20 @@ export default defineComponent({ type: String, default: 'Choose Root Folder', }, + title: { + type: String, + default: 'Batch Multi Camera Import', + }, + description: { + type: String, + default: ( + 'Select a top-level folder whose subfolders are collects, each holding the same ' + + 'camera subfolders (for example EO, IR, UV). One multi camera dataset is created ' + + 'per collect. Registration .json files next to the camera folders are attached ' + + 'automatically. Flat collects of *_rgb / *_ir / *_uv images become one dataset ' + + 'with a camera per modality.' + ), + }, }, setup(props) { @@ -233,16 +247,11 @@ export default defineComponent({ class="import-card" > - Batch Multicam Import + {{ title }}

- Select a top-level folder whose subfolders are collects, each holding - the same camera subfolders (for example EO, IR, UV). One multicam - dataset is created per collect. Registration .json files next to the - camera folders are attached automatically. Flat collects of - *_rgb / *_ir / *_uv images become one dataset with a camera per - modality. + {{ description }}

- Import {{ stereo ? 'Stereo' : 'Multi-Camera' }} + Import {{ stereo ? 'Stereo' : 'Multi Camera' }} {{ dataType === 'image-sequence' ? 'Image Sequence' : 'Videos' }} diff --git a/client/dive-common/components/MultiCamTools.vue b/client/dive-common/components/MultiCamTools.vue index 484a9e484..62af20d9c 100644 --- a/client/dive-common/components/MultiCamTools.vue +++ b/client/dive-common/components/MultiCamTools.vue @@ -18,7 +18,7 @@ interface CameraTrackData { } export default defineComponent({ name: 'MultiCamTools', - description: 'MultiCam Tools', + description: 'Multi Camera Tools', components: { TooltipBtn }, setup() { const selectedCamera = useSelectedCamera(); @@ -127,7 +127,7 @@ export default defineComponent({