summaryrefslogtreecommitdiff
path: root/app/relay/modules/morph.js
blob: 793a270077b97506743b7217878c256efcf34335 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import path from 'path'
import moment from 'moment'

const name = 'morph'
const cwd = process.env.MORPH_CWD || path.join(process.cwd(), '..', 'pytorch-sepconv')

const morph = {
  type: 'pytorch',
  script: 'test.pl',
  params: (task) => {
    let params = [
      '--first', path.join(cwd, '..', task.opt.dataset_module, 'sequences', task.opt.a),
      '--second', path.join(cwd, '..', task.opt.dataset_module, 'sequences', task.opt.b),
      '--a-offset', task.opt.a_offset,
      '--b-offset', task.opt.b_offset,
      '--steps', task.opt.steps,
      '--dilate', task.opt.dilate,
      '--video-out', ['morph', task.opt.mode, task.opt.dataset, moment().format('%YYYY%MM%DD_%hh%mm')].join('_') + '.mp4',
      '--endpoint', process.env.API_REMOTE + '/api/folder/' + task.folder_id + '/upload/',
    ]
    if (task.opt.mode === 'average') {
      params.push('--average-videos')
      params.push('True')
    } else {
      params.push('--mix-videos')
      params.push('True')
    }
    if (task.opt.smooth) {
      params.push('--smooth')
      params.push('True')
    }
    return params
  }
}

export default {
  name, cwd,
  activities: {
    morph,
  }
}