示例#1
0
        public new static UAwareStackVectorMapper 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");
            var mappers = new UAwareVectorMapper[mappersCell.GetLength(1)];

            for (int i = 0; i < mappers.Length; i++)
            {
                var          mapStruct = new MatlabStruct((Dictionary <string, object>)mappersCell[0, i]);
                VectorMapper m1        = VectorMapper.FromMatlabStruct(mapStruct);
                mappers[i] = (UAwareVectorMapper)m1;
            }
            return(new UAwareStackVectorMapper(mappers));
        }
示例#2
0
        public override void MapAndEstimateU(out T mapped,
                                             out double[] uncertainty, out bool uncertain, params IKEPDist[] dists)
        {
            UAwareVectorMapper uvm = (UAwareVectorMapper)suffMapper;
            Vector             mappedVec;

            uvm.MapAndEstimateU(out mappedVec, out uncertainty, out uncertain, dists);
            mapped = distBuilder.FromStat(mappedVec);
        }
示例#3
0
        public override double[] EstimateUncertainty(params IKEPDist[] msgs)
        {
            //			double[] u = vm.EstimateUncertainty(new IKEPDist[]{d1, d2});
            //			return u;
            UAwareVectorMapper uvm = (UAwareVectorMapper)suffMapper;

            double[] u = uvm.EstimateUncertainty(msgs);
            return(u);
        }
示例#4
0
        // return the expected number of incoming messages
        // negative for any number.
        //		public abstract int NumInputMessages();

        // Load a FeatureMap in Matlab represented by the input
        // All FeatureMap objects can be serialized to struct with .toStruct()
        public static VectorMapper FromMatlabStruct(MatlabStruct s)
        {
            string       className = s.GetString("className");
            VectorMapper map       = null;

            if (className.Equals("RandFourierGaussMVMap"))
            {
                map = RFGMVMap.FromMatlabStruct(s);
            }
            else if (className.Equals("CondFMFiniteOut"))
            {
                map = CondFMFiniteOut.FromMatlabStruct(s);
            }
//			else if(className.Equals("CondCholFiniteOut")){
//				map = CondCholFiniteOut.FromMatlabStruct(s);
//			}
            else if (className.Equals(RFGJointKGG.MATLAB_CLASS))
            {
                map = RFGJointKGG.FromMatlabStruct(s);
            }
            else if (className.Equals(StackVectorMapper.MATLAB_CLASS))
            {
                map = StackVectorMapper.FromMatlabStruct(s);
            }
            else if (className.Equals(BayesLinRegFM.MATLAB_CLASS))
            {
                map = BayesLinRegFM.FromMatlabStruct(s);
            }
            else if (className.Equals(UAwareVectorMapper.MATLAB_CLASS))
            {
                map = UAwareVectorMapper.FromMatlabStruct(s);
            }
            else if (className.Equals(UAwareStackVectorMapper.MATLAB_CLASS))
            {
                map = UAwareStackVectorMapper.FromMatlabStruct(s);
            }
            else
            {
                throw new ArgumentException("Unknown className: " + className);
            }
            //			else if(className.Equals("RFGSumEProdMap")){
            //
            //			}else if(className.Equals("RFGEProdMap")){
            //
            //			}else if(className.Equals("RFGJointEProdMap")){
            //
            //			}else if(className.Equals("RFGProductEProdMap")){
            //
            //			}
            return(map);
        }
示例#5
0
        public new static UAwareVectorMapper FromMatlabStruct(MatlabStruct s)
        {
            string             className = s.GetString("className");
            UAwareVectorMapper map       = null;

            if (className.Equals(MATLAB_CLASS))
            {
                map = null;
            }
            else
            {
                throw new ArgumentException("Unknown className: " + className);
            }

            return(map);
        }
示例#6
0
 // suffMapper must implement IUAwareVectorMapper
 public UAwareGenericMapper(UAwareVectorMapper suffMapper,
                            DistBuilder <T> distBuilder)
     : base(suffMapper, distBuilder)
 {
 }
示例#7
0
 protected UAwareDistMapper(UAwareVectorMapper suffMapper,
                            DistBuilder <T> distBuilder) : base(suffMapper, distBuilder)
 {
 }