PRISMS B KFT Decoder

    graph TD
    %% Style definitions
    classDef decoder fill:#9ff,stroke:#333,stroke-width:2px,color:#333;
    classDef auxHead fill:#ccf,stroke:#333,stroke-width:2px,color:#333;
    classDef regulation fill:#ffb380,stroke:#333,stroke-width:2px,color:#333;
    classDef output fill:#ffcc99,stroke:#333,stroke-width:2px,color:#333;
    
    %% PART B: KANLBEZOGENER FUSION TRANSFORMER ARCHITECTURE
    
    %% Decoder Input from Bottleneck
    INPUT_FEATURES["Gewichtete Merkmale<br/>von SRA<br/>(dex1-dex5)"]:::decoder
    
    %% KFT Architecture Simplified
    subgraph KFT
        %% Multi-scale structure with explicit levels
        subgraph LEVEL5["Level 5 (Tiefste)"]
            CT5["CT5: MultiCrossToken<br/>(5×5×5, basic_dims×16)"]:::decoder
            D5["d5: Decoder Block<br/>(Faltung + Upsampling)"]:::decoder
            PRM5["PRM5: Hilfs-Head<br/>(5×5×5 → num_cls)"]:::auxHead
        end
        
        subgraph LEVEL4["Level 4"]
            CT4["CT4: MultiCrossToken<br/>(10×10×10, basic_dims×8)"]:::decoder
            D4["d4: Decoder Block<br/>(Faltung + Upsampling)"]:::decoder
            PRM4["PRM4: Hilfs-Head<br/>(10×10×10 → num_cls)"]:::auxHead
        end
        
        subgraph LEVEL3["Level 3"]
            RFM3["RFM3: Regionen Fusion<br/>(20×20×20, basic_dims×4)"]:::decoder
            D3["d3: Decoder Block<br/>(Faltung + Upsampling)"]:::decoder
            PRM3["PRM3: Hilfs-Head<br/>(20×20×20 → num_cls)"]:::auxHead
        end
        
        subgraph LEVEL2["Level 2"]
            RFM2["RFM2: Regionen Fusion<br/>(40×40×40, basic_dims×2)"]:::decoder
            D2["d2: Decoder Block<br/>(Faltung + Upsampling)"]:::decoder
            PRM2["PRM2: Hilfs-Head<br/>(40×40×40 → num_cls)"]:::auxHead
        end
        
        subgraph LEVEL1["Level 1 (Oberflächlichste)"]
            RFM1["RFM1: Regionen Fusion<br/>(80×80×80, basic_dims)"]:::decoder
            D1["d1: Decoder Block<br/>(Finale Faltung)"]:::decoder
            PRM1["PRM1: Hilfs-Head<br/>(80×80×80 → num_cls)"]:::auxHead
        end
        
        %% Final Segmentation Layer
        SEG_LAYER["Segmentierungs-Layer<br/>(1×1 Conv, basic_dims → num_cls)"]:::decoder
    end
    
    %% Upsampling for Regulation
    subgraph REGULATION["Progressive Verfeinerung"]
        UP1["Identität (1×)<br/>Für PRM1"]:::regulation
        UP2["Upsample (2×)<br/>Für PRM2"]:::regulation
        UP4["Upsample (4×)<br/>Für PRM3"]:::regulation
        UP8["Upsample (8×)<br/>Für PRM4"]:::regulation
        UP16["Upsample (16×)<br/>Für PRM5"]:::regulation
    end
    
    %% Final Output
    FINAL_OUT["Finale Segmentierung<br/>(80×80×80, num_cls)"]:::output
    
    %% Connect Components
    INPUT_FEATURES --> CT5
    
    %% Level 5 connections
    CT5 --> D5
    D5 --> PRM5
    D5 --> CT4
    
    %% Level 4 connections
    CT4 --> D4
    D4 --> PRM4
    D4 --> D3
    
    %% Level 3 connections
    INPUT_FEATURES --> RFM3
    RFM3 --> D3
    D3 --> PRM3
    D3 --> D2
    
    %% Level 2 connections
    INPUT_FEATURES --> RFM2
    RFM2 --> D2
    D2 --> PRM2
    D2 --> D1
    
    %% Level 1 connections
    INPUT_FEATURES --> RFM1
    RFM1 --> D1
    D1 --> PRM1
    D1 --> SEG_LAYER
    
    %% Segmentation to output
    SEG_LAYER --> FINAL_OUT
    
    %% PRM to regulation
    PRM1 --> UP1
    PRM2 --> UP2
    PRM3 --> UP4
    PRM4 --> UP8
    PRM5 --> UP16
    
    %% Technical Details
    TECH_DETAILS["IMPLEMENTIERUNGSDETAILS:<br/><br/>• basic_dims = 8 (Basis-Kanaldimension)<br/>• num_cls = Anzahl der Segmentierungsklassen<br/>• KFT beinhaltet Skip-Verbindungen vom Encoder<br/>• Hilfs-Heads (PRM1-5) ermöglichen Deep Supervision"]
    style TECH_DETAILS fill:#eee,stroke:#333,stroke-width:1px,color:#333