| 
							 | 
						digraph ImagePredictionFlow { | 
					
					
						
						| 
							 | 
						    graph [fontname="Arial", fontsize="10", rankdir="TB"];  | 
					
					
						
						| 
							 | 
						    node [shape="rect", style="rounded,filled", fontname="Arial", fontsize="10", fillcolor="lightblue", gradientangle="90"]; | 
					
					
						
						| 
							 | 
						    edge [fontname="Arial", fontsize="8"]; | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						    A [label="User Upload,\nPredict", fillcolor="lightgreen"];  | 
					
					
						
						| 
							 | 
						    B [label="Img Pre-proc,\nAgent Init", fillcolor="lightyellow"]; | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						    subgraph cluster_models { | 
					
					
						
						| 
							 | 
						        label = "Model Ensemble"; | 
					
					
						
						| 
							 | 
						        style = "dashed"; | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						        ImageIn [shape=point, label="", width=0, height=0]; | 
					
					
						
						| 
							 | 
						        Model1 [label="Model1", fillcolor="lightcoral"];    | 
					
					
						
						| 
							 | 
						        Model2 [label="Model2", fillcolor="lightcoral"]; | 
					
					
						
						| 
							 | 
						        Model3 [label="Model3", fillcolor="lightcoral"]; | 
					
					
						
						| 
							 | 
						        Model4 [label="Model4", fillcolor="lightcoral"]; | 
					
					
						
						| 
							 | 
						        Model5 [label="Model5", fillcolor="lightcoral"]; | 
					
					
						
						| 
							 | 
						        Model6 [label="Model6", fillcolor="lightcoral"]; | 
					
					
						
						| 
							 | 
						        Model7 [label="Model7", fillcolor="lightcoral"]; | 
					
					
						
						| 
							 | 
						        WeightedConsensusInput [label="Model Results", fillcolor="lightyellow"];   | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						        ImageIn -> Model1;  ImageIn -> Model2;  ImageIn -> Model3;  ImageIn -> Model4;  ImageIn -> Model5;  ImageIn -> Model6;  ImageIn -> Model7; | 
					
					
						
						| 
							 | 
						        Model1 -> WeightedConsensusInput;  Model2 -> WeightedConsensusInput; Model3 -> WeightedConsensusInput; Model4 -> WeightedConsensusInput; Model5 -> WeightedConsensusInput; Model6 -> WeightedConsensusInput; Model7 -> WeightedConsensusInput; | 
					
					
						
						| 
							 | 
						    } | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						    ContextualIntelligenceAgent [label="Contextual\nIntelligence Agent", fillcolor="lightcyan"];  | 
					
					
						
						| 
							 | 
						    BaggingAgent [label="BaggingAgent", fillcolor="lightcyan"];         | 
					
					
						
						| 
							 | 
						    DeepEnsembleAgent [label="DeepEnsemble\nAgent", fillcolor="lightcyan"];         | 
					
					
						
						| 
							 | 
						    EvolutionEnsembleAgent [label="EvolutionEnsemble\nAgent", fillcolor="lightcyan"];        | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						    WeightManager [label="Weight\nManager", fillcolor="lightcyan"];     | 
					
					
						
						| 
							 | 
						    WeightedConsensus [label="Weighted\nConsensus", fillcolor="lightgreen"]; | 
					
					
						
						| 
							 | 
						    OptimizeAgent [label="Weight\nOpt Agent", fillcolor="lightcyan"];         | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						    subgraph cluster_forensics { | 
					
					
						
						| 
							 | 
						        label = "Forensic Analysis"; | 
					
					
						
						| 
							 | 
						        style = "dashed"; | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						        ForensicIn [shape=point, label="", width=0, height=0]; | 
					
					
						
						| 
							 | 
						        GradientProcessing [label="Gradient\nProcessing", fillcolor="lightpink"];       | 
					
					
						
						| 
							 | 
						        MinMaxProcessing [label="MinMax\nProcessing", fillcolor="lightpink"]; | 
					
					
						
						| 
							 | 
						        ELAPorcessing [label="ELAPorcessing", fillcolor="lightpink"]; | 
					
					
						
						| 
							 | 
						        BitPlaneExtraction [label="BitPlane\nExtraction", fillcolor="lightpink"]; | 
					
					
						
						| 
							 | 
						        WaveletBasedNoiseAnalysis [label="Wavelet\nNoise Analysis", fillcolor="lightpink"]; | 
					
					
						
						| 
							 | 
						        AnomalyAgent [label="Anomaly\nDetection", fillcolor="lightcyan"];         | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						        ForensicIn -> GradientProcessing;  ForensicIn -> MinMaxProcessing;  ForensicIn -> ELAPorcessing;  ForensicIn -> BitPlaneExtraction;  ForensicIn -> WaveletBasedNoiseAnalysis; | 
					
					
						
						| 
							 | 
						        GradientProcessing -> AnomalyAgent;  MinMaxProcessing -> AnomalyAgent;  ELAPorcessing -> AnomalyAgent;  BitPlaneExtraction -> AnomalyAgent;  WaveletBasedNoiseAnalysis -> AnomalyAgent; | 
					
					
						
						| 
							 | 
						    } | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						    DataLoggingAndOutput [label="Data Logging\nOutput", fillcolor="lightsalmon"]; | 
					
					
						
						| 
							 | 
						    ResultsDisplay [label="Results", fillcolor="lightgreen"];     | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						     | 
					
					
						
						| 
							 | 
						    A -> B; | 
					
					
						
						| 
							 | 
						    B -> ImageIn; | 
					
					
						
						| 
							 | 
						
 | 
					
					
						
						| 
							 | 
						    WeightedConsensusInput -> ContextualIntelligenceAgent;  WeightedConsensusInput -> BaggingAgent;  WeightedConsensusInput -> DeepEnsembleAgent;  WeightedConsensusInput -> EvolutionEnsembleAgent;   | 
					
					
						
						| 
							 | 
						    ContextualIntelligenceAgent -> WeightManager;  BaggingAgent -> WeightManager;  DeepEnsembleAgent -> WeightManager;  EvolutionEnsembleAgent -> WeightManager;       | 
					
					
						
						| 
							 | 
						    WeightManager -> WeightedConsensus; | 
					
					
						
						| 
							 | 
						    WeightedConsensus -> OptimizeAgent;  OptimizeAgent -> WeightManager; | 
					
					
						
						| 
							 | 
						    WeightedConsensus -> ForensicIn;  AnomalyAgent -> DataLoggingAndOutput; | 
					
					
						
						| 
							 | 
						    DataLoggingAndOutput -> ResultsDisplay; | 
					
					
						
						| 
							 | 
						} | 
					
					
						
						| 
							 | 
						
 |