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

5 6 7
import glob
from shutil import copyfile

8 9 10 11 12 13 14 15 16 17
"""
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 
"""
participants = glob.glob("basis_data/source_emotion/*")
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]
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()))
41

42 43
            source_emotions = glob.glob("basis_data/source_images/%s/%s/*.png" % (number, current_session))
            source_emotions.sort()
44

45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
            """
            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 
            """
            dest_neut = "basis_data/sorted_set/neutral/%s" % sourcefile_neutral[36:]
            dest_emot = "basis_data/sorted_set/%s/%s" % (emotions[emotion], sourcefile_emotion[36:])
63

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