cvat/tests/cypress/support/default-specs.js

85 lines
2.3 KiB
JavaScript

// Copyright (C) CVAT.ai Corporation
//
// SPDX-License-Identifier: MIT
function defaultTaskSpec({
labelName,
labelType,
taskName,
serverFiles,
startFrame,
frameFilter,
segmentSize,
validationParams,
projectID,
}) {
const taskSpec = {
labels: [
{ name: labelName, attributes: [], type: labelType || 'any' },
],
name: taskName,
project_id: projectID || null,
source_storage: { location: 'local' },
target_storage: { location: 'local' },
};
if (segmentSize) {
taskSpec.segment_size = segmentSize;
}
const dataSpec = {
server_files: serverFiles,
image_quality: 70,
use_zip_chunks: true,
use_cache: true,
sorting_method: (validationParams && validationParams.mode === 'gt_pool') ? 'random' : 'lexicographical',
};
if (startFrame) {
dataSpec.start_frame = startFrame;
}
if (frameFilter) {
dataSpec.frame_filter = frameFilter;
}
const extras = {};
if (validationParams) {
const convertedParams = {};
if (validationParams.mode) {
convertedParams.mode = validationParams.mode;
}
if (validationParams.frameSelectionMethod) {
convertedParams.frame_selection_method = validationParams.frameSelectionMethod;
}
if (validationParams.randomSeed) {
convertedParams.random_seed = validationParams.randomSeed;
}
if (validationParams.frames) {
convertedParams.frames = validationParams.frames;
}
if (validationParams.frameCount) {
convertedParams.frame_count = validationParams.frameCount;
}
if (validationParams.frameShare) {
convertedParams.frame_share = validationParams.frameShare;
}
if (validationParams.framesPerJobCount) {
convertedParams.frames_per_job_count = validationParams.framesPerJobCount;
}
if (validationParams.framesPerJobShare) {
convertedParams.frames_per_job_share = validationParams.framesPerJobShare;
}
extras.validation_params = convertedParams;
}
return {
taskSpec,
dataSpec,
extras,
};
}
module.exports = {
defaultTaskSpec,
};