Skip to content

Commit 1ccecc8

Browse files
committed
enh(stereo): get rid of stereoscopic calibration dialog
keep one single import dialog for stereo
1 parent 51a3b81 commit 1ccecc8

9 files changed

Lines changed: 14 additions & 68 deletions

File tree

client/dive-common/apispec.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,7 @@ export interface MultiCamImportFolderArgs {
8181
sourcePath: string;
8282
trackFile: string;
8383
}>; // path/track file per camera
84-
calibrationFile?: string; // NPZ calibation matrix file
85-
stereoConfigurationFile?: string; // kwiver *.conf file
84+
calibrationFile?: string; // NPZ calibation matrix file or kwivier *.conf file
8685
type: 'image-sequence' | 'video';
8786
}
8887

@@ -93,8 +92,7 @@ export interface MultiCamImportKeywordArgs {
9392
glob: string;
9493
trackFile: string;
9594
}>; // glob pattern for base folder
96-
calibrationFile?: string; // NPZ calibation matrix file
97-
stereoConfigurationFile?: string; // kwiver *.conf file
95+
calibrationFile?: string; // NPZ calibation matrix file or kwiver *.conf file
9896
type: 'image-sequence'; // Always image-sequence type for glob matching
9997
}
10098

@@ -139,7 +137,7 @@ interface DatasetMeta extends DatasetMetaMutable {
139137
originalFps?: Readonly<number>;
140138
subType: Readonly<SubType>; // In future this could have stuff like IR/EO
141139
multiCamMedia: Readonly<MultiCamMedia | null>;
142-
stereoConfigurationFile?: Readonly<string>;
140+
calibrationFile?: Readonly<string>;
143141
}
144142

145143
interface Api {

client/dive-common/components/ImportButton.vue

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -113,18 +113,6 @@ export default defineComponent({
113113
</v-list-item-content>
114114
</v-list-item>
115115

116-
<v-list-item
117-
v-if="openType === 'image-sequence'"
118-
style="align-items':'center"
119-
@click="$emit('multi-cam', { stereo: true, openType, calibration: true })"
120-
>
121-
<v-list-item-icon>
122-
<v-icon>mdi-binoculars</v-icon>
123-
</v-list-item-icon>
124-
<v-list-item-content>
125-
<v-list-item-title>Stereoscopic Calibration</v-list-item-title>
126-
</v-list-item-content>
127-
</v-list-item>
128116

129117
<v-list-item
130118
style="align-items':'center"

client/dive-common/components/ImportMultiCamDialog.vue

Lines changed: 2 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ export default defineComponent({
5454
const pendingImportPayloads: Ref<Record<string, MediaImportResponse | null>> = ref({});
5555
const globList: Ref<Record<string, { glob: string; trackFile: string}>> = ref({});
5656
const calibrationFile = ref('');
57-
const stereoConfigurationFile = ref('');
5857
const defaultDisplay = ref('left');
5958
const importAnnotationFilesCheck = ref(false);
6059
const { error: importError, request: importRequest } = useRequest();
@@ -199,8 +198,6 @@ export default defineComponent({
199198
const path = ret.filePaths[0];
200199
if (folder === 'calibration') {
201200
calibrationFile.value = path;
202-
} else if (folder === 'stereoConfiguration') {
203-
stereoConfigurationFile.value = path;
204201
} else if (importType.value === 'multi') {
205202
if (ret.root) {
206203
folderList.value[folder].sourcePath = ret.root;
@@ -253,10 +250,6 @@ export default defineComponent({
253250
calibrationFile: calibrationFile.value,
254251
type: props.dataType,
255252
};
256-
if (props.calibration) {
257-
delete args.calibrationFile;
258-
args.stereoConfigurationFile = stereoConfigurationFile.value;
259-
}
260253
261254
emit('begin-multicam-import', args);
262255
} else if (importType.value === 'keyword') {
@@ -284,7 +277,7 @@ export default defineComponent({
284277
defaultDisplay,
285278
displayKeys,
286279
importAnnotationFilesCheck,
287-
stereoConfigurationFile,
280+
// stereoConfigurationFile,
288281
//Methods
289282
open,
290283
prepForImport,
@@ -479,32 +472,6 @@ export default defineComponent({
479472
</v-icon>
480473
</v-btn>
481474
</v-row>
482-
483-
<v-row
484-
v-else-if="stereo && calibration"
485-
no-gutters
486-
class="align-center"
487-
>
488-
<v-text-field
489-
label="Stereoscopic Configuration File:"
490-
placeholder="Choose File"
491-
disabled
492-
outlined
493-
dense
494-
hide-details
495-
:value="stereoConfigurationFile"
496-
class="mr-3"
497-
/>
498-
<v-btn
499-
color="primary"
500-
@click="open('stereoConfiguration', 'stereoConfiguration')"
501-
>
502-
Open Stereoscopic Configuration
503-
<v-icon class="ml-2">
504-
mdi-matrix
505-
</v-icon>
506-
</v-btn>
507-
</v-row>
508475
</div>
509476
</div>
510477

@@ -531,7 +498,7 @@ export default defineComponent({
531498
</v-btn>
532499
<v-btn
533500
color="primary"
534-
:disabled="!nextSteps || (stereo && (!calibrationFile && !stereoConfigurationFile))"
501+
:disabled="!nextSteps || (stereo && (!calibrationFile))"
535502
@click="prepForImport"
536503
>
537504
Begin Import

client/dive-common/components/Viewer.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -571,7 +571,7 @@ export default defineComponent({
571571
context.resetActive();
572572
const meta = await loadMetadata(datasetId.value);
573573
574-
isStereoConfigMode.value = meta.stereoConfigurationFile != null;
574+
isStereoConfigMode.value = meta.calibrationFile != null;
575575
576576
const defaultCameraMeta = meta.multiCamMedia?.cameras[meta.multiCamMedia.defaultDisplay];
577577
baseMulticamDatasetId.value = datasetId.value;
@@ -741,7 +741,7 @@ export default defineComponent({
741741
});
742742
}
743743
744-
if (meta.stereoConfigurationFile) {
744+
if (meta.calibrationFile) {
745745
context.register({
746746
component: TrackViewerSettings,
747747
description: 'Track Viewer Settings',

client/platform/desktop/backend/native/multiCamImport.ts

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ async function beginMultiCamImport(args: MultiCamImportArgs): Promise<DesktopMed
108108
calibration: args.calibrationFile,
109109
defaultDisplay: args.defaultDisplay,
110110
},
111-
stereoConfigurationFile: args.stereoConfigurationFile,
112111
subType: null,
113112
};
114113

@@ -177,9 +176,6 @@ async function beginMultiCamImport(args: MultiCamImportArgs): Promise<DesktopMed
177176
cameras[cameraName].imageListPath = jsonMeta.originalBasePath;
178177
cameras[cameraName].originalBasePath = '';
179178
}
180-
if (args.stereoConfigurationFile) {
181-
cameras[cameraName].stereoConfigurationFile = args.stereoConfigurationFile;
182-
}
183179
});
184180
} else if (isKeywordArgs(args)) {
185181
jsonMeta.originalBasePath = args.sourcePath;
@@ -194,9 +190,6 @@ async function beginMultiCamImport(args: MultiCamImportArgs): Promise<DesktopMed
194190
cameras[cameraName].imageListPath = jsonMeta.originalBasePath;
195191
cameras[cameraName].originalBasePath = '';
196192
}
197-
if (args.stereoConfigurationFile) {
198-
cameras[cameraName].stereoConfigurationFile = args.stereoConfigurationFile;
199-
}
200193
});
201194
}
202195
} else {
@@ -205,7 +198,7 @@ async function beginMultiCamImport(args: MultiCamImportArgs): Promise<DesktopMed
205198

206199
if (jsonMeta.multiCam?.cameras && jsonMeta.multiCam.cameras.left
207200
&& jsonMeta.multiCam.cameras.right && (
208-
jsonMeta.multiCam.calibration || jsonMeta.stereoConfigurationFile
201+
jsonMeta.multiCam.calibration
209202
)) {
210203
jsonMeta.subType = 'stereo';
211204
} else if (jsonMeta.multiCam) {

client/platform/desktop/backend/native/viame.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,8 @@ async function runPipeline(
153153
throw new Error('Attempting to run a multicam pipeline on non multicam data');
154154
}
155155

156-
if (meta.stereoConfigurationFile) {
157-
command.push(`-c "${meta.stereoConfigurationFile}"`);
156+
if (meta.calibrationFile) {
157+
command.push(`-c "${meta.calibrationFile}"`);
158158

159159
if (meta.multiCam) {
160160
// eslint-disable-next-line no-restricted-syntax

client/platform/desktop/constants.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export interface Camera {
4141
transcodedImageFiles: string[];
4242
transcodedVideoFile: string;
4343
imageListPath?: string;
44-
stereoConfigurationFile?: string;
44+
calibrationFile?: string;
4545
}
4646

4747
export interface MultiCamDesktop {
@@ -122,7 +122,7 @@ export interface JsonMeta extends DatasetMetaMutable {
122122
// Stereo or multi-camera datasets with uniform type (all images, all video)
123123
subType: SubType;
124124

125-
stereoConfigurationFile?: string; // kwiver *.conf file
125+
calibrationFile?: string; // kwiver *.conf file or *.npz
126126
}
127127

128128
export type DesktopMetadata = DatasetMeta & JsonMeta;

client/platform/desktop/frontend/components/ImportDialog.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export default defineComponent({
4040
}
4141
4242
// Set default attributes for a stereo calibration configuration
43-
if (argCopy.value.jsonMeta.stereoConfigurationFile) {
43+
if (argCopy.value.jsonMeta.multiCam?.calibration) {
4444
argCopy.value.jsonMeta.attributes = {};
4545
4646
// Create x, y, z attributes

docs/UI-Attributes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ Attributes are part of the dataset configuration that can be imported and export
102102
## Reserved Attribute Names
103103

104104
Using certain import mode, attributes definitions might be created automatically. This is documented in this section.
105-
- When importing using 'Stereoscopic Calibration' mode, the `stereo3d_x`, `stereo3d_y` and `stereo3d_z` detection attributes definitions will be created automatically.
105+
- When importing using 'Stereoscopic' mode, the `stereo3d_x`, `stereo3d_y` and `stereo3d_z` detection attributes definitions will be created automatically.
106106
They holds the 3d location of a detected fish and are used in the Track 3D Viewer.
107107

108108
## Applying Attributes Demo

0 commit comments

Comments
 (0)