AUTOMATICKÁ KLASIFIKACE MR SNÍMKŮ SRDEČNÍCH ROVIN
	Sebastian Černý (246991), 2025

Složka obsahuje použité kódy při experimentech, včetně předzpracování obrázků, natrénování modelů a jejich otestování.
Natrénované modely nejsou součástí složky z důvodu velké velikosti souboru, proto jsou nahrané na Google disk a dostupné na následujícím odkazu:
https://drive.google.com/drive/folders/1pmTEYOGKwpRogD_MW09cFN7JgYPU4gah?usp=sharing


Verze hlavních použitých softwarů:
- Microsoft Windows Version : 10.0.19045.5854
- Python version: 3.11.2 64-bit
- Visal Studio Code version: 1.100.2
- numpy version: 1.26.3
- torch version: 2.5.1+cu118 
- seaborn version: 0.13.2    
- scikit-learn version: 1.5.2
- Fiji (ImageJ) 1.54p, Java 1.8.0_322 (64-bit)


Složka "preprocessing":

  Convert2PNG.py
  - Skript na získání PNG obrazů z různých formátů jako DICOM (dcm), NIFTI (nii) nebo JPG

  ConvertDB.py
  - Skript vuyžívající funkce z předchozího skriptu na všechny pacienty v datasetu

  DatasetNormalization.py
  - Skript obsahující funkce na normalizaci snímků

  NormalizeData.py
  - Skript využívající funkce z výše uvedeného skriptu na normalizaci všech dat ve složce

  GetAnnotation.py
  - Skript, který slouží k vytvoření CSV souboru obsahující názvy obrazů a jejich anotaci, který je použit při testování modelů

  getMeanSTD.py
  - Skript pro získání globálních hodnot střední hodnoty a směrodatné odchylky všech snímků v trénovacím datasetu


Složka "TrainingAndTestingModels.py"
  MainTraining.py
  - Skript sloužící na trénování vlastního modelu se základní architekturou, včetně úprav vstupních dat (Augmentace, Manuální vyrovnání datasetu) 
  - Tento skript sloužil jako předloha pro další trénovací skripty, které byly upraveny dle potřeby

  Test_MyCNN.py
  - Skript sloužící pro testování vlastního modelu včetně změn v architektuře nebo typu vstupních dat
  
  Test_TransferModel.py
  - Skript pro testování natrénovaného veřejně dostupného modelu na testovacím datasetu

  Training_ArchitectModifications.py
  - Skript pro trénování vlastního modelu, kde byly provedeny změny v architektuře součástí experimentu 1

  Training_GradientImage.py
  - Skript pro trénování vlastního modelu na kombinacích gradientního obrazu součástí experimentu 4

  Training_SMOTE.py
  - Skript pro trénování vlastního modelu upraveném datasetu obsahující syntetizované obrázky popsané v experimentu 3

  Training_TransferLearning.py
  - Skript pro trénování veřejně dostupných modelů z knihovny PyTorch
  - obsahuje více modelů, které nakonec nebyly využity















