using CommunityToolkit.Mvvm.ComponentModel; using Livia.Models; using Livia.Utility.DependencyInjection; using Livia.ViewModels; using Microsoft.Extensions.DependencyInjection; namespace iBrain.ViewModels; public class BuptIBrainControlViewModel : ObservableRecipient, ILiviaControlViewModel { public SimpleImageViewModel RiskBrainMapImageViewModel { get; } public SimpleImageViewModel DistributionImageViewModel { get; } public SimpleImageViewModel SegmentImageViewModel { get; } public SimpleImageViewModel VolumeImageViewModel { get; } public SimpleImageViewModel HippoImageViewModel { get; } public SimpleImageViewModel HippoVolumeImageViewModel { get; } public FeatureDataGridControlViewModel HippFeatureDataGridControlViewModel { get; } public FeatureDataGridControlViewModel MainBrainErrorDataGridControlViewModel { get; } public FeatureDataGridControlViewModel WholeBrainDataGridControlViewModel { get; } public BuptIBrainScoreViewModel ScoreViewModel { get; } public IDataBlockLoader DataBlockLoader { get; } public BuptIBrainControlViewModel(IDataBlockLoader dataBlockLoader) { DataBlockLoader = dataBlockLoader; HippFeatureDataGridControlViewModel = ActivatorUtilities.CreateInstance(ServiceProviderFactory.ServiceProvider); HippFeatureDataGridControlViewModel.LoadPath = @"T1ImgCSAR\hippocampus.json"; dataBlockLoader.AddViewModel(HippFeatureDataGridControlViewModel); WholeBrainDataGridControlViewModel = ActivatorUtilities.CreateInstance(ServiceProviderFactory.ServiceProvider); WholeBrainDataGridControlViewModel.LoadPath = @"T1ImgCSAR\features_wholebrain.json"; dataBlockLoader.AddViewModel(WholeBrainDataGridControlViewModel); MainBrainErrorDataGridControlViewModel = ActivatorUtilities.CreateInstance(ServiceProviderFactory.ServiceProvider); MainBrainErrorDataGridControlViewModel.LoadPath = @"T1ImgCSAR\MainBrainError.json"; dataBlockLoader.AddViewModel(MainBrainErrorDataGridControlViewModel); ScoreViewModel = ActivatorUtilities.CreateInstance(ServiceProviderFactory.ServiceProvider); ScoreViewModel.LoadPath = @"T1ImgCSAR\features.csv"; dataBlockLoader.AddViewModel(ScoreViewModel); RiskBrainMapImageViewModel = ActivatorUtilities.CreateInstance(ServiceProviderFactory.ServiceProvider); RiskBrainMapImageViewModel.LoadPath = @"T1ImgCSAR\RiskBrainMap.png"; dataBlockLoader.AddViewModel(RiskBrainMapImageViewModel); DistributionImageViewModel = ActivatorUtilities.CreateInstance(ServiceProviderFactory.ServiceProvider); DistributionImageViewModel.LoadPath = @"T1ImgCSAR\iBrainDistribution.png"; dataBlockLoader.AddViewModel(DistributionImageViewModel); SegmentImageViewModel = ActivatorUtilities.CreateInstance(ServiceProviderFactory.ServiceProvider); SegmentImageViewModel.LoadPath = @"T1ImgCSAR\segment.png"; dataBlockLoader.AddViewModel(SegmentImageViewModel); VolumeImageViewModel = ActivatorUtilities.CreateInstance(ServiceProviderFactory.ServiceProvider); VolumeImageViewModel.LoadPath = @"T1ImgCSAR\volume.png"; dataBlockLoader.AddViewModel(VolumeImageViewModel); HippoImageViewModel = ActivatorUtilities.CreateInstance(ServiceProviderFactory.ServiceProvider); HippoImageViewModel.LoadPath = @"T1ImgCSAR\hippoimage.png"; dataBlockLoader.AddViewModel(HippoImageViewModel); HippoVolumeImageViewModel = ActivatorUtilities.CreateInstance(ServiceProviderFactory.ServiceProvider); HippoVolumeImageViewModel.LoadPath = @"T1ImgCSAR\hippoVolume.png"; dataBlockLoader.AddViewModel(HippoVolumeImageViewModel); dataBlockLoader.Init(); } public List GenerateReportModuleGroups() { List result = []; return result; } }