public static new CondFMFiniteOut FromMatlabStruct(MatlabStruct s) { // s.className=class(this); // s.featureMap=this.featureMap.toStruct(); // s.regParam=this.regParam; // s.mapMatrix=this.mapMatrix; string className = s.GetString("className"); if (!className.Equals(MATLAB_CLASS)) { throw new ArgumentException("The input does not represent a " + typeof(CondFMFiniteOut)); } MatlabStruct mapStruct = s.GetStruct("featureMap"); VectorMapper featureMap = VectorMapper.FromMatlabStruct(mapStruct); // dz x numFeatures where dz is the dimension of output sufficient // statistic Matrix mapMatrix = s.GetMatrix("mapMatrix"); Console.WriteLine("{0}.mapMatrix size: ({1}, {2})", MATLAB_CLASS, mapMatrix.Rows, mapMatrix.Cols); return(new CondFMFiniteOut(featureMap, mapMatrix)); }
public static new StackVectorMapper FromMatlabStruct(MatlabStruct s) { // s = struct(); // s.className=class(this); // mapperCount = length(this.instancesMappers); // mapperCell = cell(1, mapperCount); // for i=1:mapperCount // mapperCell{i} = this.instancesMappers{i}.toStruct(); // end // s.instancesMappers = this.instancesMappers; string className = s.GetString("className"); if (!className.Equals(MATLAB_CLASS)) { throw new ArgumentException("The input does not represent a " + MATLAB_CLASS); } object[,] mappersCell = s.GetCells("instancesMappers"); if (mappersCell.Length != 2) { throw new ArgumentException("instancesMappers should have length 2."); } int m = mappersCell.GetLength(1); var maps = new VectorMapper[m]; for (int i = 0; i < m; i++) { var mapStruct = new MatlabStruct((Dictionary <string, object>)mappersCell[0, i]); VectorMapper map = VectorMapper.FromMatlabStruct(mapStruct); maps[i] = map; } return(new StackVectorMapper(maps)); }
public new static GenericMapper <T> FromMatlabStruct(MatlabStruct s) { string className = s.GetString("className"); if (!(className.Equals(MATLAB_CLASS) || className.Equals(UAwareGenericMapper <T> .MATLAB_CLASS))) { throw new ArgumentException("The input does not represent a " + typeof(GenericMapper <T>)); } // nv = number of variables. // int inVars = s.GetInt("nv"); MatlabStruct rawOperator = s.GetStruct("operator"); VectorMapper instancesMapper = VectorMapper.FromMatlabStruct(rawOperator); MatlabStruct rawBuilder = s.GetStruct("distBuilder"); DistBuilder <T> distBuilder = DistBuilderBase.FromMatlabStruct(rawBuilder) as DistBuilder <T>; return(new GenericMapper <T>(instancesMapper, distBuilder)); }