a b/scripts/makesets.sh
1
#!/bin/bash
2
3
#CLASSES=(infl normal)
4
#DATADIR=../data/data_1024/infl_split/
5
#DATADIR=/repos/data/data_128_subsample_8x/fullsplit/
6
7
#CLASSES=(glom normal)
8
9
#DATADIR=../data/data_1024/glom_split/
10
DATADIR="$1"
11
cd $DATADIR;
12
DATADIR=$(pwd -P)
13
cd -
14
15
CLASSES=(lymph norm)
16
echo "CLASSES:"
17
for CLASS in ${CLASSES[@]}
18
do
19
    echo -e "\t$CLASS"
20
done
21
22
#val_ids=(70bb3032750d09e7549928c0dbf79afc30d7cb68 a1fc67fbb21f43b9e8904b9b46bd94f83493b37a f7f931a5cf3185a385e9aa34e6e9a566fc88000)
23
#trainids=(c886827fe8c10b4699a0f1616331e36b46a05617 dfe3ee768f72bddd289c7d5bb88b15cbb89be7e6)
24
25
SETFILE=~/repos/tables/splits-2019-03-24.csv
26
27
readarray train_ids < <(grep 'train' $SETFILE | cut -f1 -d',' )
28
readarray test_ids < <(grep 'test' $SETFILE | cut -f1 -d',' )
29
readarray val_ids < <(grep 'val' $SETFILE | cut -f1 -d',' )
30
31
echo -e "test\t${test_ids[1]}"
32
#val_ids=(01c02ba0782776e0aee49c751d170fb5a7f3e189 1613eab8267591c8aad6db6c18308c970bdb0229 4aeba5a0fd1fd39eb494ee759c8d3d566a30bf63 56356da1a0fa39a7394f83e45ff50bd0f54d9461 8250cc470d1320502cfdd7022d410de161885945 88f73323af6f45440a7a532dc4f5aca51c624f5c)
33
34
realpath() {
35
    [[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}"
36
}
37
38
for CLASS in ${CLASSES[@]}
39
do
40
    mkdir -p ${DATADIR}/val/${CLASS}
41
    mkdir -p ${DATADIR}/train/${CLASS}
42
    mkdir -p ${DATADIR}/test/${CLASS}
43
44
    for id in ${test_ids[@]}
45
    do
46
        echo ""
47
        echo -e "ID:\t$id"
48
        #ln -s ${DATADIR}/all/${CLASS}/${id}* ${DATADIR}/train/${CLASS}/
49
        #find ${DATADIR}/all/${CLASS}/ -name "${id}*" -exec sh -c 'echo $PWD/$(readlink $1) ' _ {} \;
50
        #find ${DATADIR}/all/${CLASS}/ -name "${id}*" -exec sh -c 'ln -s $PWD/$(readlink $1) '${DATADIR}/train/${CLASS}/'' _ {} \;
51
        find ${DATADIR}/all/${CLASS}/ -name "${id}*" -exec sh -c 'ln -s $(readlink -f $1) '${DATADIR}/test/${CLASS}/'' _ {} \;
52
    done
53
    echo -e "see\t${DATADIR}/test/"
54
55
    for id in ${train_ids[@]}
56
    do
57
        #echo ""
58
        #ln -s ${DATADIR}/all/${CLASS}/${id}* ${DATADIR}/train/${CLASS}/
59
        #find ${DATADIR}/all/${CLASS}/ -name "${id}*" -exec sh -c 'echo $PWD/$(readlink $1) ' _ {} \;
60
        #find ${DATADIR}/all/${CLASS}/ -name "${id}*" -exec sh -c 'ln -s $PWD/$(readlink $1) '${DATADIR}/train/${CLASS}/'' _ {} \;
61
        find ${DATADIR}/all/${CLASS}/ -name "${id}*" -exec sh -c 'ln -s $(readlink -f $1) '${DATADIR}/train/${CLASS}/'' _ {} \;
62
    done
63
    echo -e "see\t${DATADIR}/train/"
64
65
    for id in ${val_ids[@]}
66
    do
67
        #ln -s ${DATADIR}/all/${CLASS}/${id}* ${DATADIR}/val/${CLASS}/
68
        find ${DATADIR}/all/${CLASS}/ -name "${id}*" -exec sh -c 'ln -s $(readlink -f $1) '${DATADIR}/val/${CLASS}/'' _ {} \;
69
        #find ${DATADIR}/all/${CLASS}/ -name "${id}*" -exec sh -c 'ln -s $PWD/$(readlink $1) '${DATADIR}/val/${CLASS}/'' _ {} \;
70
    done
71
    echo -e "see\t${DATADIR}/val/"
72
done