diff --git a/components/operators/CMakeLists.txt b/components/operators/CMakeLists.txt
index 5eb5cb71c41692fb95bbc6c9300396f36766d588..51223e8f6631da88ee7d677952eb6f440fade377 100644
--- a/components/operators/CMakeLists.txt
+++ b/components/operators/CMakeLists.txt
@@ -1,39 +1,39 @@
 set(OPERSRC
-	src/smoothing.cpp
-	src/smoothing.cu
-	src/mls.cu
-	src/smoothchan.cu
+	src/surface/smoothing.cpp
+	src/surface/smoothing.cu
+	src/surface/mls.cu
+	src/analysis/local/smoothchan.cu
 	src/operator.cpp
-	src/colours.cpp
-	src/normals.cpp
-	src/filling.cpp
-	src/filling.cu
+	src/misc/colours.cpp
+	src/analysis/local/normals.cpp
+	src/surface/filling.cpp
+	src/surface/filling.cu
 	src/disparity/libstereo.cpp
 	src/disparity/disp2depth.cu
 	src/disparity/disparity_to_depth.cpp
 	src/disparity/bilateral_filter.cpp
 	src/disparity/opencv/disparity_bilateral_filter.cpp
 	src/disparity/opencv/disparity_bilateral_filter.cu
-	src/segmentation.cu
-	src/segmentation.cpp
-	src/mask.cu
-	src/mask.cpp
-	src/antialiasing.cpp
-	src/antialiasing.cu
+	src/analysis/segmentation/segmentation.cu
+	src/analysis/segmentation/segmentation.cpp
+	src/analysis/local/mask.cu
+	src/analysis/local/mask.cpp
+	src/misc/antialiasing.cpp
+	src/misc/antialiasing.cu
 	src/fusion/mvmls.cpp
 	src/fusion/correspondence.cu
 	src/fusion/correspondence_depth.cu
 	src/fusion/correspondence_util.cu
 	src/fusion/mls_aggr.cu
-	src/clipping.cpp
-	src/depth.cpp
-	src/detectandtrack.cpp
-	src/aruco.cpp
-	src/weighting.cpp
-	src/weighting.cu
-	src/poser.cpp
-	src/gt_analysis.cpp
-	src/gt_analysis.cu
+	src/misc/clipping.cpp
+	src/disparity/depth.cpp
+	src/analysis/tracking/detectandtrack.cpp
+	src/analysis/tracking/aruco.cpp
+	src/analysis/local/weighting.cpp
+	src/analysis/local/weighting.cu
+	src/misc/poser.cpp
+	src/analysis/evaluation/gt_analysis.cpp
+	src/analysis/evaluation/gt_analysis.cu
 )
 
 if (HAVE_LIBSGM)
@@ -42,8 +42,8 @@ endif (HAVE_LIBSGM)
 
 if (HAVE_OPTFLOW)
 	list(APPEND OPERSRC
-		src/nvopticalflow.cpp
-		src/opticalflow.cu
+		src/analysis/tracking/nvopticalflow.cpp
+		src/analysis/tracking/opticalflow.cu
 		src/disparity/optflow_smoothing.cu
 		src/disparity/optflow_smoothing.cpp)
 endif()
diff --git a/components/operators/src/gt_analysis.cpp b/components/operators/src/analysis/evaluation/gt_analysis.cpp
similarity index 100%
rename from components/operators/src/gt_analysis.cpp
rename to components/operators/src/analysis/evaluation/gt_analysis.cpp
diff --git a/components/operators/src/gt_analysis.cu b/components/operators/src/analysis/evaluation/gt_analysis.cu
similarity index 100%
rename from components/operators/src/gt_analysis.cu
rename to components/operators/src/analysis/evaluation/gt_analysis.cu
diff --git a/components/operators/src/mask.cpp b/components/operators/src/analysis/local/mask.cpp
similarity index 100%
rename from components/operators/src/mask.cpp
rename to components/operators/src/analysis/local/mask.cpp
diff --git a/components/operators/src/mask.cu b/components/operators/src/analysis/local/mask.cu
similarity index 100%
rename from components/operators/src/mask.cu
rename to components/operators/src/analysis/local/mask.cu
diff --git a/components/operators/src/normals.cpp b/components/operators/src/analysis/local/normals.cpp
similarity index 100%
rename from components/operators/src/normals.cpp
rename to components/operators/src/analysis/local/normals.cpp
diff --git a/components/operators/src/smoothchan.cu b/components/operators/src/analysis/local/smoothchan.cu
similarity index 100%
rename from components/operators/src/smoothchan.cu
rename to components/operators/src/analysis/local/smoothchan.cu
diff --git a/components/operators/src/weighting.cpp b/components/operators/src/analysis/local/weighting.cpp
similarity index 100%
rename from components/operators/src/weighting.cpp
rename to components/operators/src/analysis/local/weighting.cpp
diff --git a/components/operators/src/weighting.cu b/components/operators/src/analysis/local/weighting.cu
similarity index 100%
rename from components/operators/src/weighting.cu
rename to components/operators/src/analysis/local/weighting.cu
diff --git a/components/operators/src/weighting_cuda.hpp b/components/operators/src/analysis/local/weighting_cuda.hpp
similarity index 100%
rename from components/operators/src/weighting_cuda.hpp
rename to components/operators/src/analysis/local/weighting_cuda.hpp
diff --git a/components/operators/src/segmentation.cpp b/components/operators/src/analysis/segmentation/segmentation.cpp
similarity index 100%
rename from components/operators/src/segmentation.cpp
rename to components/operators/src/analysis/segmentation/segmentation.cpp
diff --git a/components/operators/src/segmentation.cu b/components/operators/src/analysis/segmentation/segmentation.cu
similarity index 100%
rename from components/operators/src/segmentation.cu
rename to components/operators/src/analysis/segmentation/segmentation.cu
diff --git a/components/operators/src/segmentation_cuda.hpp b/components/operators/src/analysis/segmentation/segmentation_cuda.hpp
similarity index 100%
rename from components/operators/src/segmentation_cuda.hpp
rename to components/operators/src/analysis/segmentation/segmentation_cuda.hpp
diff --git a/components/operators/src/aruco.cpp b/components/operators/src/analysis/tracking/aruco.cpp
similarity index 100%
rename from components/operators/src/aruco.cpp
rename to components/operators/src/analysis/tracking/aruco.cpp
diff --git a/components/operators/src/detectandtrack.cpp b/components/operators/src/analysis/tracking/detectandtrack.cpp
similarity index 100%
rename from components/operators/src/detectandtrack.cpp
rename to components/operators/src/analysis/tracking/detectandtrack.cpp
diff --git a/components/operators/src/nvopticalflow.cpp b/components/operators/src/analysis/tracking/nvopticalflow.cpp
similarity index 100%
rename from components/operators/src/nvopticalflow.cpp
rename to components/operators/src/analysis/tracking/nvopticalflow.cpp
diff --git a/components/operators/src/opticalflow.cu b/components/operators/src/analysis/tracking/opticalflow.cu
similarity index 100%
rename from components/operators/src/opticalflow.cu
rename to components/operators/src/analysis/tracking/opticalflow.cu
diff --git a/components/operators/src/opticalflow_cuda.hpp b/components/operators/src/analysis/tracking/opticalflow_cuda.hpp
similarity index 100%
rename from components/operators/src/opticalflow_cuda.hpp
rename to components/operators/src/analysis/tracking/opticalflow_cuda.hpp
diff --git a/components/operators/src/depth.cpp b/components/operators/src/disparity/depth.cpp
similarity index 100%
rename from components/operators/src/depth.cpp
rename to components/operators/src/disparity/depth.cpp
diff --git a/components/operators/src/antialiasing.cpp b/components/operators/src/misc/antialiasing.cpp
similarity index 100%
rename from components/operators/src/antialiasing.cpp
rename to components/operators/src/misc/antialiasing.cpp
diff --git a/components/operators/src/antialiasing.cu b/components/operators/src/misc/antialiasing.cu
similarity index 100%
rename from components/operators/src/antialiasing.cu
rename to components/operators/src/misc/antialiasing.cu
diff --git a/components/operators/src/antialiasing_cuda.hpp b/components/operators/src/misc/antialiasing_cuda.hpp
similarity index 100%
rename from components/operators/src/antialiasing_cuda.hpp
rename to components/operators/src/misc/antialiasing_cuda.hpp
diff --git a/components/operators/src/clipping.cpp b/components/operators/src/misc/clipping.cpp
similarity index 100%
rename from components/operators/src/clipping.cpp
rename to components/operators/src/misc/clipping.cpp
diff --git a/components/operators/src/colours.cpp b/components/operators/src/misc/colours.cpp
similarity index 100%
rename from components/operators/src/colours.cpp
rename to components/operators/src/misc/colours.cpp
diff --git a/components/operators/src/poser.cpp b/components/operators/src/misc/poser.cpp
similarity index 100%
rename from components/operators/src/poser.cpp
rename to components/operators/src/misc/poser.cpp
diff --git a/components/operators/src/filling.cpp b/components/operators/src/surface/filling.cpp
similarity index 100%
rename from components/operators/src/filling.cpp
rename to components/operators/src/surface/filling.cpp
diff --git a/components/operators/src/filling.cu b/components/operators/src/surface/filling.cu
similarity index 100%
rename from components/operators/src/filling.cu
rename to components/operators/src/surface/filling.cu
diff --git a/components/operators/src/filling_cuda.hpp b/components/operators/src/surface/filling_cuda.hpp
similarity index 100%
rename from components/operators/src/filling_cuda.hpp
rename to components/operators/src/surface/filling_cuda.hpp
diff --git a/components/operators/src/mls.cu b/components/operators/src/surface/mls.cu
similarity index 100%
rename from components/operators/src/mls.cu
rename to components/operators/src/surface/mls.cu
diff --git a/components/operators/src/smoothing.cpp b/components/operators/src/surface/smoothing.cpp
similarity index 100%
rename from components/operators/src/smoothing.cpp
rename to components/operators/src/surface/smoothing.cpp
diff --git a/components/operators/src/smoothing.cu b/components/operators/src/surface/smoothing.cu
similarity index 100%
rename from components/operators/src/smoothing.cu
rename to components/operators/src/surface/smoothing.cu