function db=cosmo_meeg_layout_collection()
% return supported MEEG channel layouts
%
% db=cosmo_meeg_layout_collection()
%
% Output:
% db Nx1 cell for N layouts. Each elements has the following
% fields:
% .pos Mx2 x and y coordinates for M channels
% .width Mx1 width of channel
% .height Mx1 height of channel
% .label Mx1 cell string with channel labels
% .name string with filename of layout
%
% Example:
% % (This example requires FieldTrip)
% cosmo_skip_test_if_no_external('fieldtrip');
% %
% % get all layouts
% layouts=cosmo_meeg_layout_collection();
% %
% % find index of neuromag306cmb layout
% names=cellfun(@(x)x.name,layouts,'UniformOutput',false);
% i=find(cosmo_match(names,'neuromag306cmb.lay'));
% %
% % show neuromag306 combined planar layout (with 102 channels)
% pl_layout=layouts{i};
% cosmo_disp(pl_layout.label)
% %|| { 'MEG0112+0113'
% %|| 'MEG0122+0123'
% %|| 'MEG0132+0133'
% %|| :
% %|| 'MEG2642+2643'
% %|| 'COMNT'
% %|| 'SCALE' }@104x1
% cosmo_disp([pl_layout.pos pl_layout.width pl_layout.height])
% %|| [ -0.408 0.273 0.0717 0.0791
% %|| -0.328 0.306 0.0717 0.0791
% %|| -0.377 0.179 0.0717 0.0791
% %|| : : : :
% %|| 0.373 -0.104 0.0717 0.0791
% %|| -0.547 -0.5 0.0717 0.0791
% %|| 0.547 -0.5 0.0717 0.0791 ]@104x4
% pl_layout.name
% %|| 'neuromag306cmb.lay'
%
% Note:
% - this function requires FieldTrip, as it uses its collection of
% layouts
% - the output from this function is similar to FieldTrip's
% ft_prepare_layout.
% - this function caches previously read layouts, for optimization
% reasons. run "clear functions" to reset the cache.
%
% # For CoSMoMVPA's copyright information and license terms, #
% # see the COPYING file distributed with CoSMoMVPA. #