X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=CreaPhase.git;a=blobdiff_plain;f=octave_packages%2Fdataframe-0.9.1%2F%40dataframe%2Fprivate%2Fdf_allmeta.m;fp=octave_packages%2Fdataframe-0.9.1%2F%40dataframe%2Fprivate%2Fdf_allmeta.m;h=72999e7b0a550db84ec4e102b5cd1bcdb84bae29;hp=0000000000000000000000000000000000000000;hb=c880e8788dfc484bf23ce13fa2787f2c6bca4863;hpb=1705066eceaaea976f010f669ce8e972f3734b05 diff --git a/octave_packages/dataframe-0.9.1/@dataframe/private/df_allmeta.m b/octave_packages/dataframe-0.9.1/@dataframe/private/df_allmeta.m new file mode 100644 index 0000000..72999e7 --- /dev/null +++ b/octave_packages/dataframe-0.9.1/@dataframe/private/df_allmeta.m @@ -0,0 +1,62 @@ +function resu = df_allmeta(df, dim = []) + + %# function resu = df_allmeta(df) + %# Returns a new dataframe, initalised with the all the + %# meta-information but with empty data + + %% Copyright (C) 2009-2012 Pascal Dupuis + %% + %% This file is part of Octave. + %% + %% Octave is free software; you can redistribute it and/or + %% modify it under the terms of the GNU General Public + %% License as published by the Free Software Foundation; + %% either version 2, or (at your option) any later version. + %% + %% Octave is distributed in the hope that it will be useful, + %% but WITHOUT ANY WARRANTY; without even the implied + %% warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + %% PURPOSE. See the GNU General Public License for more + %% details. + %% + %% You should have received a copy of the GNU General Public + %% License along with Octave; see the file COPYING. If not, + %% write to the Free Software Foundation, 51 Franklin Street - + %% Fifth Floor, Boston, MA 02110-1301, USA. + + %# + %# $Id: df_allmeta.m 9585 2012-02-05 15:32:46Z cdemills $ + %# + + resu = dataframe([]); + + if (isempty(dim)), + dim = df._cnt(1:2); + else + dim = dim(1:2); %# ignore third dim, if any + endif + + resu._cnt(1:2) = min(dim, df._cnt(1:2)); + if (!isempty(df._name{1})), + resu._name{1} = df._name{1}(1:resu._cnt(1)); + resu._over{1} = df._over{1}(1:resu._cnt(1)); + endif + if (!isempty(df._name{2})), + resu._name{2} = df._name{2}(1:resu._cnt(2)); + resu._over{2} = df._over{2}(1:resu._cnt(2)); + endif + if (!isempty(df._ridx)), + if (size(df._ridx, 2) >= resu._cnt(2)), + resu._ridx = df._ridx(1:resu._cnt(1), :, :); + else + resu._ridx = df._ridx(1:resu._cnt(1), 1, :); + endif + endif + %# init it with the right orientation + resu._data = cell(size(df._data)); + resu._rep = cell(size(df._rep)); + resu._type = df._type(1:resu._cnt(2)); + resu._src = df._src; + resu._cmt = df._cmt; + +endfunction