livia-test/iBrain/ViewModels/BuptIBrainControlViewModel.cs
2025-03-28 14:31:53 +08:00

76 lines
4.1 KiB
C#

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<FeatureDataGridControlViewModel>(ServiceProviderFactory.ServiceProvider);
HippFeatureDataGridControlViewModel.LoadPath = @"T1ImgCSAR\hippocampus.json";
dataBlockLoader.AddViewModel(HippFeatureDataGridControlViewModel);
WholeBrainDataGridControlViewModel = ActivatorUtilities.CreateInstance<FeatureDataGridControlViewModel>(ServiceProviderFactory.ServiceProvider);
WholeBrainDataGridControlViewModel.LoadPath = @"T1ImgCSAR\features_wholebrain.json";
dataBlockLoader.AddViewModel(WholeBrainDataGridControlViewModel);
MainBrainErrorDataGridControlViewModel = ActivatorUtilities.CreateInstance<FeatureDataGridControlViewModel>(ServiceProviderFactory.ServiceProvider);
MainBrainErrorDataGridControlViewModel.LoadPath = @"T1ImgCSAR\MainBrainError.json";
dataBlockLoader.AddViewModel(MainBrainErrorDataGridControlViewModel);
ScoreViewModel = ActivatorUtilities.CreateInstance<BuptIBrainScoreViewModel>(ServiceProviderFactory.ServiceProvider);
ScoreViewModel.LoadPath = @"T1ImgCSAR\features.csv";
dataBlockLoader.AddViewModel(ScoreViewModel);
RiskBrainMapImageViewModel = ActivatorUtilities.CreateInstance<SimpleImageViewModel>(ServiceProviderFactory.ServiceProvider);
RiskBrainMapImageViewModel.LoadPath = @"T1ImgCSAR\RiskBrainMap.png";
dataBlockLoader.AddViewModel(RiskBrainMapImageViewModel);
DistributionImageViewModel = ActivatorUtilities.CreateInstance<SimpleImageViewModel>(ServiceProviderFactory.ServiceProvider);
DistributionImageViewModel.LoadPath = @"T1ImgCSAR\iBrainDistribution.png";
dataBlockLoader.AddViewModel(DistributionImageViewModel);
SegmentImageViewModel = ActivatorUtilities.CreateInstance<SimpleImageViewModel>(ServiceProviderFactory.ServiceProvider);
SegmentImageViewModel.LoadPath = @"T1ImgCSAR\segment.png";
dataBlockLoader.AddViewModel(SegmentImageViewModel);
VolumeImageViewModel = ActivatorUtilities.CreateInstance<SimpleImageViewModel>(ServiceProviderFactory.ServiceProvider);
VolumeImageViewModel.LoadPath = @"T1ImgCSAR\volume.png";
dataBlockLoader.AddViewModel(VolumeImageViewModel);
HippoImageViewModel = ActivatorUtilities.CreateInstance<SimpleImageViewModel>(ServiceProviderFactory.ServiceProvider);
HippoImageViewModel.LoadPath = @"T1ImgCSAR\hippoimage.png";
dataBlockLoader.AddViewModel(HippoImageViewModel);
HippoVolumeImageViewModel = ActivatorUtilities.CreateInstance<SimpleImageViewModel>(ServiceProviderFactory.ServiceProvider);
HippoVolumeImageViewModel.LoadPath = @"T1ImgCSAR\hippoVolume.png";
dataBlockLoader.AddViewModel(HippoVolumeImageViewModel);
dataBlockLoader.Init();
}
public List<ReportModuleExpanderViewModel> GenerateReportModuleGroups()
{
List<ReportModuleExpanderViewModel> result = [];
return result;
}
}