-
Notifications
You must be signed in to change notification settings - Fork 0
/
create-dataset.SUBSET.js
78 lines (53 loc) · 1.91 KB
/
create-dataset.SUBSET.js
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// http://decsai.ugr.es/cvg/CG/base.htm
// node --max-old-space-size=8192 create-dataset.SUBSET.js 30
const netTools = require('./netTools.js');
async function createSubsetInputData( path, filter, subset=10 ){
const dataset = { input: [], output: [] };
const files = await netTools.readAllImages(path, filter); // './raw/', '.y.jpg');
for( let file of files ){
console.log({file});
let inp_name = file.replace( filter, '' );
const inp_image = await netTools.Jimp.read( `${path}/${file}` );
const out_image = await netTools.Jimp.read( `${path}/${inp_name}.n.jpg` );
const W = inp_image.bitmap.width;
const H = inp_image.bitmap.height;
// pixBuff2DSubsetToNormArray2DSubset( );
for( let y=0; y<H; y++ ){
for( let x=0; x<(W-subset); x+=subset ){
let input_subset = [];
let output_subset = [];
for( let sub_x=x; sub_x<(x+subset); sub_x++ ){
input_subset.push( netTools.normalizeRGBAPixel( inp_image, sub_x, y ) );
output_subset.push( netTools.normalizeRGBAPixel( out_image, sub_x, y ) );
}
dataset.input.push( input_subset );
dataset.output.push( output_subset );
}
// break;
}
}
return dataset;
}
(async ()=>{
console.log(' start ...');
const W = 32 *4 *2 *2;
const H = 32 *4 *2 *2;
// const W = 32 *2;
// const H = 32 *2;
const SUBSET = (+process.argv[ 2 ]);
if( !SUBSET ){
console.warn(' #No SUBSET: aborting ...');
console.log({SUBSET});
process.exit();
}
console.log({W, H});
const dataset = await createSubsetInputData( `./dark-light-2/${W}x${H}`, '.y.jpg', SUBSET );
console.json({
dataset: dataset.input.length,
input: dataset.input[0].length,
output: dataset.output[0].length,
})
const dataset_name = `./dataset.${W}x${H}.SUBSET.${SUBSET}.json`;
console.log({dataset_name})
console.jsonToFile( dataset_name, dataset, true, 2, true );
})();