Workflow

flowchart TB %% Styles classDef input fill:#b3d9ff,stroke:#333,stroke-width:2px classDef core fill:#90EE90,stroke:#333,stroke-width:2px classDef output fill:#FFB366,stroke:#333,stroke-width:2px classDef test fill:#E6E6FA,stroke:#333,stroke-width:2px classDef tools fill:#FFE4B5,stroke:#333,stroke-width:2px %% Input Layer subgraph InputFormats ASD[".asd Files"]:::input IBW[".ibw Files"]:::input SPM[".spm Files"]:::input JPK[".jpk Files"]:::input TOPO[".topostats Files"]:::input GWY[".gwy Files"]:::input end %% Core Processing Layer subgraph CoreProcessing IO["IO Module\n(Base Reader)"]:::core LOG["Logging Module"]:::core subgraph FormatHandlers ASDHandler["ASD Handler"]:::core IBWHandler["IBW Handler"]:::core SPMHandler["SPM Handler"]:::core JPKHandler["JPK Handler"]:::core TOPOHandler["TopoStats Handler"]:::core GWYHandler["GWY Handler"]:::core end end %% Testing Layer subgraph Testing IOTest["IO Tests"]:::test ASDTest["ASD Tests"]:::test IBWTest["IBW Tests"]:::test SPMTest["SPM Tests"]:::test JPKTest["JPK Tests"]:::test TOPOTest["TopoStats Tests"]:::test GWYTest["GWY Tests"]:::test end %% Development Tools subgraph DevTools PreCommit["Pre-commit Config"]:::tools Pylint["Pylint Config"]:::tools end %% Output Layer Output["Standardized Data Format\n- Image Data\n- Scaling Factor\n- Metadata"]:::output %% Relationships ASD --> ASDHandler IBW --> IBWHandler SPM --> SPMHandler JPK --> JPKHandler TOPO --> TOPOHandler GWY --> GWYHandler ASDHandler --> IO IBWHandler --> IO SPMHandler --> IO JPKHandler --> IO TOPOHandler --> IO GWYHandler --> IO IO <--> LOG IO --> Output ASDHandler --- ASDTest IBWHandler --- IBWTest SPMHandler --- SPMTest JPKHandler --- JPKTest TOPOHandler --- TOPOTest GWYHandler --- GWYTest IO --- IOTest %% Click Events click IO "https://github.com/AFM-SPM/AFMReader/blob/main/AFMReader/io.py" click LOG "https://github.com/AFM-SPM/AFMReader/blob/main/AFMReader/logging.py" click ASDHandler "https://github.com/AFM-SPM/AFMReader/blob/main/AFMReader/asd.py" click IBWHandler "https://github.com/AFM-SPM/AFMReader/blob/main/AFMReader/ibw.py" click SPMHandler "https://github.com/AFM-SPM/AFMReader/blob/main/AFMReader/spm.py" click JPKHandler "https://github.com/AFM-SPM/AFMReader/blob/main/AFMReader/jpk.py" click TOPOHandler "https://github.com/AFM-SPM/AFMReader/blob/main/AFMReader/topostats.py" click GWYHandler "https://github.com/AFM-SPM/AFMReader/blob/main/AFMReader/gwy.py" click ASDTest "https://github.com/AFM-SPM/AFMReader/blob/main/tests/test_asd.py" click IBWTest "https://github.com/AFM-SPM/AFMReader/blob/main/tests/test_ibw.py" click SPMTest "https://github.com/AFM-SPM/AFMReader/blob/main/tests/test_spm.py" click JPKTest "https://github.com/AFM-SPM/AFMReader/blob/main/tests/test_jpk.py" click TOPOTest "https://github.com/AFM-SPM/AFMReader/blob/main/tests/test_topostats.py" click GWYTest "https://github.com/AFM-SPM/AFMReader/blob/main/tests/test_gwy.py" click IOTest "https://github.com/AFM-SPM/AFMReader/blob/main/tests/test_io.py" click PreCommit "https://github.com/AFM-SPM/AFMReader/blob/main/.pre-commit-config.yaml" click Pylint "https://github.com/AFM-SPM/AFMReader/blob/main/.pylintrc"

Generated using GitDiagram