public void WriteDt(DataRange dataRange) { RedisMq.subscriber.Subscribe("cover2db_finish", (channel, message) => { Hashtable ht = new Hashtable(); DataTable dtable = new DataTable(); //数据模拟阶段,选取top k int sRec = 2000 * 2000; int k = sRec / (canGridL * canGridW); ht["eNodeB"] = message; ht["k"] = k; //删除已有的路测点 ht["fromName"] = dataRange.infAreaId + "_" + message; IbatisHelper.ExecuteDelete("delSelectDt", ht); DataTable dt = DB.IbatisHelper.ExecuteQueryForDataTable("qureyMockDT", ht); dtable.Columns.Add("ID", System.Type.GetType("System.Int32")); dtable.Columns.Add("x", System.Type.GetType("System.Decimal")); dtable.Columns.Add("y", System.Type.GetType("System.Decimal")); //dtable.Columns.Add("Lon", System.Type.GetType("System.Decimal")); //dtable.Columns.Add("Lat", System.Type.GetType("System.Decimal")); dtable.Columns.Add("RSRP", System.Type.GetType("System.Double")); dtable.Columns.Add("InfName", System.Type.GetType("System.String")); //dtable.Columns.Add("DtType", System.Type.GetType("System.String")); int initOff = 5000; int uid = (int)UIDHelper.GenUIdByRedis("DT", dt.Rows.Count) + initOff; string infName = dataRange.infAreaId + "_" + message; for (int i = 0; i < dt.Rows.Count; i++) { var row = dt.Rows[i]; int gxid = (int)row["GXID"]; int gyid = (int)row["GYID"]; double rsrp = (double)row["ReceivedPowerdbm"]; Point geo = GridHelper.getInstance().GridToGeo(gxid, gyid); Point proj = GridHelper.getInstance().GridToXY(gxid, gyid); DataRow thisrow = dtable.NewRow(); thisrow["ID"] = uid + i; thisrow["x"] = proj.X; thisrow["y"] = proj.Y; //thisrow["Lon"] = geo.X; //thisrow["Lat"] = geo.Y; thisrow["RSRP"] = rsrp; thisrow["InfName"] = infName; //thisrow["DtType"] = "mock"; dtable.Rows.Add(thisrow); } //DataUtil.BCPDataTableImport(dtable, "tbUINTF"); SelectDT(infName, dtable); }); }
private static IEnumerable <DICOMObject> GenerateDICOMFiles() { for (int i = 0; i < 100; i++) { var dcm = new DICOMObject(); dcm.Add(DICOMForge.SOPInstanceUID(UIDHelper.GenerateUID())); dcm.Add(DICOMForge.PatientID("123456")); dcm.Add(DICOMForge.SOPClassUID(SOPClassUID.CTImageStorage)); dcm.Add(DICOMForge.TransferSyntaxUID(TransferSyntaxHelper.IMPLICIT_VR_LITTLE_ENDIAN)); dcm.Add(DICOMForge.PixelData(new byte[10000])); yield return(dcm); } }
public void Wdt() { Hashtable ht = new Hashtable(); DataTable dtable = new DataTable(); dtable.Columns.Add("ID", System.Type.GetType("System.Int32")); dtable.Columns.Add("x", System.Type.GetType("System.Decimal")); dtable.Columns.Add("y", System.Type.GetType("System.Decimal")); dtable.Columns.Add("Lon", System.Type.GetType("System.Decimal")); dtable.Columns.Add("Lat", System.Type.GetType("System.Decimal")); dtable.Columns.Add("RSRP", System.Type.GetType("System.Double")); dtable.Columns.Add("InfName", System.Type.GetType("System.String")); dtable.Columns.Add("DtType", System.Type.GetType("System.String")); for (int vir = 50369; vir <= 50458; vir++) { dtable.Clear(); ht["eNodeB"] = vir; DataTable dt = DB.IbatisHelper.ExecuteQueryForDataTable("qureyMockDT", ht); int initOff = 5000; int uid = (int)UIDHelper.GenUIdByRedis("DT", dt.Rows.Count) + initOff; for (int i = 0; i < dt.Rows.Count; i++) { var row = dt.Rows[i]; int gxid = (int)row["GXID"]; int gyid = (int)row["GYID"]; double rsrp = (double)row["ReceivedPowerdbm"]; Point geo = GridHelper.getInstance().GridToGeo(gxid, gyid); Point proj = GridHelper.getInstance().GridToXY(gxid, gyid); DataRow thisrow = dtable.NewRow(); thisrow["ID"] = uid + i; thisrow["x"] = proj.X; thisrow["y"] = proj.Y; thisrow["Lon"] = geo.X; thisrow["Lat"] = geo.Y; thisrow["RSRP"] = rsrp; thisrow["InfName"] = "v1" + "_" + vir; thisrow["DtType"] = "mock"; dtable.Rows.Add(thisrow); } DataUtil.BCPDataTableImport(dtable, "tbUINTF"); } }
public void UpdateDose(string path) { // Compute new dose matrix string fileName = path + this.DoseUID + ".dcm"; var DoseValues = computeEQD2(fileName, this.nFractions, this.alphaBeta); var sel = new DICOMSelector(dose); sel.SOPInstanceUID.Data = UIDHelper.GenerateUID("1.2.246.352.71.7"); sel.SeriesInstanceUID.Data = UIDHelper.GenerateUID("1.2.246.352.71.2"); /* * dose.FindFirst(TagHelper.SOPINSTANCE_UID).DData = UIDHelper.GenerateUID(); * dose.FindFirst(TagHelper.SERIES_INSTANCE_UID).DData = UIDHelper.GenerateUID(); * this.doseUID = dose.FindFirst(TagHelper.SOPINSTANCE_UID).DData.ToString(); * return dose.FindFirst(TagHelper.SOPINSTANCE_UID).DData.ToString(); */ sel.ReferencedRTPlanSequence_[0].ReferencedSOPInstanceUID.Data = this.planUID; // overwrite dose matrix var _16b = 1 / Math.Pow(2, 16); sel.DoseGridScaling.Data = _16b; using (var stream = new MemoryStream()) { var binWriter = new BinaryWriter(stream); foreach (var d in DoseValues) { int integ = (int)(d / _16b); var bytes = BitConverter.GetBytes(integ); binWriter.Write(integ); } var ows = new OtherWordString(TagHelper.PIXEL_DATA, stream.ToArray()); sel.ToDICOMObject().Replace(ows); } //dose = sel.ToDICOMObject(); this.doseUID = sel.SOPInstanceUID.Data; // add metadata dose = AddMetaData(dose); }
public void UpdatePlan() { string description = "EGD2 generated from " + this.planUID + "\r\nα/β = " + this.alphaBeta.ToString(); var sel = new DICOMSelector(plan); if (sel.RTPlanDescription == null) { sel.RTPlanDescription = new ShortText(TagHelper.RTPLAN_DESCRIPTION, description); } else { sel.RTPlanDescription.Data += description; } sel.SOPInstanceUID.Data = UIDHelper.GenerateUID("1.2.246.352.71.5"); sel.SeriesInstanceUID.Data = UIDHelper.GenerateUID("1.2.246.352.71.2"); /* * sel.MediaStorageSOPClassUID = new UniqueIdentifier(TagHelper.MEDIA_STORAGE_SOPCLASS_UID, sel.SOPClassUID.Data); * sel.MediaStorageSOPInstanceUID = new UniqueIdentifier(TagHelper.MEDIA_STORAGE_SOPINSTANCE_UID, sel.SOPInstanceUID.Data); * sel.ImplementationClassUID = new UniqueIdentifier(TagHelper.IMPLEMENTATION_CLASS_UID, UIDHelper.GenerateUID()); */ sel.ApprovalStatus.Data = "REJECTED"; sel.RTPlanLabel.Data = "EQD2_" + sel.RTPlanLabel.Data.Trim(); if (sel.RTPlanLabel.Data.Length > 13) { sel.RTPlanLabel.Data = sel.RTPlanLabel.Data.Substring(0, 13).Trim(); } plan = sel.ToDICOMObject(); /* * plan.FindFirst(TagHelper.SOPINSTANCE_UID).DData = UIDHelper.GenerateUID(); * plan.FindFirst(TagHelper.SERIES_INSTANCE_UID).DData = UIDHelper.GenerateUID(); * plan.FindFirst(TagHelper.RTPLAN_LABEL).DData = "EQD2_" + plan.FindFirst(TagHelper.RTPLAN_LABEL).DData; * plan.FindFirst(TagHelper.APPROVAL_STATUS).DData = "REJECTED"; * this.planUID = plan.FindFirst(TagHelper.SOPINSTANCE_UID).DData.ToString(); * return plan.FindFirst(TagHelper.SOPINSTANCE_UID).DData.ToString(); */ this.planUID = sel.SOPInstanceUID.Data; // add metadata plan = AddMetaData(plan); //return this.planUID; }
private static StorageCommitmentRequest CreateRequest(Dictionary <string, string> dictionary) { var scr = new StorageCommitmentRequest(); var refSeq = DICOMForge.ReferencedPerformedProcedureStepSequence( new DICOMObject(DICOMForge.ReferencedSOPClassUID("1.2.840.10008.3.1.2.3.3"), DICOMForge.ReferencedSOPInstanceUID(UIDHelper.GenerateUID()))); var txId = DICOMForge.TransactionUID(UIDHelper.GenerateUID()); var seqItems = new List <DICOMObject>(); foreach (var entry in dictionary) { seqItems.Add(new DICOMObject(DICOMForge.ReferencedSOPClassUID(entry.Key), DICOMForge.ReferencedSOPInstanceUID(entry.Value))); } var refSeq2 = DICOMForge.ReferencedSOPSequence(seqItems.ToArray()); scr.Data = new DICOMObject(refSeq, txId, refSeq2); return(scr); }
private void handle(JToken jt, string coll, bool hasProjId = false) { string username = jt["username"].ToString(); string email = jt["email"].ToString(); string emailVerifyState = jt["emailVerifyState"].ToString(); string vcode = UIDHelper.generateVerifyCode(); string projId = hasProjId ? jt["projId"].ToString() : ""; if (toMessage(emailVerifyState, username, email, projId, vcode, out string message, out string hasSendState)) { eh.send(message, email, true); var findStr = new JObject { { "email", email } }.ToString(); var updateStr = new JObject { { "$set", new JObject { { "emailVerifyCode", vcode }, { "emailVerifyState", hasSendState }, { "lastUpdateTime", TimeHelper.GetTimeStamp() } } } }.ToString(); mh.UpdateData(daoConn.connStr, daoConn.connDB, coll, updateStr, findStr); } }
public void AddToUIDDictionary(string uid) { var newUID = UIDHelper.GenerateUID(); _uidMap.Add(uid, newUID); }
public List <CellRayTracingModel> interfeCellGen(DataRange dataRange) { List <CellRayTracingModel> res = new List <CellRayTracingModel>(); Point pMin = new Point(); pMin.X = dataRange.minLongitude; pMin.Y = dataRange.minLatitude; pMin.Z = 0; LTE.Utils.PointConvertByProj.Instance.GetProjectPoint(pMin); Point pMax = new Point(); pMax.X = dataRange.maxLongitude; pMax.Y = dataRange.maxLatitude; pMax.Z = 0; LTE.Utils.PointConvertByProj.Instance.GetProjectPoint(pMax); double maxBh = 90; //最大建筑物高度 int radius = 1200; //干扰源覆盖半径 String tarBaseName = dataRange.infAreaId + "_"; List <CELL> cells = new List <CELL>(); int batch = 10; int cnt = 0; //计算测试数据总数 int lx = (int)Math.Ceiling((pMax.X - pMin.X) / dataRange.tarGridX); int ly = (int)Math.Ceiling((pMax.Y - pMin.Y) / dataRange.tarGridY); int lz = (int)Math.Ceiling(maxBh / dataRange.tarGridH); long uidBatch = long.Parse((lx * ly * lz).ToString()); String dbName = "CELL"; int initOff = 1500000; int uid = (int)UIDHelper.GenUIdByRedis(dbName, uidBatch) + initOff; for (double x = pMin.X; x < pMax.X; x += dataRange.tarGridX) { for (double y = pMin.Y; y < pMax.Y; y += dataRange.tarGridY) { for (double z = 30; z <= maxBh; z += 30) { cnt++; Random r = new Random(uid); CELL cELL = new CELL(); cELL.ID = uid; cELL.CellName = dataRange.infAreaId + "_" + uid; cELL.Altitude = 13; cELL.AntHeight = (decimal)z; cELL.x = (decimal)x; cELL.y = (decimal)y; cELL.CI = uid; cELL.eNodeB = uid; cELL.EIRP = 32; cELL.Azimuth = 0; cELL.Tilt = r.Next(4, 16); //下倾角范围4~16之间随机取 cELL.EARFCN = 63; cELL.CoverageRadius = radius; cells.Add(cELL); CellRayTracingModel rayCell = new CellRayTracingModel(); rayCell.cellName = cELL.CellName; rayCell.reflectionNum = 3; rayCell.diffPointsMargin = 5; rayCell.diffractionNum = 2; rayCell.threadNum = 3; rayCell.incrementAngle = 180; rayCell.computeIndoor = false; rayCell.computeDiffrac = true; rayCell.distance = radius; res.Add(rayCell); uid++; } if (res.Count >= batch) { IbatisHelper.ExecuteInsert("CELL_BatchInsert", cells); cells.Clear(); } } } if (cells.Count > 0) { IbatisHelper.ExecuteInsert("CELL_BatchInsert", cells); } return(res); }
private void processProjTeam() { var match = new JObject { { "$match", new JObject { { "emailVerifyState", EmailState.sendBeforeStateAtInvited } } } }.ToString(); var lookup = new JObject { { "$lookup", new JObject { { "from", userInfoCol }, { "localField", "userId" }, { "foreignField", "userId" }, { "as", "us" } } } }.ToString(); var project = new JObject { { "$project", MongoFieldHelper.toReturn(new string[] { "projId", "userId", "emailVerifyState", "us.username", "us.email" }) } }.ToString(); var list = new List <string>(); var sort = new JObject { { "$sort", new JObject { { "time", 1 } } } }.ToString(); var limit = new JObject { { "$limit", 100 } }.ToString(); list.Add(match); list.Add(lookup); list.Add(sort); list.Add(limit); list.Add(project); var queryRes = mh.Aggregate(daoConn.connStr, daoConn.connDB, projTeamInfoCol, list); if (queryRes.Count > 0) { foreach (var item in queryRes) { string projId = item["projId"].ToString(); string userId = item["userId"].ToString(); string username = ((JArray)item["us"])[0]["username"].ToString(); string email = ((JArray)item["us"])[0]["email"].ToString(); string emailVerifyState = item["emailVerifyState"].ToString(); string vcode = UIDHelper.generateVerifyCode(); if (toMessage(emailVerifyState, username, email, projId, vcode, out string message, out string hasSendState)) { eh.send(message, email, true); var findStr = new JObject { { "projId", projId }, { "userId", userId } }.ToString(); var updateStr = new JObject { { "$set", new JObject { { "emailVerifyCode", vcode }, { "emailVerifyState", hasSendState }, { "lastUpdateTime", TimeHelper.GetTimeStamp() } } } }.ToString(); mh.UpdateData(daoConn.connStr, daoConn.connDB, projTeamInfoCol, updateStr, findStr); } } } }