diff --git a/XplorePlane/Services/IImageProcessingService.cs b/XplorePlane/Services/ImageProcessing/IImageProcessingService.cs
similarity index 100%
rename from XplorePlane/Services/IImageProcessingService.cs
rename to XplorePlane/Services/ImageProcessing/IImageProcessingService.cs
diff --git a/XplorePlane/Services/ImageConverter.cs b/XplorePlane/Services/ImageProcessing/ImageConverter.cs
similarity index 100%
rename from XplorePlane/Services/ImageConverter.cs
rename to XplorePlane/Services/ImageProcessing/ImageConverter.cs
diff --git a/XplorePlane/Services/ImageProcessingException.cs b/XplorePlane/Services/ImageProcessing/ImageProcessingException.cs
similarity index 100%
rename from XplorePlane/Services/ImageProcessingException.cs
rename to XplorePlane/Services/ImageProcessing/ImageProcessingException.cs
diff --git a/XplorePlane/Services/ImageProcessingService.cs b/XplorePlane/Services/ImageProcessing/ImageProcessingService.cs
similarity index 100%
rename from XplorePlane/Services/ImageProcessingService.cs
rename to XplorePlane/Services/ImageProcessing/ImageProcessingService.cs
diff --git a/XplorePlane/Services/LoggerServiceAdapter.cs b/XplorePlane/Services/Logging/LoggerServiceAdapter.cs
similarity index 100%
rename from XplorePlane/Services/LoggerServiceAdapter.cs
rename to XplorePlane/Services/Logging/LoggerServiceAdapter.cs
diff --git a/XplorePlane/Services/IPipelineExecutionService.cs b/XplorePlane/Services/Pipeline/IPipelineExecutionService.cs
similarity index 100%
rename from XplorePlane/Services/IPipelineExecutionService.cs
rename to XplorePlane/Services/Pipeline/IPipelineExecutionService.cs
diff --git a/XplorePlane/Services/IPipelinePersistenceService.cs b/XplorePlane/Services/Pipeline/IPipelinePersistenceService.cs
similarity index 100%
rename from XplorePlane/Services/IPipelinePersistenceService.cs
rename to XplorePlane/Services/Pipeline/IPipelinePersistenceService.cs
diff --git a/XplorePlane/Services/PipelineExecutionException.cs b/XplorePlane/Services/Pipeline/PipelineExecutionException.cs
similarity index 100%
rename from XplorePlane/Services/PipelineExecutionException.cs
rename to XplorePlane/Services/Pipeline/PipelineExecutionException.cs
diff --git a/XplorePlane/Services/PipelineExecutionService.cs b/XplorePlane/Services/Pipeline/PipelineExecutionService.cs
similarity index 100%
rename from XplorePlane/Services/PipelineExecutionService.cs
rename to XplorePlane/Services/Pipeline/PipelineExecutionService.cs
diff --git a/XplorePlane/Services/PipelinePersistenceService.cs b/XplorePlane/Services/Pipeline/PipelinePersistenceService.cs
similarity index 100%
rename from XplorePlane/Services/PipelinePersistenceService.cs
rename to XplorePlane/Services/Pipeline/PipelinePersistenceService.cs
diff --git a/XplorePlane/ViewModels/ImageProcessingViewModel.cs b/XplorePlane/ViewModels/ImageProcessing/ImageProcessingViewModel.cs
similarity index 100%
rename from XplorePlane/ViewModels/ImageProcessingViewModel.cs
rename to XplorePlane/ViewModels/ImageProcessing/ImageProcessingViewModel.cs
diff --git a/XplorePlane/ViewModels/OperatorToolboxViewModel.cs b/XplorePlane/ViewModels/ImageProcessing/OperatorToolboxViewModel.cs
similarity index 100%
rename from XplorePlane/ViewModels/OperatorToolboxViewModel.cs
rename to XplorePlane/ViewModels/ImageProcessing/OperatorToolboxViewModel.cs
diff --git a/XplorePlane/ViewModels/PipelineEditorViewModel.cs b/XplorePlane/ViewModels/ImageProcessing/PipelineEditorViewModel.cs
similarity index 100%
rename from XplorePlane/ViewModels/PipelineEditorViewModel.cs
rename to XplorePlane/ViewModels/ImageProcessing/PipelineEditorViewModel.cs
diff --git a/XplorePlane/ViewModels/PipelineNodeViewModel.cs b/XplorePlane/ViewModels/ImageProcessing/PipelineNodeViewModel.cs
similarity index 100%
rename from XplorePlane/ViewModels/PipelineNodeViewModel.cs
rename to XplorePlane/ViewModels/ImageProcessing/PipelineNodeViewModel.cs
diff --git a/XplorePlane/ViewModels/ProcessorParameterVM.cs b/XplorePlane/ViewModels/ImageProcessing/ProcessorParameterVM.cs
similarity index 100%
rename from XplorePlane/ViewModels/ProcessorParameterVM.cs
rename to XplorePlane/ViewModels/ImageProcessing/ProcessorParameterVM.cs
diff --git a/XplorePlane/ViewModels/MainViewModel.cs b/XplorePlane/ViewModels/Main/MainViewModel.cs
similarity index 100%
rename from XplorePlane/ViewModels/MainViewModel.cs
rename to XplorePlane/ViewModels/Main/MainViewModel.cs
diff --git a/XplorePlane/Views/DetectorPanelView.xaml b/XplorePlane/Views/Hardware/DetectorPanelView.xaml
similarity index 100%
rename from XplorePlane/Views/DetectorPanelView.xaml
rename to XplorePlane/Views/Hardware/DetectorPanelView.xaml
diff --git a/XplorePlane/Views/DetectorPanelView.xaml.cs b/XplorePlane/Views/Hardware/DetectorPanelView.xaml.cs
similarity index 100%
rename from XplorePlane/Views/DetectorPanelView.xaml.cs
rename to XplorePlane/Views/Hardware/DetectorPanelView.xaml.cs
diff --git a/XplorePlane/Views/MotionControlPanelView.xaml b/XplorePlane/Views/Hardware/MotionControlPanelView.xaml
similarity index 100%
rename from XplorePlane/Views/MotionControlPanelView.xaml
rename to XplorePlane/Views/Hardware/MotionControlPanelView.xaml
diff --git a/XplorePlane/Views/MotionControlPanelView.xaml.cs b/XplorePlane/Views/Hardware/MotionControlPanelView.xaml.cs
similarity index 100%
rename from XplorePlane/Views/MotionControlPanelView.xaml.cs
rename to XplorePlane/Views/Hardware/MotionControlPanelView.xaml.cs
diff --git a/XplorePlane/Views/RaySourcePanelView.xaml b/XplorePlane/Views/Hardware/RaySourcePanelView.xaml
similarity index 100%
rename from XplorePlane/Views/RaySourcePanelView.xaml
rename to XplorePlane/Views/Hardware/RaySourcePanelView.xaml
diff --git a/XplorePlane/Views/RaySourcePanelView.xaml.cs b/XplorePlane/Views/Hardware/RaySourcePanelView.xaml.cs
similarity index 100%
rename from XplorePlane/Views/RaySourcePanelView.xaml.cs
rename to XplorePlane/Views/Hardware/RaySourcePanelView.xaml.cs
diff --git a/XplorePlane/Views/ImageProcessingPanelView.xaml b/XplorePlane/Views/ImageProcessing/ImageProcessingPanelView.xaml
similarity index 100%
rename from XplorePlane/Views/ImageProcessingPanelView.xaml
rename to XplorePlane/Views/ImageProcessing/ImageProcessingPanelView.xaml
diff --git a/XplorePlane/Views/ImageProcessingPanelView.xaml.cs b/XplorePlane/Views/ImageProcessing/ImageProcessingPanelView.xaml.cs
similarity index 100%
rename from XplorePlane/Views/ImageProcessingPanelView.xaml.cs
rename to XplorePlane/Views/ImageProcessing/ImageProcessingPanelView.xaml.cs
diff --git a/XplorePlane/Views/ImageProcessingWindow.xaml b/XplorePlane/Views/ImageProcessing/ImageProcessingWindow.xaml
similarity index 100%
rename from XplorePlane/Views/ImageProcessingWindow.xaml
rename to XplorePlane/Views/ImageProcessing/ImageProcessingWindow.xaml
diff --git a/XplorePlane/Views/ImageProcessingWindow.xaml.cs b/XplorePlane/Views/ImageProcessing/ImageProcessingWindow.xaml.cs
similarity index 100%
rename from XplorePlane/Views/ImageProcessingWindow.xaml.cs
rename to XplorePlane/Views/ImageProcessing/ImageProcessingWindow.xaml.cs
diff --git a/XplorePlane/Views/OperatorToolboxView.xaml b/XplorePlane/Views/ImageProcessing/OperatorToolboxView.xaml
similarity index 100%
rename from XplorePlane/Views/OperatorToolboxView.xaml
rename to XplorePlane/Views/ImageProcessing/OperatorToolboxView.xaml
diff --git a/XplorePlane/Views/OperatorToolboxView.xaml.cs b/XplorePlane/Views/ImageProcessing/OperatorToolboxView.xaml.cs
similarity index 100%
rename from XplorePlane/Views/OperatorToolboxView.xaml.cs
rename to XplorePlane/Views/ImageProcessing/OperatorToolboxView.xaml.cs
diff --git a/XplorePlane/Views/ImageProcessing/PipelineEditorView.xaml b/XplorePlane/Views/ImageProcessing/PipelineEditorView.xaml
new file mode 100644
index 0000000..bf67c82
--- /dev/null
+++ b/XplorePlane/Views/ImageProcessing/PipelineEditorView.xaml
@@ -0,0 +1,303 @@
+
+
+
+
+
+
+
+ Microsoft YaHei UI
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/XplorePlane/Views/PipelineEditorView.xaml.cs b/XplorePlane/Views/ImageProcessing/PipelineEditorView.xaml.cs
similarity index 100%
rename from XplorePlane/Views/PipelineEditorView.xaml.cs
rename to XplorePlane/Views/ImageProcessing/PipelineEditorView.xaml.cs
diff --git a/XplorePlane/Views/PipelineEditorWindow.xaml b/XplorePlane/Views/ImageProcessing/PipelineEditorWindow.xaml
similarity index 100%
rename from XplorePlane/Views/PipelineEditorWindow.xaml
rename to XplorePlane/Views/ImageProcessing/PipelineEditorWindow.xaml
diff --git a/XplorePlane/Views/PipelineEditorWindow.xaml.cs b/XplorePlane/Views/ImageProcessing/PipelineEditorWindow.xaml.cs
similarity index 100%
rename from XplorePlane/Views/PipelineEditorWindow.xaml.cs
rename to XplorePlane/Views/ImageProcessing/PipelineEditorWindow.xaml.cs
diff --git a/XplorePlane/Views/ImagePanelView.xaml b/XplorePlane/Views/Main/ImagePanelView.xaml
similarity index 100%
rename from XplorePlane/Views/ImagePanelView.xaml
rename to XplorePlane/Views/Main/ImagePanelView.xaml
diff --git a/XplorePlane/Views/ImagePanelView.xaml.cs b/XplorePlane/Views/Main/ImagePanelView.xaml.cs
similarity index 100%
rename from XplorePlane/Views/ImagePanelView.xaml.cs
rename to XplorePlane/Views/Main/ImagePanelView.xaml.cs
diff --git a/XplorePlane/Views/MainWindow.xaml b/XplorePlane/Views/Main/MainWindow.xaml
similarity index 100%
rename from XplorePlane/Views/MainWindow.xaml
rename to XplorePlane/Views/Main/MainWindow.xaml
diff --git a/XplorePlane/Views/MainWindow.xaml.cs b/XplorePlane/Views/Main/MainWindow.xaml.cs
similarity index 100%
rename from XplorePlane/Views/MainWindow.xaml.cs
rename to XplorePlane/Views/Main/MainWindow.xaml.cs
diff --git a/XplorePlane/Views/NavigationPanelView.xaml b/XplorePlane/Views/Main/NavigationPanelView.xaml
similarity index 100%
rename from XplorePlane/Views/NavigationPanelView.xaml
rename to XplorePlane/Views/Main/NavigationPanelView.xaml
diff --git a/XplorePlane/Views/NavigationPanelView.xaml.cs b/XplorePlane/Views/Main/NavigationPanelView.xaml.cs
similarity index 100%
rename from XplorePlane/Views/NavigationPanelView.xaml.cs
rename to XplorePlane/Views/Main/NavigationPanelView.xaml.cs
diff --git a/XplorePlane/Views/NavigationPropertyPanelView.xaml b/XplorePlane/Views/Main/NavigationPropertyPanelView.xaml
similarity index 100%
rename from XplorePlane/Views/NavigationPropertyPanelView.xaml
rename to XplorePlane/Views/Main/NavigationPropertyPanelView.xaml
diff --git a/XplorePlane/Views/NavigationPropertyPanelView.xaml.cs b/XplorePlane/Views/Main/NavigationPropertyPanelView.xaml.cs
similarity index 100%
rename from XplorePlane/Views/NavigationPropertyPanelView.xaml.cs
rename to XplorePlane/Views/Main/NavigationPropertyPanelView.xaml.cs
diff --git a/XplorePlane/Views/ViewportPanelView.xaml b/XplorePlane/Views/Main/ViewportPanelView.xaml
similarity index 100%
rename from XplorePlane/Views/ViewportPanelView.xaml
rename to XplorePlane/Views/Main/ViewportPanelView.xaml
diff --git a/XplorePlane/Views/ViewportPanelView.xaml.cs b/XplorePlane/Views/Main/ViewportPanelView.xaml.cs
similarity index 100%
rename from XplorePlane/Views/ViewportPanelView.xaml.cs
rename to XplorePlane/Views/Main/ViewportPanelView.xaml.cs
diff --git a/XplorePlane/Views/PipelineEditorView.xaml b/XplorePlane/Views/PipelineEditorView.xaml
deleted file mode 100644
index 50d0f19..0000000
--- a/XplorePlane/Views/PipelineEditorView.xaml
+++ /dev/null
@@ -1,220 +0,0 @@
-
-
-
-
-
-
-
- Microsoft YaHei UI
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-