-
-
Click or drag inference result here to upload
+
+
+ Select Inference Result:
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
Select or drag the inference result file(.pkl) here to upload
+
+
+
+
Waiting for server response...
+
-
+
-
+
Selected Scene: {{ localSceneName }}
- sequence length : {{ localSeqLen }}
- max coverage rate : {{ localMaxCoverageRate }}%
- best sequence length : {{ localBestSeqLen }}
- best sequence :
-
-
-
- [{{ index }} ]
- frame id: {{ item['frame'] }}
- coverage rate: {{ item['coverage_rate'] }}%
-
-
+
+ sequence length : {{ localSeqLen }}
+
+
+ max coverage rate : {{ localMaxCoverageRate
+ }}%
+
+
+ best sequence length : {{ localBestSeqLen }}
+
+
+ best sequence :
+
+
+
+
+ [{{ index }} ]
+ frame id: {{ item['frame'] }}
+ coverage rate: {{ item['coverage_rate'] }}%
+
+
-
+
-
+
Load Sequence
@@ -86,6 +101,8 @@ export default {
localBestSeq: null,
localDisableBtn: false,
sceneNameList: null,
+ loading: false,
+
seqFrameData: []
};
},
@@ -96,47 +113,81 @@ export default {
},
methods: {
getSceneList() {
- const params = {dataset_name: this.localDatasetName};
+ const params = { dataset_name: this.localDatasetName };
this.$ajax.postjson('/get_scene_list', params)
- .then((data) => {
- if (data.success == true) {
- this.sceneNameList = data.scene_list;
- } else {
- this.$Message.error("error");
- }
- });
- },
+ .then((data) => {
+ if (data.success == true) {
+ this.sceneNameList = data.scene_list;
+ } else {
+ this.$Message.error("error");
+ }
+ });
+ },
handleSceneChange(val) {
this.localSceneName = val;
- const params = {dataset_name: this.localDatasetName, scene_name: val};
+ const params = { dataset_name: this.localDatasetName, scene_name: val };
this.$ajax.postjson('/get_scene_info', params)
- .then((data) => {
- if (data.success == true) {
- this.localSeqLen = data.sequence_length;
- this.localMaxCoverageRate = data.max_coverage_rate;
- this.localBestSeqLen = data.best_sequence_length;
- this.localBestSeq = data.best_sequence;
- } else {
- this.$Message.error("error");
- }
- });
+ .then((data) => {
+ if (data.success == true) {
+ this.localSeqLen = data.sequence_length;
+ this.localMaxCoverageRate = data.max_coverage_rate;
+ this.localBestSeqLen = data.best_sequence_length;
+ this.localBestSeq = data.best_sequence;
+ } else {
+ this.$Message.error("error");
+ }
+ });
},
handleLoadSeq() {
- const params = {dataset_name: this.localDatasetName, scene_name: this.localSceneName, sequence: this.localBestSeq};
+ const params = { dataset_name: this.localDatasetName, scene_name: this.localSceneName, sequence: this.localBestSeq };
this.localDisableBtn = true;
this.$emit('set-loading', true);
this.$ajax.postjson('/get_frame_data', params)
- .then((data) => {
- if (data.success == true) {
- this.seqFrameData = data.seq_frame_data;
- } else {
- this.$Message.error("error");
- }
- this.localDisableBtn = false;
- this.$emit('update-seq', data);
- this.$emit('set-loading', false);
- });
-
+ .then((data) => {
+ if (data.success == true) {
+ this.seqFrameData = data.seq_frame_data;
+ } else {
+ this.$Message.error("error");
+ }
+ this.localDisableBtn = false;
+ this.$emit('update-seq', data);
+ this.$emit('set-loading', false);
+ });
+
+ },
+ beforeUploadInferenceResultFile(file) {
+ this.loading = true;
+ const isPkl = file.name.endsWith('.pkl');
+ if (!isPkl) {
+ this.$Notice.warning({
+ title: 'File format error',
+ desc: 'You can only upload a .pkl file'
+ });
+ this.loading = false;
+ return false;
+ }
+ const formData = new FormData();
+ formData.append('file', file);
+ this.$ajax.postfile('/analysis_inference_result', formData)
+ .then((data) => {
+ if (data.success == true) {
+
+ this.$Notice.success({
+ title: 'Successfully parsed the file',
+ desc: 'inference results are found in the uploaded file.'
+ });
+ this.loading = false;
+ } else {
+ console.log(data.success, data.message)
+ this.$Notice.error({
+ title: 'Failed to parse the file',
+ desc: 'Error message: ' + data.message
+ });
+ this.loading = false;
+ }
+ });
+
+ return false;
},
},
};
diff --git a/src/components/content/cards/ViewDistributionCard_IRV.vue b/src/components/content/cards/ViewDistributionCard_IRV.vue
new file mode 100644
index 0000000..b705599
--- /dev/null
+++ b/src/components/content/cards/ViewDistributionCard_IRV.vue
@@ -0,0 +1,349 @@
+
+
+
+
+
+ View Distribution
+
+
+
+
+
+
+
+
+
+
+
+
+ Current Frame ID:
+
+
+
+ {{ chosen_frame_id == null?"no camera is selected": chosen_frame_id }}
+
+
+
+ Depth(L)
+
+
+
+
+
+
+ Mask(L)
+
+
+
+
+
+
+
+
+
+
+ NBV Sequence: [{{ selected_idx }} /{{ seqFrameData.length -1 }} ]
+
+
+
+
+
+
+
+
diff --git a/src/components/content/cards/RecResultCard.vue b/src/components/content/old/RecResultCard.vue
similarity index 99%
rename from src/components/content/cards/RecResultCard.vue
rename to src/components/content/old/RecResultCard.vue
index 69e36e9..bb29ca4 100644
--- a/src/components/content/cards/RecResultCard.vue
+++ b/src/components/content/old/RecResultCard.vue
@@ -51,6 +51,7 @@ import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';
export default {
props: {
seqFrameData: Array,
+ hasImg: Boolean,
},
data() {
return {