bakalářská práce

Služby pro krystalografickou databázi

Text práce 3.92 MB

Autor práce: Bc. Aron Vilímek

Ak. rok: 2025/2026

Vedoucí: Ing. Zbyněk Křivka, Ph.D.

Oponent: RNDr. Marek Rychlý, Ph.D.

Abstrakt:

Bakalářská práce se zabývá návrhem a implementací lokální databázové služby pro krystalografická data odvozená ze souborů CIF a její integrací do nástroje pro práci s EBSD daty. V teoretické části práce jsou shrnuty základní krystalografické pojmy, vlastnosti formátu CIF, existující krystalografické databáze a technologické přístupy vhodné pro ukládání, vyhledávání a zpřístupnění těchto dat. Dále jsou analyzovány možnosti mezisystémové komunikace se zaměřením na vzdálené volání procedur, zejména gRPC. Na základě této analýzy je navržena a implementována služba umožňující import, ukládání, vyhledávání a správu krystalografických záznamů a jejich organizaci do skupin. Implementace využívá jazyk Rust, embedded databázi a gRPC rozhraní pro komunikaci s klientskou aplikací. Součástí výsledného řešení je také grafický klient umožňující vyhledávání, filtrování a správu záznamů a dále vizualizační vrstva pro zobrazení elementární buňky, Kikuchiho sféry a projekce reflektorových pásů do patternu. Práce zhodnocuje dosažené výsledky, přínosy navržené architektury a naznačuje možné směry dalšího rozvoje.

Klíčová slova:

krystalografie, CIF, EBSD, lokální databázová služba, gRPC, Rust, vizualizace krystalových struktur

Termín obhajoby

18.06.2026

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znamkaCznamka

Klasifikace

C

Průběh obhajoby

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm C.

Otázky k obhajobě

  1. Popis implementace a interakce s databázovou vrstvou v kap. 6.1 je nepřehledný. Popište, jak to funguje, diagramem.
  2. V kap. 6.3.2 popisujete "generování geometrie v Rustu", avšak žádný netriviální Rust kód zde neuvádíte. Vysvětlete, v čem je v tomto generování Rust specifický, např. v porovnání se stejným postupem v jazyce JavaScript či jiném vhodném pro integraci do použité platformy.

Jazyk práce

čeština

Fakulta

Ústav

Studijní program

Informační technologie (BIT)

Složení komise

doc. Dr. Ing. Dušan Kolář (předseda)
doc. Ing. Vladimír Janoušek, Ph.D. (místopředseda)
Ing. Radek Hranický, Ph.D. (člen)
Ing. Jiří Matoušek, Ph.D. (člen)
Ing. Zdeněk Materna, Ph.D. (člen)

Posudek vedoucího
Ing. Zbyněk Křivka, Ph.D.

Student prokázal značnou míru samostatnosti, ale ne na úkor konzultací s vedoucím. Demonstrovaná výsledná aplikace splňuje požadavky a vypadá prakticky použitelně. Její kvalitu z hlediska UI/UX budou muset posoudit její budoucí odborní uživatelé. Z pohledu vedoucího navrhuji stupeň B.

Kritérium hodnocení Slovní hodnocení
Informace k zadání

Práce se zabývá technologickou aktualizací proprietární aplikace pro práci s krystalografickými daty. Jednalo se k aktualizaci jak datové, tak prezentační vrstvy společně s přechodem na webové a jiné moderní technologie. Student se tak musel zorientovat v netradiční znalostní doméně, kde se používají neSQL databáze a aplikace má poměrně specifické prvky grafického uživatelského rozhraní.

Práce s literaturou

Student si nad rámec doporučené literatury doplnil řadu relevantních pramenů, ať už o dané doméně, či nových relevantních technologiích.

Aktivita během řešení, konzultace, komunikace

Student nakonec pracoval na tématu 2 roky a aktivita na řešení tím byla částečně ovlivněna, protože značnou část práce měl student již hotovu z minulého roku. Většina letošní práce byla soustředěna do letního semestru, kdy student několikrát konzultoval včetně ilustrace, co již implementoval a dále ohledně struktury textu práce.

Aktivita při dokončování

Student konzultoval několik verzí a průběžně zapracoval všechny připomínky vedoucího.

Publikační činnost, ocenění

Nejsem si vědom publikační činnosti.

Výsledný počet bodů navržený vedoucím: 80

Známka navržená vedoucím: B

Technická zpráva i výsledné programové řešení vykazují drobné nedostatky a celkově jsou spíše průměrné kvality. Navrhuji hodnotit práci stupněm dobře (C).

Kritérium hodnocení Slovní hodnocení Body
Náročnost zadání

Stupeň hodnocení: průměrně obtížné zadání

Jedná se o průměrně obtížné zadání. Řešení stavělo na existujících knihovnách a technologiích a, přestože vyžadovalo pochopení složité problematiky krystalografie, z pohledu informačních technologií nebylo obtížnější.

Prezentační úroveň technické zprávy

Technická zpráva má logickou strukturu, některé kapitoly by však bylo vhodné rozdělit. Např. kap. 6.1 popisuje různé aspekty implementované databázové vrstvy v dlouhém souvislém textu a také další podkapitoly v kap. 6 jsou značně nepřehledné. Text technické zprávy je v českém jazyce, avšak popis uvnitř diagramů a tabulek je anglicky. Tabulka 5.1 na str. 25 prezentuje výsledky výkonnostního testování různých způsobů uložení a načítání dat, avšak tyto způsoby nejsou nikde v práci popsány, resp. neodpovídají zcela způsobům představeným v předchozích kapitolách (zejména kap. 3.3). Celkově je text místy špatně pochopitelný, zejména při popisu vlastního řešení.

75
Formální úprava technické zprávy

Po typografické stránce je technická zpráva v pořádku (s výjimkou chybějící tečky za 1. odst. na str. 22 a příliš malého písma v obr. 5.1/5.2 na str. 23/24). Text obsahuje jazykové nedostatky, např. anglické popisky ve vlastním obr. 5.1 a 5.2 nad str. 23 a 24 (případně chybějící zdroj, pokud je obrázek převzat), nevhodné skloňování cizích slov a názvů (např. "ve Figmě" na str. 27), a celkově neobratný styl, který místy stěžuje porozumění, zejména u málo strukturovaných kapitol (kap. 6).

75
Realizační výstup

Realizačním výstupem je CIF parser a úplná databázová služba pro krystalografická data (obojí v jazyce Rust) a klientská aplikace pro přidávání a vizualizaci dat s uživatelským rozhraním (v React s Rust komponentami přes Wasm). Oceňuji povedené a prakticky zaměřené uživatelské rozhraní v aplikaci pro vizualizaci. Programový kód je dobře členěn, testován v kritických částech (spíše integrační testy), avšak není dostatečně komentován (zejména chybí strukturované komentáře), což může komplikovat jeho další využití.

85
Využitelnost výsledků

Výsledky práce jsou prakticky použitelné, jak prokazuje očekávané nasazení spol. Thermo Fisher Scientific.

Rozsah splnění požadavků zadání

Stupeň hodnocení: zadání splněno

Zadání je splněno v celém rozsahu.

Rozsah technické zprávy

Stupeň hodnocení: je v obvyklém rozmezí

Technická zpráva je svým rozsahem v obvyklém rozmezí, od úvodu po závěr obsahuje 49 vysázených stran (76 normostran). Všechny části technické zprávy jsou informačně bohaté a pro práci skutečně nezbytné.

Práce s literaturou

Seznam literatury obsahuje 36 položek, z nichž přibližně polovinu tvoří odborná literatura a zbytek online zdroje. Prameny jsou popsány dle zvyklostí, s výjimkou chybějících dat citací u online zdrojů, a v textu práce je dobře patrný způsob a rozsah jejich použití. V případě pol. 13-14 je nevhodně organizace Oxford Instruments zkrácena jako jméno autora.

75
Otázky k obhajobě:
  1. Popis implementace a interakce s databázovou vrstvou v kap. 6.1 je nepřehledný. Popište, jak to funguje, diagramem.
  2. V kap. 6.3.2 popisujete "generování geometrie v Rustu", avšak žádný netriviální Rust kód zde neuvádíte. Vysvětlete, v čem je v tomto generování Rust specifický, např. v porovnání se stejným postupem v jazyce JavaScript či jiném vhodném pro integraci do použité platformy.
Výsledný počet bodů navržený oponentem: 79

Známka navržená oponentem: C

Odpovědnost: Mgr. et Mgr. Hana Odstrčilová