public void LoadAllStartingWithShouldNotLoadDeletedDocs() { using (var store = NewRemoteDocumentStore()) { var doc1 = new Abc() { Id = "abc/1", }; var doc2 = new Xyz() { Id = "xyz/1" }; using (var session = store.OpenSession()) { session.Store(doc1); session.Store(doc2); session.SaveChanges(); } using (var session = store.OpenSession()) { // commenting out this call passes the test var testClasses = session.Advanced.Lazily.LoadStartingWith<Abc>("abc/"); var test2Classes = session.Query<Xyz>().Customize(x => x.WaitForNonStaleResults()) .Lazily().Value.ToList(); Assert.Equal(1, testClasses.Value.Count()); Assert.Equal(1, test2Classes.Count()); } } }
private void btnWPcalib_Click(object sender, EventArgs e) { double[] AdjXYZ = new double[3]; Xyz WP = new Xyz(95.05, 100.00, 108.88); // this uses the D65 WP value AdjWP(roiImg, WP, AdjXYZ); Image<Xyz, byte> XYZimg = new Image<Xyz, byte>(sampleImg.Width, sampleImg.Height); CvInvoke.cvCvtColor(sampleImg, XYZimg, COLOR_CONVERSION.CV_BGR2XYZ); Image<Gray, byte> Ximg = new Image<Gray, byte>(sampleImg.Width, sampleImg.Height); Image<Gray, byte> Yimg = new Image<Gray, byte>(sampleImg.Width, sampleImg.Height); Image<Gray, byte> Zimg = new Image<Gray, byte>(sampleImg.Width, sampleImg.Height); //Image<Xyz, byte> unk = new Image<Xyz, byte>(sampleImg.Width, sampleImg.Height); CvInvoke.cvSplit(XYZimg, Ximg, Yimg, Zimg, IntPtr.Zero); Ximg._Mul(AdjXYZ[0]); Yimg._Mul(AdjXYZ[1]); Zimg._Mul(AdjXYZ[2]); Image<Xyz, byte> XYZimg2 = new Image<Xyz, byte>(sampleImg.Width, sampleImg.Height); CvInvoke.cvMerge(Ximg, Yimg, Zimg, IntPtr.Zero , XYZimg2); Image<Bgr, byte> wpImg = new Image<Bgr, byte>(sampleImg.Width, sampleImg.Height); CvInvoke.cvCvtColor(XYZimg2, wpImg, COLOR_CONVERSION.CV_XYZ2BGR); sampleImageBox.Image = wpImg; }
internal const double Kappa = 903.3; // Intent is 24389/27 #endregion Fields #region Constructors static XyzConverter() { WhiteReference = new Xyz { X = 95.047, Y = 100.000, Z = 108.883 }; }
internal static IRgb ToColor(IYxy item) { var xyz = new Xyz { X = item.X * (item.Y1 / item.Y2), Y = item.Y1, Z = (1.0 - item.X - item.Y2) * (item.Y1 / item.Y2) }; return xyz.ToRgb(); }
internal static void ToColorSpace(IRgb color, ILab item) { var xyz = new Xyz(); xyz.Initialize(color); var x = PivotXyz(xyz.X/RefX); var y = PivotXyz(xyz.Y/RefY); var z = PivotXyz(xyz.Z/RefZ); item.L = Math.Max(0,116*y - 16); item.A = 500*(x - y); item.B = 200*(y - z); }
internal static void ToColorSpace(IRgb color, IYxy item) { var xyz = new Xyz(); xyz.Initialize(color); item.Y1 = xyz.Y; var xDividend = xyz.X + xyz.Y + xyz.Z; item.X = xDividend.BasicallyEqualTo(0) ? 0.0 : xyz.X / xDividend; var y2Dividend = xyz.X + xyz.Y + xyz.Z; item.Y2 = y2Dividend.BasicallyEqualTo(0) ? 0.0 : xyz.Y / (xyz.X + xyz.Y + xyz.Z); }
internal static void ToColorSpace(IRgb color, ILab item) { var xyz = new Xyz(); xyz.Initialize(color); var white = XyzConverter.WhiteReference; var x = PivotXyz(xyz.X / white.X); var y = PivotXyz(xyz.Y / white.Y); var z = PivotXyz(xyz.Z / white.Z); item.L = Math.Max(0, 116 * y - 16); item.A = 500 * (x - y); item.B = 200 * (y - z); }
internal static IRgb ToColor(IHunterLab item) { var x = (item.A / 17.5) * (item.L / 10.0); var itemL_10 = item.L / 10.0; var y = itemL_10 * itemL_10; var z = item.B / 7.0 * item.L / 10.0; var xyz = new Xyz { X = (x + y) / 1.02, Y = y, Z = -(z - y) / .847 }; return xyz.To<Rgb>(); }
internal static IRgb ToColor(ILab item) { var y = (item.L + 16.0) / 116.0; var x = item.A / 500.0 + y; var z = y - item.B / 200.0; var white = XyzConverter.WhiteReference; var x3 = x * x * x; var z3 = z * z * z; var xyz = new Xyz { X = white.X * (x3 > XyzConverter.Epsilon ? x3 : (x - 16.0 / 116.0) / 7.787), Y = white.Y * (item.L > (XyzConverter.Kappa * XyzConverter.Epsilon) ? Math.Pow(((item.L + 16.0) / 116.0), 3) : item.L / XyzConverter.Kappa), Z = white.Z * (z3 > XyzConverter.Epsilon ? z3 : (z - 16.0 / 116.0) / 7.787) }; return xyz.ToRgb(); }
internal static IRgb ToColor(ILab item) { var y = (item.L + 16) / 116.0; var x = item.A / 500.0 + y; var z = y - item.B / 200.0; y = Math.Pow(y, 3) > 0.008856 ? Math.Pow(y, 3) : (y - 16/116)/7.787; x = Math.Pow(x, 3) > 0.008856 ? Math.Pow(x, 3) : (x - 16/116)/7.787; z = Math.Pow(z, 3) > 0.008856 ? Math.Pow(z, 3) : (z - 16/116)/7.787; var xyz = new Xyz { X = RefX*x, Y = RefY*y, Z = RefZ*z }; return xyz.ToRgb(); }
internal static void ToColorSpace(IRgb color, ILuv item) { var xyz = new Xyz(); var white = XyzConverter.WhiteReference; xyz.Initialize(color); var y = xyz.Y / XyzConverter.WhiteReference.Y; item.L = y > XyzConverter.Epsilon ? 116.0 * XyzConverter.CubicRoot(y) - 16.0 : XyzConverter.Kappa * y; var targetDenominator = GetDenominator(xyz); var referenceDenominator = GetDenominator(white); // ReSharper disable CompareOfFloatsByEqualityOperator var xTarget = targetDenominator == 0 ? 0 : ((4.0 * xyz.X / targetDenominator) - (4.0 * white.X / referenceDenominator)); var yTarget = targetDenominator == 0 ? 0 : ((9.0 * xyz.Y / targetDenominator) - (9.0 * white.Y / referenceDenominator)); // ReSharper restore CompareOfFloatsByEqualityOperator item.U = 13.0 * item.L * xTarget; item.V = 13.0 * item.L * yTarget; }
internal static IRgb ToColor(ILuv item) { var white = XyzConverter.WhiteReference; const double c = -1.0 / 3.0; var uPrime = (4.0 * white.X) / GetDenominator(white); var vPrime = (9.0 * white.Y) / GetDenominator(white); var a = (1.0 / 3.0) * ((52.0 * item.L) / (item.U + 13 * item.L * uPrime) - 1.0); var imteL_16_116 = (item.L + 16.0) / 116.0; var y = item.L > XyzConverter.Kappa * XyzConverter.Epsilon ? imteL_16_116 * imteL_16_116 * imteL_16_116 : item.L / XyzConverter.Kappa; var b = -5.0 * y; var d = y * ((39.0 * item.L) / (item.V + 13.0 * item.L * vPrime) - 5.0); var x = (d - b) / (a - c); var z = x * a + b; var xyz = new Xyz { X = 100 * x, Y = 100 * y, Z = 100 * z }; return xyz.ToRgb(); }
internal static Rgb ToColor(Xyz item) { var x = item.X / 100.0; var y = item.Y / 100.0; var z = item.Z / 100.0; var r = x * 3.2406 + y * -1.5372 + z * -0.4986; var g = x * -0.9689 + y * 1.8758 + z * 0.0415; var b = x * 0.0557 + y * -0.2040 + z * 1.0570; r = r > 0.0031308 ? 1.055 * Math.Pow(r, 1 / 2.4) - 0.055 : 12.92 * r; g = g > 0.0031308 ? 1.055 * Math.Pow(g, 1 / 2.4) - 0.055 : 12.92 * g; b = b > 0.0031308 ? 1.055 * Math.Pow(b, 1 / 2.4) - 0.055 : 12.92 * b; return new Rgb { R = ToRgb(r), G = ToRgb(g), B = ToRgb(b) }; }
internal static void ToColorSpace(Rgb color, Xyz item) { var r = PivotRgb(color.R / 255.0); var g = PivotRgb(color.G / 255.0); var b = PivotRgb(color.B / 255.0); item.X = r * 0.4124 + g * 0.3576 + b * 0.1805; item.Y = r * 0.2126 + g * 0.7152 + b * 0.0722; item.Z = r * 0.0193 + g * 0.1192 + b * 0.9505; }
public Xyz CloneByAlign(Xyz xyzToAlign) { Xyz.Atom[] atoms0 = atoms; Xyz.Atom[] atoms1 = xyzToAlign.atoms; if (atoms0.Length != atoms1.Length) { HDebug.Assert(false); return(null); } for (int i = 0; i < atoms0.Length; i++) { Xyz.Atom atm0 = atoms0[i]; Xyz.Atom atm1 = atoms1[i]; bool test = true; if (atm0.Id != atm1.Id) { test = false; } if (atm0.AtomType != atm1.AtomType) { test = false; } //if(atm0.X != atm1.X ) test = false; //if(atm0.Y != atm1.Y ) test = false; //if(atm0.Z != atm1.Z ) test = false; if (atm0.AtomId != atm1.AtomId) { test = false; } if (atm0.BondedId1 != atm1.BondedId1) { test = false; } if (atm0.BondedId2 != atm1.BondedId2) { test = false; } if (atm0.BondedId3 != atm1.BondedId3) { test = false; } if (atm0.BondedId4 != atm1.BondedId4) { test = false; } if (atm0.BondedId5 != atm1.BondedId5) { test = false; } if (atm0.BondedId6 != atm1.BondedId6) { test = false; } if (atm0.BondedId7 != atm1.BondedId7) { test = false; } if (atm0.BondedId8 != atm1.BondedId8) { test = false; } if (atm0.BondedId9 != atm1.BondedId9) { test = false; } if (test == false) { HDebug.Assert(false); return(null); } } Vector[] coords0 = atoms.HListCoords(); Vector[] coords1 = xyzToAlign.atoms.HListCoords(); Align.MinRMSD.Align(coords1, ref coords0); return(CloneByCoords(coords0)); }
public void AdjWP(Image<Bgr, byte> roiImg, Xyz WP, double[] AdjXYZ) { //Image<Bgr, byte> roiImg = (Image<Bgr, byte>)roi; Image<Xyz, byte> XYZROI = new Image<Xyz, byte>(roiImg.Width, roiImg.Height); CvInvoke.cvCvtColor(roiImg, XYZROI, COLOR_CONVERSION.CV_BGR2XYZ); double AvgX = XYZROI.GetAverage().X; double AvgY = XYZROI.GetAverage().Y; double AvgZ = XYZROI.GetAverage().Z; double AdjX = Math.Abs(WP.X / AvgX); double AdjY = Math.Abs(WP.Y / AvgY); double AdjZ = Math.Abs(WP.Z / AvgZ); AdjXYZ[0] = AdjX; AdjXYZ[1] = AdjY; AdjXYZ[2] = AdjZ; }