function batch_rgblpt(job_file)
	% execute a batch processing job
	job				= load(job_file);
	
	%% load setup
	setup			= load(job.cal_file);
	opts			= job.opts;
	
	%% iterate over range
	n_src			= job.n_src;
	for is = 1 : n_src
		%% report
		t_start			= tic;
		src_file_ary	= job.src_file_ary(:, is);
		dst_file		= job.dst_file_ary{is};
		fprintf('----------------------------------------------------------\n');
		fprintf('PROCESSING SAMPLE %4d/%4d\n', is, n_src);
		fprintf('dest:  %s\n', dst_file);
		
		%% track
		tracks			= rgblpt(setup, src_file_ary, opts);
		
		%% save tracks to file
		fprintf('save to %s\n', dst_file);
		save(dst_file, 'setup', 'opts', 'tracks', 'src_file_ary');
		fprintf('done! took %0.0f s\n', toc(t_start));
	end
end
	
