diff --git a/@Sources2D/Sources2D.m b/@Sources2D/Sources2D.m index e59305c..41e4b30 100644 --- a/@Sources2D/Sources2D.m +++ b/@Sources2D/Sources2D.m @@ -49,21 +49,21 @@ function updateSpatial(obj, Y) end %% update temporal components - function Y_res = updateTemporal(obj, Y) - [obj.C, obj.f, Y_res, obj.P, obj.S] = update_temporal_components(... + function updateTemporal(obj, Y) + [obj.C, obj.f, obj.P, obj.S] = update_temporal_components(... Y, obj.A, obj.b, obj.C, obj.f, obj.P, obj.options); end %% update temporal components in parallel - function Y_res = updateTemporalParallel(obj, Y) - [obj.C, obj.f, Y_res, obj.P, obj.S] = update_temporal_components_parallel(... + function updateTemporalParallel(obj, Y) + [obj.C, obj.f, obj.P, obj.S] = update_temporal_components_parallel(... Y, obj.A, obj.b, obj.C, obj.f, obj.P, obj.options); end %% merge found components - function [nr, merged_ROIs] = merge(obj, Y_res) + function [nr, merged_ROIs] = merge(obj, Y) [obj.A, obj.C, nr, merged_ROIs, obj.P, obj.S] = merge_components(... - Y_res,obj.A, obj.b, obj.C, obj.f, obj.P,obj.S, obj.options); + Y,obj.A, obj.b, obj.C, obj.f, obj.P,obj.S, obj.options); end %% compute the residual diff --git a/CNMFSetParms.m b/CNMFSetParms.m index cd38afa..b08a028 100644 --- a/CNMFSetParms.m +++ b/CNMFSetParms.m @@ -63,6 +63,7 @@ 'resparse ' % number of times that the solution is resparsened (default: 0) % MERGING (merge_ROIs.m) 'merge_thr ' % merging threshold (default: 0.85) + 'fast_merge ' % flag for using fast merging (default 1) % VIDEO (make_patch_video.m) 'ind ' % indeces of components to be shown (deafult: 1:4) 'skip_frame ' % skip frames when showing the video (default: 1 (no skipping)) @@ -213,6 +214,7 @@ {0} % MERGING (merge_ROIs.m) {0.85} + {1} % VIDEO (make_patch_video.m) {[1:4]} {1} diff --git a/demo_script.m b/demo_script.m index 6bd9edd..5791237 100644 --- a/demo_script.m +++ b/demo_script.m @@ -50,13 +50,13 @@ [A,b] = update_spatial_components(Yr,Cin,fin,Ain,P,options); %% update temporal components - -[C,f,Y_res,P,S] = update_temporal_components(Yr,A,b,Cin,fin,P,options); +% consider using update_temporal_components_parallel for increased speed +[C,f,P,S] = update_temporal_components(Yr,A,b,Cin,fin,P,options); %% merge found components - -[Am,Cm,K_m,merged_ROIs,P,Sm] = merge_components(Y_res,A,b,C,f,P,S,options); - +tic; +[Am,Cm,K_m,merged_ROIs,P,Sm] = merge_components(Yr,A,b,C,f,P,S,options); +toc; display_merging = 1; % flag for displaying merging example if display_merging i = 1; randi(length(merged_ROIs)); @@ -78,7 +78,7 @@ %% repeat [A2,b2] = update_spatial_components(Yr,Cm,f,Am,P,options); -[C2,f2,Y_res,P,S2] = update_temporal_components(Yr,A2,b2,Cm,f,P,options); +[C2,f2,P,S2] = update_temporal_components(Yr,A2,b2,Cm,f,P,options); [C_df,~,S_df] = extract_DF_F(Yr,[A2,b2],[C2;f2],S2,K_m+1); % extract DF/F values (optional) %% do some plotting diff --git a/demo_script_class.m b/demo_script_class.m index 4bd5d65..d9d206b 100644 --- a/demo_script_class.m +++ b/demo_script_class.m @@ -53,12 +53,12 @@ updateSpatial(obj, Yr); %% update temporal components -Y_res = updateTemporal(obj, Yr); +updateTemporal(obj, Yr); %% merge found components Apr = obj.A; % store non-merged components Cpr = obj.C; -[K_m, merged_ROIs] = merge(obj, Y_res); +[K_m, merged_ROIs] = merge(obj, Yr); display_merging = 1; % flag for displaying merging example if display_merging i = 1; randi(length(merged_ROIs)); @@ -80,7 +80,7 @@ %% repeat updateSpatial(obj, Yr); -Y_res = updateTemporal(obj, Yr); +updateTemporal(obj, Yr); [C_df, ~, S_df] = extractDF_F(obj, Yr, K_m+1); %% do some plotting diff --git a/documentation.pdf b/documentation.pdf index 6a10985..ac3b682 100644 Binary files a/documentation.pdf and b/documentation.pdf differ