summaryrefslogtreecommitdiff
path: root/macros/imageSetToList.sci
blob: 1e7a461b1ba96f21ccb7aadd89ea23610836eb7b (plain)
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
function imgSetList=imageSetToList(imageSet)
    if isstruct(imageSet)<> %T  then
            error(msprintf("Error: The input argument is not of type imageSet."));
        end
        fieldNamesActual=["Description";"ImageLocation";"Count"];
        fieldNamesInput=fieldnames(imageSet);
        if fieldNamesActual <> fieldNamesInput then
            error(msprintf("Error: The input argument is not of type imageSet, Wrong field names"));
        end
        if size(imageSet) == [1 1] then
            locationList=list();
            Desc=imageSet.Description;
            Count=int32(imageSet.Count);
            for j=1:imageSet.Count
                tempMat(1,j)=imageSet.ImageLocation(j);
            end
            locationList($+1)=tempMat;
        else
            locationList=list();
            for i=1:size(imageSet.Count)
                Desc(i)=imageSet(i).Description;
                Count(i)=int32(imageSet(i).Count);
                for j=1:imageSet(i).Count
                    tempMat(1,j)=imageSet(i).ImageLocation(j);
                end
                locationList($+1)=tempMat;
            end
        end
        imgSetList=list("imageSet",Desc,Count,locationList);
endfunction