forked from ome/bioformats
-
Notifications
You must be signed in to change notification settings - Fork 0
/
bfGetFileExtensions.m
34 lines (31 loc) · 1.03 KB
/
bfGetFileExtensions.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function fileExt = bfGetFileExtensions
% bfGetFileExtensions list all extensions supported by Bio-Formats
%
% Synopsis: fileExt = bfGetExtensions()
%
% Input
% none
%
% Output
% fileExt: a cell array of dimensions n x2 where the first colum
% gives the extension and the second the name of the corresponding
% format.
% This cell array is formatted to be used with uigetfile funciton.
% Get all readers and create cell array with suffixes and names
imageReader=loci.formats.ImageReader();
readers = imageReader.getReaders();
fileExt=cell(numel(readers),2);
for i=1:numel(readers)
suffixes=readers(i).getSuffixes();
fileExt{i,1}=arrayfun(@char,suffixes,'Unif',false);
fileExt{i,2} = char(readers(i).getFormat().toString);
end
% Concatenate all unique formats
allExt=unique(vertcat(fileExt{:,1}));
allExt=allExt(~cellfun(@isempty,allExt));
fileExt=vertcat({allExt,'All formats'},fileExt);
% Format file extensions
for i=1:size(fileExt,1)
fileExt{i,1} = sprintf('*.%s;',fileExt{i,1}{:});
fileExt{i,1}(end)=[];
end