image_sort.py 1.91 KB
Newer Older
1
2
3
4
"""
Diese Klasse sortiert die source_images anhand der source_emotions in die Ordner des sorted_set ein
"""

Arne Gerdes's avatar
Arne Gerdes committed
5
6
7
import glob
from shutil import copyfile

8
9
10
11
12
13
14
15
16
"""
Array der Emotionen
Gibt die Reihenfolge der Emotionen an (Labels von 0-7)
"""
emotions = ["neutral", "anger", "contempt", "disgust", "fear", "happy", "sadness", "surprise"]

"""
Liste mit den Dateiordnern aller Teilnehmer 
"""
17
participants = glob.glob("img_data/source_emotion/*")
Arne Gerdes's avatar
Arne Gerdes committed
18
19

for x in participants:
20
21
22
23
24

    """
    Teilnehmernummer 
    """
    number = "%s" % x[-4:]
25
26
    for sessions in glob.glob("%s/*" % x):
        for files in glob.glob("%s/*" % sessions):
27
28
29
30
            """
            Sessionnummer
            """
            current_session = files[31:-30]
Arne Gerdes's avatar
Arne Gerdes committed
31

32
33
34
35
36
37
38
39
40
            """
            Öffnet die zur aktuellen Emotion korrelierende .txt Datei
            """
            file = open(files, 'r')

            """
            In der Datei steht die aktuell betrachtete Emotion, kodiert als folat-Wert 
            """
            emotion = int(float(file.readline()))
Arne Gerdes's avatar
Arne Gerdes committed
41

42
            source_emotions = glob.glob("img_data/source_images/%s/%s/*.png" % (number, current_session))
43
            source_emotions.sort()
Arne Gerdes's avatar
Arne Gerdes committed
44

45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
            """
            Das letzte Bild einer Sequenz ist eine ausgeprägte Emotion
            """
            sourcefile_emotion = source_emotions[-1]

            """
            Das erste Bild ist ein neutraler Ausdruck
            """
            sourcefile_neutral = source_emotions[0]

            """
            Erstellt neue Pfade zum einsortieren
            
            Für den neutralen Ausdruck 
            Für die Emotion 
            """
61
62
            dest_neut = "img_data/sorted_set/neutral/%s" % sourcefile_neutral[36:]
            dest_emot = "img_data/sorted_set/%s/%s" % (emotions[emotion], sourcefile_emotion[36:])
Arne Gerdes's avatar
Arne Gerdes committed
63

64
            """Kopiert Dateien"""
65
            copyfile(sourcefile_neutral, dest_neut)
66
            copyfile(sourcefile_emotion, dest_emot)