diff --git a/multiply.m b/multiply.m
index 6bbd6baddae6c868d9ff1b83997ec49b13b16530..ce615c92e9b8fd16a2326c7ec8d8b62d1b7fddfe 100644
--- a/multiply.m
+++ b/multiply.m
@@ -4,7 +4,7 @@ function Ref = multiply(Ref,C,method,varargin)
 
 [Offset,Color,Label] = SR.SetToFields(Ref);
 Size = cellfun(@size,Color,'UniformOutput',false);
-[ImgSize,ImgRes] = cellfun(@(x) deal(x(1:3),x(4:end)),Size,'UniformOutput',false);
+[ImgSize,ImgRes] = deal(cell(size(Color)));
 RefSize = size(Ref);
 numLab = numel(Label);
 
@@ -25,6 +25,10 @@ else
 end
 
 for lab = 1:numLab
+    Size{lab}(end+1:5) = 1;
+    ImgSize{lab} = Size{lab}(1:3);
+    ImgRes {lab} = Size{lab}(4:end);
+    
     Color{lab} = reshape(Color{lab},prod(ImgSize{lab}),prod(ImgRes{lab}));
     Label{lab} = reshape(Label{lab},prod(ImgSize{lab}),prod(ImgRes{lab}));
 end
diff --git a/project.m b/project.m
index c166be5020440acbb3f340220a2be4749e65ed79..04a4cc50d4a784288a4914013ff239a6d360c1f7 100644
--- a/project.m
+++ b/project.m
@@ -7,22 +7,26 @@ function C = project(Ref,Rec,method)
 [~,ColorRef,LabelRef] = SR.SetToFields(Ref);
 [~,ColorRec,LabelRec] = SR.SetToFields(Rec);
 
-SizeRef = cellfun(@size,ColorRef,'UniformOutput',false);
-[ImgSizeRef,ImgResRef] = cellfun(@(x) deal(x(1:3),x(4:end)),SizeRef,'UniformOutput',false);
-
-SizeRec = cellfun(@size,ColorRec,'UniformOutput',false);
-[ImgSizeRec,ImgResRec] = cellfun(@(x) deal(x(1:3),x(4:end)),SizeRec,'UniformOutput',false);
-
 Size = size(Ref);
 numLab = numel(LabelRef);
 
 for lab = 1:numLab
-    ColorRef{lab} = reshape(ColorRef{lab},prod(ImgSizeRef{lab}),prod(ImgResRef{lab}));
-    LabelRef{lab} = reshape(LabelRef{lab},prod(ImgSizeRef{lab}),prod(ImgResRef{lab}));
+    SizeRef = size(ColorRef{lab});
+    SizeRef(end+1:5) = 1;
+    ImgSizeRef = SizeRef(1:3);
+    ImgResRef = SizeRef(4:end);
+    
+    ColorRef{lab} = reshape(ColorRef{lab},prod(ImgSizeRef),prod(ImgResRef));
+    LabelRef{lab} = reshape(LabelRef{lab},prod(ImgSizeRef),prod(ImgResRef));
     ColorRef{lab}(~( LabelRef{lab}==lab)) = 0;
     
-    ColorRec{lab} = reshape(ColorRec{lab},prod(ImgSizeRec{lab}),prod(ImgResRec{lab}));
-    LabelRec{lab} = reshape(LabelRec{lab},prod(ImgSizeRec{lab}),prod(ImgResRec{lab}));
+    SizeRec = size(ColorRec{lab});
+    SizeRec(end+1:5) = 1;
+    ImgSizeRec = SizeRec(1:3);
+    ImgResRec = SizeRec(4:end);
+    
+    ColorRec{lab} = reshape(ColorRec{lab},prod(ImgSizeRec),prod(ImgResRec));
+    LabelRec{lab} = reshape(LabelRec{lab},prod(ImgSizeRec),prod(ImgResRec));
     ColorRec{lab}(~(LabelRec{lab}==lab)) = 0;
 end