示例#1
0
        private void btnApplyCalibration_Click(object sender, EventArgs e)
        {
            if (VerificationBox.Show() != DialogResult.Yes)
            {
                return;
            }

            Rectifier.EditBlockInputParams((ObservableCollection <RectifiedParam>)dataGridView1.DataSource,
                                           new List <Tuple <string, string> >()
            {
                new Tuple <string, string>("Y1", "Y1Offset"),
                new Tuple <string, string>("Y2", "Y2Offset"),
                new Tuple <string, string>("Angle", "AngleOffset"),
                new Tuple <string, string>("m", "mX"),
            }, ref UVGlue._block);

            try
            {
                UVGlue.SaveVPP();
                UVGlue.BackupVPP();
                MessageBox.Show("应用并保存成功");
            }
            catch
            {
                MessageBox.Show("保存失败");
            }
        }
示例#2
0
        protected static float GetRawLevel(
            float[] buffer,
            int samples_to_read,
            int index_start_offset,
            AnimationCurve integration_curve,
            float input_gain,
            Rectifier rectify,
            Collector collector,
            Collector divisor_collector = null)
        {
            float integrator_duration    = integration_curve.keys.Last().time;
            float evaluation_coefficient = 1f / integrator_duration;
            float integrated_divisor     = divisor_collector != null ? 0f : 1f;
            float integrated_level       = 0f;
            float samples_to_read_f      = (float)samples_to_read;

            for (int i = 0; i < samples_to_read; i++)
            {
                int   read_index       = (index_start_offset + i) % buffer.Length;
                float t                = evaluation_coefficient * i / samples_to_read_f;
                float f                = integration_curve.Evaluate(t);
                float sample           = buffer[read_index];
                float sample_rectified = rectify(sample);
                if (divisor_collector != null)
                {
                    divisor_collector(ref integrated_divisor, f);
                }
                collector(ref integrated_level, input_gain * f * sample_rectified);
            }
            return(integrated_level / integrated_divisor);
        }
示例#3
0
        private void 相机校正ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if(String.IsNullOrEmpty(UVGlue.csvFile)) return;
            var sampleDataDict = Rectifier.parseCSV_reversed(UVGlue.csvFile, sampleKeys, numLines);
            var standardDataDict = Rectifier.parseCSV_reversed(standardFile, standardKeys, numLines);


            double multiplier = Rectifier.calcMultiplier(standardDataDict, sampleDataDict,
                new Tuple<string, string>("X1", "X1_pixel"), new Tuple<string, string>("X2", "X2_pixel"));

            Dictionary<string, List<double>> distsUnBiased = Rectifier.calDistsUnbiased(sampleDataDict, multiplier,
                new Tuple<string, string>("X1_pixel", "X1"), new Tuple<string, string>("X2_pixel", "X2")
                , new Tuple<string, string>("Y1_pixel", "Y1"), new Tuple<string, string>("Y2_pixel", "Y2")
            );

            distsUnBiased["Angle"] = sampleDataDict["AngleUncalib"];


            Dictionary<string, double> biases = Rectifier.calcAveragedDiff(standardDataDict, distsUnBiased);

            var dataSource = Rectifier.GenerateDataSource(multiplier, biases);

            _formRectify.dataGridView1.DataSource = dataSource;
            _formRectify.dataGridView1.Show(); 
            _formRectify.ShowDialog(this);
        }
示例#4
0
        private void 数据比对ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(UVGlue.csvFile)) return;
            var standardDataDict = Rectifier.parseCSV_reversed(standardFile, standardKeys, numLines);
            var sampleDataDict = Rectifier.parseCSV_reversed(UVGlue.csvFile, sampleKeys, numLines);

            var diffs = Rectifier.calcDiffs(standardDataDict, sampleDataDict, "Index");
            var correlationFile = Rectifier.serializeDataDict(diffs, AppDomain.CurrentDomain.BaseDirectory + "/correlation");

            Process.Start(correlationFile);
        }
        // GET: Rectifiers/Delete/5
        public ActionResult Delete(int?rid)
        {
            if (rid == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Rectifier rectifier = db.Rectifiers.Find(rid);

            if (rectifier == null)
            {
                return(HttpNotFound());
            }
            return(View(rectifier));
        }
        public ActionResult Edit([Bind(Include = "RectifierID,SiteID,Serial,UnitID,StatusID,DateDelivered,DateInstalled,DCPPType,RMActive,RMDefective,Voltage,BatteryCurr,RectifierCurr,DCLoading,TimeBackUp,Remarks,UpdateDate")] Rectifier rectifier)
        {
            if (ModelState.IsValid)
            {
                db.Entry(rectifier).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("GetDetails", "Inventories", new { id = rectifier.SiteID }));
            }

            ViewBag.SiteID   = new SelectList(db.Sites, "SiteID", "SiteFullName", rectifier.SiteID);
            ViewBag.UnitID   = new SelectList(db.Units.Where(u => u.Category == "Rectifier"), "UnitID", "BrandModel", rectifier.UnitID);
            ViewBag.StatusID = new SelectList(db.UnitStatus, "StatusID", "Status", rectifier.StatusID);
            return(View(rectifier));
        }
        public ActionResult Create([Bind(Include = "RectifierID,SiteID,Serial,UnitID,StatusID,DateDelivered,DateInstalled,DCPPType,RMActive,RMDefective,Voltage,BatteryCurr,RectifierCurr,DCLoading,TimeBackUp,Remarks,UpdateDate")] Rectifier rectifier)
        {
            var sid = (int)Session["siteid"];

            ViewBag.SiteCode = sid;
            if (ModelState.IsValid)
            {
                db.Rectifiers.Add(rectifier);
                db.SaveChanges();
                return(RedirectToAction("GetDetails", "Inventories", new { id = sid }));
            }

            ViewBag.SiteID   = new SelectList(db.Sites, "SiteID", "SiteFullName", rectifier.SiteID);
            ViewBag.UnitID   = new SelectList(db.Units.Where(u => u.Category == "Rectifier"), "UnitID", "BrandModel", rectifier.UnitID);
            ViewBag.StatusID = new SelectList(db.UnitStatus, "StatusID", "Status", rectifier.StatusID);
            return(View(rectifier));
        }
示例#8
0
        protected virtual void Start()
        {
            board.Size = Random.Range(15, 35);

            land      = new Land(board, factory, Random.Range(0.025f, 0.75f));;
            doodad    = new Doodad(board, factory, Random.Range(0.05f, 0.2f));
            river     = new Track(board, factory, factory.RiverStraight, Random.Range(0.05f, 0.10f));
            road      = new Track(board, factory, factory.RoadStraight, Random.Range(0.075f, 0.15f));
            rectifier = new Rectifier(board, factory);
            float center = board.Size % 2 == 0 ? board.Size / 2 - 0.5f : board.Size / 2 + 0.0f;

            mainCamera.transform.position = new Vector3(center, center, -board.Size);
            land.Size = board.Size;
            text.text = statePrefix + "Generating Land";
            timeController.Reset();
            timeController.SetTime(0.01f);
        }
        // GET: Rectifiers/Edit/5
        public ActionResult Edit(int?rid)
        {
            if (rid == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Rectifier rectifier = db.Rectifiers.Find(rid);

            if (rectifier == null)
            {
                return(HttpNotFound());
            }

            ViewBag.SiteID   = new SelectList(db.Sites, "SiteID", "SiteFullName", rectifier.SiteID);
            ViewBag.UnitID   = new SelectList(db.Units.Where(u => u.Category == "Rectifier"), "UnitID", "BrandModel", rectifier.UnitID);
            ViewBag.StatusID = new SelectList(db.UnitStatus, "StatusID", "Status", rectifier.StatusID);
            return(View(rectifier));
        }
        public ActionResult DeleteConfirmed(int rid)
        {
            Rectifier rectifier = db.Rectifiers.Find(rid);

            Session["Serial"] = rectifier.Serial;

            Site site = db.Sites.Find(rectifier.SiteID);

            Session["SiteID"]   = site.SiteCode;
            Session["SiteName"] = site.SiteName;

            SiteDetail siteDetail = db.SiteDetails.Find(rectifier.SiteID);

            Session["Cluster"] = siteDetail.ClusterID;
            Session["Address"] = siteDetail.HouseLotNo;

            Employee employee = db.Employees.Find(siteDetail.EmployeeNo);

            db.Rectifiers.Remove(rectifier);
            db.SaveChanges();

            return(RedirectToAction("Create", "ArdaItems", new { id = rectifier.UnitID }));
        }