// // Generated by the protocol buffer compiler. DO NOT EDIT! // source: mediapipe/util/tracking/motion_estimation.proto // #pragma warning disable 1591, 0612, 3021 #region Designer generated code using pb = global::Google.Protobuf; using pbc = global::Google.Protobuf.Collections; using pbr = global::Google.Protobuf.Reflection; using scg = global::System.Collections.Generic; namespace Mediapipe { /// Holder for reflection information generated from mediapipe/util/tracking/motion_estimation.proto public static partial class MotionEstimationReflection { #region Descriptor /// File descriptor for mediapipe/util/tracking/motion_estimation.proto public static pbr::FileDescriptor Descriptor { get { return descriptor; } } private static pbr::FileDescriptor descriptor; static MotionEstimationReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( "Ci9tZWRpYXBpcGUvdXRpbC90cmFja2luZy9tb3Rpb25fZXN0aW1hdGlvbi5w", "cm90bxIJbWVkaWFwaXBlIrc1ChdNb3Rpb25Fc3RpbWF0aW9uT3B0aW9ucxIn", "Chllc3RpbWF0ZV90cmFuc2xhdGlvbl9pcmxzGAEgASgIOgR0cnVlEncKHGxp", "bmVhcl9zaW1pbGFyaXR5X2VzdGltYXRpb24YAyABKA4yPS5tZWRpYXBpcGUu", "TW90aW9uRXN0aW1hdGlvbk9wdGlvbnMuTGluZWFyU2ltaWxhcml0eUVzdGlt", "YXRpb246EkVTVElNQVRJT05fTFNfSVJMUxJmChFhZmZpbmVfZXN0aW1hdGlv", "bhgeIAEoDjIzLm1lZGlhcGlwZS5Nb3Rpb25Fc3RpbWF0aW9uT3B0aW9ucy5B", "ZmZpbmVFc3RpbWF0aW9uOhZFU1RJTUFUSU9OX0FGRklORV9OT05FEm0KFWhv", "bW9ncmFwaHlfZXN0aW1hdGlvbhgFIAEoDjI3Lm1lZGlhcGlwZS5Nb3Rpb25F", "c3RpbWF0aW9uT3B0aW9ucy5Ib21vZ3JhcGh5RXN0aW1hdGlvbjoVRVNUSU1B", "VElPTl9IT01PR19JUkxTEjMKJGhvbW9ncmFwaHlfZXhhY3RfZGVub21pbmF0", "b3Jfc2NhbGluZxg1IAEoCDoFZmFsc2USLQofdXNlX2V4YWN0X2hvbW9ncmFw", "aHlfZXN0aW1hdGlvbhg2IAEoCDoEdHJ1ZRI3Cil1c2VfaGlnaGVzdF9hY2N1", "cmFjeV9mb3Jfbm9ybWFsX2VxdWF0aW9ucxg3IAEoCDoEdHJ1ZRItCiJob21v", "Z3JhcGh5X3BlcnNwZWN0aXZlX3JlZ3VsYXJpemVyGD0gASgCOgEwEnwKGW1p", "eF9ob21vZ3JhcGh5X2VzdGltYXRpb24YDCABKA4yPi5tZWRpYXBpcGUuTW90", "aW9uRXN0aW1hdGlvbk9wdGlvbnMuTWl4dHVyZUhvbW9ncmFwaHlFc3RpbWF0", "aW9uOhlFU1RJTUFUSU9OX0hPTU9HX01JWF9OT05FEhgKDG51bV9taXh0dXJl", "cxgNIAEoBToCMTASHgoRbWl4dHVyZV9yb3dfc2lnbWEYDiABKAI6AzAuMRIj", "ChNtaXh0dXJlX3JlZ3VsYXJpemVyGA8gASgCOgYwLjAwMDESJQoabWl4dHVy", "ZV9yZWd1bGFyaXplcl9sZXZlbHMYKiABKAI6ATMSJQoYbWl4dHVyZV9yZWd1", "bGFyaXplcl9iYXNlGCsgASgCOgMyLjISJAoZbWl4dHVyZV9yc19hbmFseXNp", "c19sZXZlbBgsIAEoBToBMhIXCgtpcmxzX3JvdW5kcxgRIAEoBToCMTASHQoQ", "aXJsc19wcmlvcl9zY2FsZRgyIAEoAjoDMC4yEiwKHmlybHNfbW90aW9uX21h", "Z25pdHVkZV9mcmFjdGlvbhgfIAEoAjoEMC4wOBIoChtpcmxzX21peHR1cmVf", "ZnJhY3Rpb25fc2NhbGUYRCABKAI6AzEuNRIqChtpcmxzX3dlaWdodHNfcHJl", "aW5pdGlhbGl6ZWQYJyABKAg6BWZhbHNlEi4KH2ZpbHRlcl9pbml0aWFsaXpl", "ZF9pcmxzX3dlaWdodHMYQyABKAg6BWZhbHNlElkKE2lybHNfaW5pdGlhbGl6", "YXRpb24YOCABKAsyPC5tZWRpYXBpcGUuTW90aW9uRXN0aW1hdGlvbk9wdGlv", "bnMuSXJsc091dGxpZXJJbml0aWFsaXphdGlvbhIsCh1mZWF0dXJlX2RlbnNp", "dHlfbm9ybWFsaXphdGlvbhg+IAEoCDoFZmFsc2USHQoRZmVhdHVyZV9tYXNr", "X3NpemUYPyABKAU6AjEwEmEKG2xvbmdfZmVhdHVyZV9pbml0aWFsaXphdGlv", "bhhCIAEoCzI8Lm1lZGlhcGlwZS5Nb3Rpb25Fc3RpbWF0aW9uT3B0aW9ucy5M", "b25nRmVhdHVyZUluaXRpYWxpemF0aW9uEk0KEWlybHNfbWFza19vcHRpb25z", "GDkgASgLMjIubWVkaWFwaXBlLk1vdGlvbkVzdGltYXRpb25PcHRpb25zLkly", "bHNNYXNrT3B0aW9ucxJeChZqb2ludF90cmFja19lc3RpbWF0aW9uGDsgASgL", "Mj4ubWVkaWFwaXBlLk1vdGlvbkVzdGltYXRpb25PcHRpb25zLkpvaW50VHJh", "Y2tFc3RpbWF0aW9uT3B0aW9ucxJcChlsb25nX2ZlYXR1cmVfYmlhc19vcHRp", "b25zGEAgASgLMjkubWVkaWFwaXBlLk1vdGlvbkVzdGltYXRpb25PcHRpb25z", "LkxvbmdGZWF0dXJlQmlhc09wdGlvbnMSZAoRZXN0aW1hdGlvbl9wb2xpY3kY", "OiABKA4yMy5tZWRpYXBpcGUuTW90aW9uRXN0aW1hdGlvbk9wdGlvbnMuRXN0", "aW1hdGlvblBvbGljeToUSU5ERVBFTkRFTlRfUEFSQUxMRUwSHgoSY292ZXJh", "Z2VfZ3JpZF9zaXplGDMgASgFOgIxMBJmChJtaXh0dXJlX21vZGVsX21vZGUY", "FyABKA4yMy5tZWRpYXBpcGUuTW90aW9uRXN0aW1hdGlvbk9wdGlvbnMuTWl4", "dHVyZU1vZGVsTW9kZToVU0tFV19ST1RBVElPTl9NSVhUVVJFEjUKJ3VzZV9v", "bmx5X2xpbl9zaW1faW5saWVyc19mb3JfaG9tb2dyYXBoeRgGIAEoCDoEdHJ1", "ZRInChhsaW5fc2ltX2lubGllcl90aHJlc2hvbGQYFCABKAI6BTAuMDAzElcK", "GXN0YWJsZV90cmFuc2xhdGlvbl9ib3VuZHMYICABKAsyNC5tZWRpYXBpcGUu", "TW90aW9uRXN0aW1hdGlvbk9wdGlvbnMuVHJhbnNsYXRpb25Cb3VuZHMSVQoY", "c3RhYmxlX3NpbWlsYXJpdHlfYm91bmRzGCEgASgLMjMubWVkaWFwaXBlLk1v", "dGlvbkVzdGltYXRpb25PcHRpb25zLlNpbWlsYXJpdHlCb3VuZHMSVQoYc3Rh", "YmxlX2hvbW9ncmFwaHlfYm91bmRzGAsgASgLMjMubWVkaWFwaXBlLk1vdGlv", "bkVzdGltYXRpb25PcHRpb25zLkhvbW9ncmFwaHlCb3VuZHMSZAogc3RhYmxl", "X21peHR1cmVfaG9tb2dyYXBoeV9ib3VuZHMYIiABKAsyOi5tZWRpYXBpcGUu", "TW90aW9uRXN0aW1hdGlvbk9wdGlvbnMuTWl4dHVyZUhvbW9ncmFwaHlCb3Vu", "ZHMSJAoVc3RyaWN0X2NvdmVyYWdlX3NjYWxlGCkgASgCOgUxLjMzMxIpChts", "YWJlbF9lbXB0eV9mcmFtZXNfYXNfdmFsaWQYFiABKAg6BHRydWUSHwoRZmVh", "dHVyZV9ncmlkX3NpemUYGCABKAI6BDAuMDUSGwoNc3BhdGlhbF9zaWdtYRgZ", "IAEoAjoEMC4wMRIiChZ0ZW1wb3JhbF9pcmxzX2RpYW1ldGVyGBogASgFOgIy", "MBIZCg50ZW1wb3JhbF9zaWdtYRgbIAEoAjoBNRIZCg1mZWF0dXJlX3NpZ21h", "GBwgASgCOgIzMBIcCg1maWx0ZXJfNV90YXBzGB0gASgIOgVmYWxzZRIoChpm", "cmFtZV9jb25maWRlbmNlX3dlaWdodGluZxgwIAEoCDoEdHJ1ZRInChpyZXNl", "dF9jb25maWRlbmNlX3RocmVzaG9sZBgxIAEoAjoDMC40EmEKEmlybHNfd2Vp", "Z2h0X2ZpbHRlchgjIAEoDjIzLm1lZGlhcGlwZS5Nb3Rpb25Fc3RpbWF0aW9u", "T3B0aW9ucy5JUkxTV2VpZ2h0RmlsdGVyOhBJUkxTX0ZJTFRFUl9OT05FEiAK", "EW92ZXJsYXlfZGV0ZWN0aW9uGCQgASgIOgVmYWxzZRImChtvdmVybGF5X2Fu", "YWx5c2lzX2NodW5rX3NpemUYJSABKAU6ATgSXQoZb3ZlcmxheV9kZXRlY3Rp", "b25fb3B0aW9ucxgmIAEoCzI6Lm1lZGlhcGlwZS5Nb3Rpb25Fc3RpbWF0aW9u", "T3B0aW9ucy5PdmVybGF5RGV0ZWN0aW9uT3B0aW9ucxJVChVzaG90X2JvdW5k", "YXJ5X29wdGlvbnMYPCABKAsyNi5tZWRpYXBpcGUuTW90aW9uRXN0aW1hdGlv", "bk9wdGlvbnMuU2hvdEJvdW5kYXJ5T3B0aW9ucxIpChtvdXRwdXRfcmVmaW5l", "ZF9pcmxzX3dlaWdodHMYKCABKAg6BHRydWUSlAEKJWhvbW9ncmFwaHlfaXJs", "c193ZWlnaHRfaW5pdGlhbGl6YXRpb24YLSABKA4yRS5tZWRpYXBpcGUuTW90", "aW9uRXN0aW1hdGlvbk9wdGlvbnMuSG9tb2dyYXBoeUlybHNXZWlnaHRJbml0", "aWFsaXphdGlvbjoeSVJMU19XRUlHSFRfUEVSSU1FVEVSX0dBVVNTSUFOEh4K", "EGlybHNfdXNlX2wwX25vcm0YLiABKAg6BHRydWUSKgobZG9tYWluX2xpbWl0", "ZWRfaXJsc19zY2FsaW5nGEEgASgIOgVmYWxzZRIyCiNkZWFjdGl2YXRlX3N0", "YWJsZV9tb3Rpb25fZXN0aW1hdGlvbhgvIAEoCDoFZmFsc2USKQoacHJvamVj", "dF92YWxpZF9tb3Rpb25zX2Rvd24YNCABKAg6BWZhbHNlEh8KE2VzdGltYXRl", "X3NpbWlsYXJpdHkYAiABKAhCAhgBGmEKGUlybHNPdXRsaWVySW5pdGlhbGl6", "YXRpb24SGAoJYWN0aXZhdGVkGAEgASgIOgVmYWxzZRITCgZyb3VuZHMYAiAB", "KAU6AzEwMBIVCgZjdXRvZmYYAyABKAI6BTAuMDAzGnoKGUxvbmdGZWF0dXJl", "SW5pdGlhbGl6YXRpb24SGAoJYWN0aXZhdGVkGAEgASgIOgVmYWxzZRIjChVt", "aW5fbGVuZ3RoX3BlcmNlbnRpbGUYAiABKAI6BDAuOTUSHgoTdXB3ZWlnaHRf", "bXVsdGlwbGllchgDIAEoAjoBNRrTAQoPSXJsc01hc2tPcHRpb25zEhIKBWRl", "Y2F5GAIgASgCOgMwLjcSGQoMaW5saWVyX3Njb3JlGAMgASgCOgMwLjQSFwoK", "YmFzZV9zY29yZRgEIAEoAjoDMC4yEiMKFG1pbl90cmFuc2xhdGlvbl9ub3Jt", "GAUgASgCOgUwLjAwMhIkChd0cmFuc2xhdGlvbl9ibGVuZF9hbHBoYRgGIAEo", "AjoDMC43EicKGnRyYW5zbGF0aW9uX3ByaW9yX2luY3JlYXNlGAcgASgCOgMw", "LjIqBAgBEAIaeQobSm9pbnRUcmFja0VzdGltYXRpb25PcHRpb25zEhwKEW51", "bV9tb3Rpb25fbW9kZWxzGAEgASgFOgEzEhkKDW1vdGlvbl9zdHJpZGUYAiAB", "KAU6AjE1EiEKEnRlbXBvcmFsX3Ntb290aGluZxgDIAEoCDoFZmFsc2UaygMK", "FkxvbmdGZWF0dXJlQmlhc09wdGlvbnMSFwoMdG90YWxfcm91bmRzGA0gASgF", "OgExEhkKC2lubGllcl9iaWFzGAEgASgCOgQwLjk4EhkKDG91dGxpZXJfYmlh", "cxgCIAEoAjoDMC43EiEKFW51bV9pcmxzX29ic2VydmF0aW9ucxgDIAEoBToC", "MTASIQoVbWF4X2lybHNfY2hhbmdlX3JhdGlvGAQgASgCOgIxMBIfChJpbmxp", "ZXJfaXJsc193ZWlnaHQYBSABKAI6AzAuMhIVCgpiaWFzX3N0ZGV2GAwgASgC", "OgExEh4KEHVzZV9zcGF0aWFsX2JpYXMYBiABKAg6BHRydWUSFwoJZ3JpZF9z", "aXplGAcgASgCOgQwLjA0EhsKDXNwYXRpYWxfc2lnbWEYCCABKAI6BDAuMDIS", "FwoLY29sb3Jfc2lnbWEYCSABKAI6AjIwEiAKFGxvbmdfdHJhY2tfdGhyZXNo", "b2xkGAogASgFOgIzMBIsCh5sb25nX3RyYWNrX2NvbmZpZGVuY2VfZnJhY3Rp", "b24YCyABKAI6BDAuMjUSJAoVc2VlZF9wcmlvcnNfZnJvbV9iaWFzGA4gASgI", "OgVmYWxzZRq+AQoRVHJhbnNsYXRpb25Cb3VuZHMSFwoMbWluX2ZlYXR1cmVz", "GAEgASgFOgEzEicKGWZyYWNfbWF4X21vdGlvbl9tYWduaXR1ZGUYAiABKAI6", "BDAuMTUSKAoabWF4X21vdGlvbl9zdGRldl90aHJlc2hvbGQYBCABKAI6BDAu", "MDESHwoQbWF4X21vdGlvbl9zdGRldhgDIAEoAjoFMC4wNjUSHAoQbWF4X2Fj", "Y2VsZXJhdGlvbhgFIAEoAjoCMjAapgIKEFNpbWlsYXJpdHlCb3VuZHMSHwoR", "b25seV9zdGFibGVfaW5wdXQYASABKAg6BHRydWUSIAoTbWluX2lubGllcl9m", "cmFjdGlvbhgCIAEoAjoDMC4yEhcKC21pbl9pbmxpZXJzGAMgASgCOgIzMBIY", "Cgtsb3dlcl9zY2FsZRgEIAEoAjoDMC44EhkKC3VwcGVyX3NjYWxlGAUgASgC", "OgQxLjI1EhwKDmxpbWl0X3JvdGF0aW9uGAYgASgCOgQwLjI1EhsKEGlubGll", "cl90aHJlc2hvbGQYByABKAI6ATQSIAoVZnJhY19pbmxpZXJfdGhyZXNob2xk", "GAggASgCOgEwEiQKF3N0cmljdF9pbmxpZXJfdGhyZXNob2xkGAkgASgCOgMw", "LjUanQIKEEhvbW9ncmFwaHlCb3VuZHMSGAoLbG93ZXJfc2NhbGUYASABKAI6", "AzAuOBIZCgt1cHBlcl9zY2FsZRgCIAEoAjoEMS4yNRIcCg5saW1pdF9yb3Rh", "dGlvbhgDIAEoAjoEMC4yNRIhChFsaW1pdF9wZXJzcGVjdGl2ZRgEIAEoAjoG", "MC4wMDA0EiMKFnJlZ2lzdHJhdGlvbl90aHJlc2hvbGQYBSABKAI6AzAuMRIm", "ChtmcmFjX3JlZ2lzdHJhdGlvbl90aHJlc2hvbGQYCCABKAI6ATASIAoTbWlu", "X2lubGllcl9jb3ZlcmFnZRgGIAEoAjoDMC4zEiQKFWZyYWNfaW5saWVyX3Ro", "cmVzaG9sZBgHIAEoAjoFMC4wMDIasAEKF01peHR1cmVIb21vZ3JhcGh5Qm91", "bmRzEiAKE21pbl9pbmxpZXJfY292ZXJhZ2UYASABKAI6AzAuNBImChttYXhf", "YWRqYWNlbnRfb3V0bGllcl9ibG9ja3MYAiABKAU6ATUSJAoZbWF4X2FkamFj", "ZW50X2VtcHR5X2Jsb2NrcxgDIAEoBToBMxIlChVmcmFjX2lubGllcl90aHJl", "c2hvbGQYByABKAI6BjAuMDAyNRqVAgoXT3ZlcmxheURldGVjdGlvbk9wdGlv", "bnMSHgoSYW5hbHlzaXNfbWFza19zaXplGAEgASgFOgIxMBIkChdzdHJpY3Rf", "bmVhcl96ZXJvX21vdGlvbhgCIAEoAjoDMC4yEikKHHN0cmljdF9tYXhfdHJh", "bnNsYXRpb25fcmF0aW8YAyABKAI6AzAuMhIkChdzdHJpY3RfbWluX3RleHR1", "cmVkbmVzcxgFIAEoAjoDMC4xEiEKFmxvb3NlX25lYXJfemVyb19tb3Rpb24Y", "BCABKAI6ATESHgoRb3ZlcmxheV9taW5fcmF0aW8YBiABKAI6AzAuMxIgChRv", "dmVybGF5X21pbl9mZWF0dXJlcxgHIAEoAjoCMTAacgoTU2hvdEJvdW5kYXJ5", "T3B0aW9ucxIqChxtb3Rpb25fY29uc2lzdGVuY3lfdGhyZXNob2xkGAEgASgC", "OgQwLjAyEi8KIGFwcGVhcmFuY2VfY29uc2lzdGVuY3lfdGhyZXNob2xkGAIg", "ASgCOgUwLjA3NSKVAQoaTGluZWFyU2ltaWxhcml0eUVzdGltYXRpb24SFgoS", "RVNUSU1BVElPTl9MU19OT05FEAASFAoQRVNUSU1BVElPTl9MU19MMhABEhYK", "EkVTVElNQVRJT05fTFNfSVJMUxAEEhsKF0VTVElNQVRJT05fTFNfTDJfUkFO", "U0FDEAISFAoQRVNUSU1BVElPTl9MU19MMRADImQKEEFmZmluZUVzdGltYXRp", "b24SGgoWRVNUSU1BVElPTl9BRkZJTkVfTk9ORRAAEhgKFEVTVElNQVRJT05f", "QUZGSU5FX0wyEAESGgoWRVNUSU1BVElPTl9BRkZJTkVfSVJMUxACImUKFEhv", "bW9ncmFwaHlFc3RpbWF0aW9uEhkKFUVTVElNQVRJT05fSE9NT0dfTk9ORRAA", "EhcKE0VTVElNQVRJT05fSE9NT0dfTDIQARIZChVFU1RJTUFUSU9OX0hPTU9H", "X0lSTFMQAiJ4ChtNaXh0dXJlSG9tb2dyYXBoeUVzdGltYXRpb24SHQoZRVNU", "SU1BVElPTl9IT01PR19NSVhfTk9ORRAAEhsKF0VTVElNQVRJT05fSE9NT0df", "TUlYX0wyEAESHQoZRVNUSU1BVElPTl9IT01PR19NSVhfSVJMUxACIn0KEEVz", "dGltYXRpb25Qb2xpY3kSGAoUSU5ERVBFTkRFTlRfUEFSQUxMRUwQARIWChJU", "RU1QT1JBTF9JUkxTX01BU0sQAhIeChpURU1QT1JBTF9MT05HX0ZFQVRVUkVf", "QklBUxAEEhcKE0pPSU5UTFlfRlJPTV9UUkFDS1MQAyJYChBNaXh0dXJlTW9k", "ZWxNb2RlEhAKDEZVTExfTUlYVFVSRRAAEhcKE1RSQU5TTEFUSU9OX01JWFRV", "UkUQARIZChVTS0VXX1JPVEFUSU9OX01JWFRVUkUQAiJiChBJUkxTV2VpZ2h0", "RmlsdGVyEhQKEElSTFNfRklMVEVSX05PTkUQABIXChNJUkxTX0ZJTFRFUl9U", "RVhUVVJFEAESHwobSVJMU19GSUxURVJfQ09STkVSX1JFU1BPTlNFEAIihwEK", "IkhvbW9ncmFwaHlJcmxzV2VpZ2h0SW5pdGlhbGl6YXRpb24SHAoYSVJMU19X", "RUlHSFRfQ09OU1RBTlRfT05FEAESHwobSVJMU19XRUlHSFRfQ0VOVEVSX0dB", "VVNTSUFOEAISIgoeSVJMU19XRUlHSFRfUEVSSU1FVEVSX0dBVVNTSUFOEAMq", "BAgHEAgqBAgIEAkqBAgQEBE=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Mediapipe.MotionEstimationOptions), global::Mediapipe.MotionEstimationOptions.Parser, new[]{ "EstimateTranslationIrls", "LinearSimilarityEstimation", "AffineEstimation", "HomographyEstimation", "HomographyExactDenominatorScaling", "UseExactHomographyEstimation", "UseHighestAccuracyForNormalEquations", "HomographyPerspectiveRegularizer", "MixHomographyEstimation", "NumMixtures", "MixtureRowSigma", "MixtureRegularizer", "MixtureRegularizerLevels", "MixtureRegularizerBase", "MixtureRsAnalysisLevel", "IrlsRounds", "IrlsPriorScale", "IrlsMotionMagnitudeFraction", "IrlsMixtureFractionScale", "IrlsWeightsPreinitialized", "FilterInitializedIrlsWeights", "IrlsInitialization", "FeatureDensityNormalization", "FeatureMaskSize", "LongFeatureInitialization", "IrlsMaskOptions", "JointTrackEstimation", "LongFeatureBiasOptions", "EstimationPolicy", "CoverageGridSize", "MixtureModelMode", "UseOnlyLinSimInliersForHomography", "LinSimInlierThreshold", "StableTranslationBounds", "StableSimilarityBounds", "StableHomographyBounds", "StableMixtureHomographyBounds", "StrictCoverageScale", "LabelEmptyFramesAsValid", "FeatureGridSize", "SpatialSigma", "TemporalIrlsDiameter", "TemporalSigma", "FeatureSigma", "Filter5Taps", "FrameConfidenceWeighting", "ResetConfidenceThreshold", "IrlsWeightFilter", "OverlayDetection", "OverlayAnalysisChunkSize", "OverlayDetectionOptions", "ShotBoundaryOptions", "OutputRefinedIrlsWeights", "HomographyIrlsWeightInitialization", "IrlsUseL0Norm", "DomainLimitedIrlsScaling", "DeactivateStableMotionEstimation", "ProjectValidMotionsDown", "EstimateSimilarity" }, null, new[]{ typeof(global::Mediapipe.MotionEstimationOptions.Types.LinearSimilarityEstimation), typeof(global::Mediapipe.MotionEstimationOptions.Types.AffineEstimation), typeof(global::Mediapipe.MotionEstimationOptions.Types.HomographyEstimation), typeof(global::Mediapipe.MotionEstimationOptions.Types.MixtureHomographyEstimation), typeof(global::Mediapipe.MotionEstimationOptions.Types.EstimationPolicy), typeof(global::Mediapipe.MotionEstimationOptions.Types.MixtureModelMode), typeof(global::Mediapipe.MotionEstimationOptions.Types.IRLSWeightFilter), typeof(global::Mediapipe.MotionEstimationOptions.Types.HomographyIrlsWeightInitialization) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Mediapipe.MotionEstimationOptions.Types.IrlsOutlierInitialization), global::Mediapipe.MotionEstimationOptions.Types.IrlsOutlierInitialization.Parser, new[]{ "Activated", "Rounds", "Cutoff" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Mediapipe.MotionEstimationOptions.Types.LongFeatureInitialization), global::Mediapipe.MotionEstimationOptions.Types.LongFeatureInitialization.Parser, new[]{ "Activated", "MinLengthPercentile", "UpweightMultiplier" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Mediapipe.MotionEstimationOptions.Types.IrlsMaskOptions), global::Mediapipe.MotionEstimationOptions.Types.IrlsMaskOptions.Parser, new[]{ "Decay", "InlierScore", "BaseScore", "MinTranslationNorm", "TranslationBlendAlpha", "TranslationPriorIncrease" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Mediapipe.MotionEstimationOptions.Types.JointTrackEstimationOptions), global::Mediapipe.MotionEstimationOptions.Types.JointTrackEstimationOptions.Parser, new[]{ "NumMotionModels", "MotionStride", "TemporalSmoothing" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Mediapipe.MotionEstimationOptions.Types.LongFeatureBiasOptions), global::Mediapipe.MotionEstimationOptions.Types.LongFeatureBiasOptions.Parser, new[]{ "TotalRounds", "InlierBias", "OutlierBias", "NumIrlsObservations", "MaxIrlsChangeRatio", "InlierIrlsWeight", "BiasStdev", "UseSpatialBias", "GridSize", "SpatialSigma", "ColorSigma", "LongTrackThreshold", "LongTrackConfidenceFraction", "SeedPriorsFromBias" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Mediapipe.MotionEstimationOptions.Types.TranslationBounds), global::Mediapipe.MotionEstimationOptions.Types.TranslationBounds.Parser, new[]{ "MinFeatures", "FracMaxMotionMagnitude", "MaxMotionStdevThreshold", "MaxMotionStdev", "MaxAcceleration" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Mediapipe.MotionEstimationOptions.Types.SimilarityBounds), global::Mediapipe.MotionEstimationOptions.Types.SimilarityBounds.Parser, new[]{ "OnlyStableInput", "MinInlierFraction", "MinInliers", "LowerScale", "UpperScale", "LimitRotation", "InlierThreshold", "FracInlierThreshold", "StrictInlierThreshold" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Mediapipe.MotionEstimationOptions.Types.HomographyBounds), global::Mediapipe.MotionEstimationOptions.Types.HomographyBounds.Parser, new[]{ "LowerScale", "UpperScale", "LimitRotation", "LimitPerspective", "RegistrationThreshold", "FracRegistrationThreshold", "MinInlierCoverage", "FracInlierThreshold" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Mediapipe.MotionEstimationOptions.Types.MixtureHomographyBounds), global::Mediapipe.MotionEstimationOptions.Types.MixtureHomographyBounds.Parser, new[]{ "MinInlierCoverage", "MaxAdjacentOutlierBlocks", "MaxAdjacentEmptyBlocks", "FracInlierThreshold" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Mediapipe.MotionEstimationOptions.Types.OverlayDetectionOptions), global::Mediapipe.MotionEstimationOptions.Types.OverlayDetectionOptions.Parser, new[]{ "AnalysisMaskSize", "StrictNearZeroMotion", "StrictMaxTranslationRatio", "StrictMinTexturedness", "LooseNearZeroMotion", "OverlayMinRatio", "OverlayMinFeatures" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Mediapipe.MotionEstimationOptions.Types.ShotBoundaryOptions), global::Mediapipe.MotionEstimationOptions.Types.ShotBoundaryOptions.Parser, new[]{ "MotionConsistencyThreshold", "AppearanceConsistencyThreshold" }, null, null, null, null)}) })); } #endregion } #region Messages /// /// Note: In general for Estimation modes, the prefix are used as follows: /// L2: minimize squared norm of error /// IRLS: iterative reweighted least square, L2 minimization using multiple /// iterations, downweighting outliers. /// Next tag: 69 /// public sealed partial class MotionEstimationOptions : pb::IExtendableMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new MotionEstimationOptions()); private pb::UnknownFieldSet _unknownFields; private pb::ExtensionSet _extensions; private pb::ExtensionSet _Extensions { get { return _extensions; } } private int _hasBits0; private int _hasBits1; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { get { return global::Mediapipe.MotionEstimationReflection.Descriptor.MessageTypes[0]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] pbr::MessageDescriptor pb::IMessage.Descriptor { get { return Descriptor; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public MotionEstimationOptions() { OnConstruction(); } partial void OnConstruction(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public MotionEstimationOptions(MotionEstimationOptions other) : this() { _hasBits0 = other._hasBits0; _hasBits1 = other._hasBits1; estimateTranslationIrls_ = other.estimateTranslationIrls_; linearSimilarityEstimation_ = other.linearSimilarityEstimation_; affineEstimation_ = other.affineEstimation_; homographyEstimation_ = other.homographyEstimation_; homographyExactDenominatorScaling_ = other.homographyExactDenominatorScaling_; useExactHomographyEstimation_ = other.useExactHomographyEstimation_; useHighestAccuracyForNormalEquations_ = other.useHighestAccuracyForNormalEquations_; homographyPerspectiveRegularizer_ = other.homographyPerspectiveRegularizer_; mixHomographyEstimation_ = other.mixHomographyEstimation_; numMixtures_ = other.numMixtures_; mixtureRowSigma_ = other.mixtureRowSigma_; mixtureRegularizer_ = other.mixtureRegularizer_; mixtureRegularizerLevels_ = other.mixtureRegularizerLevels_; mixtureRegularizerBase_ = other.mixtureRegularizerBase_; mixtureRsAnalysisLevel_ = other.mixtureRsAnalysisLevel_; irlsRounds_ = other.irlsRounds_; irlsPriorScale_ = other.irlsPriorScale_; irlsMotionMagnitudeFraction_ = other.irlsMotionMagnitudeFraction_; irlsMixtureFractionScale_ = other.irlsMixtureFractionScale_; irlsWeightsPreinitialized_ = other.irlsWeightsPreinitialized_; filterInitializedIrlsWeights_ = other.filterInitializedIrlsWeights_; irlsInitialization_ = other.irlsInitialization_ != null ? other.irlsInitialization_.Clone() : null; featureDensityNormalization_ = other.featureDensityNormalization_; featureMaskSize_ = other.featureMaskSize_; longFeatureInitialization_ = other.longFeatureInitialization_ != null ? other.longFeatureInitialization_.Clone() : null; irlsMaskOptions_ = other.irlsMaskOptions_ != null ? other.irlsMaskOptions_.Clone() : null; jointTrackEstimation_ = other.jointTrackEstimation_ != null ? other.jointTrackEstimation_.Clone() : null; longFeatureBiasOptions_ = other.longFeatureBiasOptions_ != null ? other.longFeatureBiasOptions_.Clone() : null; estimationPolicy_ = other.estimationPolicy_; coverageGridSize_ = other.coverageGridSize_; mixtureModelMode_ = other.mixtureModelMode_; useOnlyLinSimInliersForHomography_ = other.useOnlyLinSimInliersForHomography_; linSimInlierThreshold_ = other.linSimInlierThreshold_; stableTranslationBounds_ = other.stableTranslationBounds_ != null ? other.stableTranslationBounds_.Clone() : null; stableSimilarityBounds_ = other.stableSimilarityBounds_ != null ? other.stableSimilarityBounds_.Clone() : null; stableHomographyBounds_ = other.stableHomographyBounds_ != null ? other.stableHomographyBounds_.Clone() : null; stableMixtureHomographyBounds_ = other.stableMixtureHomographyBounds_ != null ? other.stableMixtureHomographyBounds_.Clone() : null; strictCoverageScale_ = other.strictCoverageScale_; labelEmptyFramesAsValid_ = other.labelEmptyFramesAsValid_; featureGridSize_ = other.featureGridSize_; spatialSigma_ = other.spatialSigma_; temporalIrlsDiameter_ = other.temporalIrlsDiameter_; temporalSigma_ = other.temporalSigma_; featureSigma_ = other.featureSigma_; filter5Taps_ = other.filter5Taps_; frameConfidenceWeighting_ = other.frameConfidenceWeighting_; resetConfidenceThreshold_ = other.resetConfidenceThreshold_; irlsWeightFilter_ = other.irlsWeightFilter_; overlayDetection_ = other.overlayDetection_; overlayAnalysisChunkSize_ = other.overlayAnalysisChunkSize_; overlayDetectionOptions_ = other.overlayDetectionOptions_ != null ? other.overlayDetectionOptions_.Clone() : null; shotBoundaryOptions_ = other.shotBoundaryOptions_ != null ? other.shotBoundaryOptions_.Clone() : null; outputRefinedIrlsWeights_ = other.outputRefinedIrlsWeights_; homographyIrlsWeightInitialization_ = other.homographyIrlsWeightInitialization_; irlsUseL0Norm_ = other.irlsUseL0Norm_; domainLimitedIrlsScaling_ = other.domainLimitedIrlsScaling_; deactivateStableMotionEstimation_ = other.deactivateStableMotionEstimation_; projectValidMotionsDown_ = other.projectValidMotionsDown_; estimateSimilarity_ = other.estimateSimilarity_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); _extensions = pb::ExtensionSet.Clone(other._extensions); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public MotionEstimationOptions Clone() { return new MotionEstimationOptions(this); } /// Field number for the "estimate_translation_irls" field. public const int EstimateTranslationIrlsFieldNumber = 1; private readonly static bool EstimateTranslationIrlsDefaultValue = true; private bool estimateTranslationIrls_; /// /// Specifies which camera models should be estimated, translation is always /// estimated. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool EstimateTranslationIrls { get { if ((_hasBits0 & 1) != 0) { return estimateTranslationIrls_; } else { return EstimateTranslationIrlsDefaultValue; } } set { _hasBits0 |= 1; estimateTranslationIrls_ = value; } } /// Gets whether the "estimate_translation_irls" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasEstimateTranslationIrls { get { return (_hasBits0 & 1) != 0; } } /// Clears the value of the "estimate_translation_irls" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearEstimateTranslationIrls() { _hasBits0 &= ~1; } /// Field number for the "linear_similarity_estimation" field. public const int LinearSimilarityEstimationFieldNumber = 3; private readonly static global::Mediapipe.MotionEstimationOptions.Types.LinearSimilarityEstimation LinearSimilarityEstimationDefaultValue = global::Mediapipe.MotionEstimationOptions.Types.LinearSimilarityEstimation.EstimationLsIrls; private global::Mediapipe.MotionEstimationOptions.Types.LinearSimilarityEstimation linearSimilarityEstimation_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.LinearSimilarityEstimation LinearSimilarityEstimation { get { if ((_hasBits0 & 4) != 0) { return linearSimilarityEstimation_; } else { return LinearSimilarityEstimationDefaultValue; } } set { _hasBits0 |= 4; linearSimilarityEstimation_ = value; } } /// Gets whether the "linear_similarity_estimation" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasLinearSimilarityEstimation { get { return (_hasBits0 & 4) != 0; } } /// Clears the value of the "linear_similarity_estimation" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearLinearSimilarityEstimation() { _hasBits0 &= ~4; } /// Field number for the "affine_estimation" field. public const int AffineEstimationFieldNumber = 30; private readonly static global::Mediapipe.MotionEstimationOptions.Types.AffineEstimation AffineEstimationDefaultValue = global::Mediapipe.MotionEstimationOptions.Types.AffineEstimation.EstimationAffineNone; private global::Mediapipe.MotionEstimationOptions.Types.AffineEstimation affineEstimation_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.AffineEstimation AffineEstimation { get { if ((_hasBits0 & 524288) != 0) { return affineEstimation_; } else { return AffineEstimationDefaultValue; } } set { _hasBits0 |= 524288; affineEstimation_ = value; } } /// Gets whether the "affine_estimation" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasAffineEstimation { get { return (_hasBits0 & 524288) != 0; } } /// Clears the value of the "affine_estimation" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearAffineEstimation() { _hasBits0 &= ~524288; } /// Field number for the "homography_estimation" field. public const int HomographyEstimationFieldNumber = 5; private readonly static global::Mediapipe.MotionEstimationOptions.Types.HomographyEstimation HomographyEstimationDefaultValue = global::Mediapipe.MotionEstimationOptions.Types.HomographyEstimation.EstimationHomogIrls; private global::Mediapipe.MotionEstimationOptions.Types.HomographyEstimation homographyEstimation_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.HomographyEstimation HomographyEstimation { get { if ((_hasBits0 & 8) != 0) { return homographyEstimation_; } else { return HomographyEstimationDefaultValue; } } set { _hasBits0 |= 8; homographyEstimation_ = value; } } /// Gets whether the "homography_estimation" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasHomographyEstimation { get { return (_hasBits0 & 8) != 0; } } /// Clears the value of the "homography_estimation" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearHomographyEstimation() { _hasBits0 &= ~8; } /// Field number for the "homography_exact_denominator_scaling" field. public const int HomographyExactDenominatorScalingFieldNumber = 53; private readonly static bool HomographyExactDenominatorScalingDefaultValue = false; private bool homographyExactDenominatorScaling_; /// /// By default, homography estimation minimizes an objective that is not /// strictly the L2 distance between matched points. If the flag is set, each /// row of the linear system is scaled with the exact denominator which results /// in an objective that minimizes the L2 distance. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HomographyExactDenominatorScaling { get { if ((_hasBits1 & 64) != 0) { return homographyExactDenominatorScaling_; } else { return HomographyExactDenominatorScalingDefaultValue; } } set { _hasBits1 |= 64; homographyExactDenominatorScaling_ = value; } } /// Gets whether the "homography_exact_denominator_scaling" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasHomographyExactDenominatorScaling { get { return (_hasBits1 & 64) != 0; } } /// Clears the value of the "homography_exact_denominator_scaling" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearHomographyExactDenominatorScaling() { _hasBits1 &= ~64; } /// Field number for the "use_exact_homography_estimation" field. public const int UseExactHomographyEstimationFieldNumber = 54; private readonly static bool UseExactHomographyEstimationDefaultValue = true; private bool useExactHomographyEstimation_; /// /// Per default, we use exact solver for over-determined system using /// well-conditioned QR decomposition. For better speed, set value to false to /// use estimation via normal equations. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool UseExactHomographyEstimation { get { if ((_hasBits1 & 128) != 0) { return useExactHomographyEstimation_; } else { return UseExactHomographyEstimationDefaultValue; } } set { _hasBits1 |= 128; useExactHomographyEstimation_ = value; } } /// Gets whether the "use_exact_homography_estimation" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasUseExactHomographyEstimation { get { return (_hasBits1 & 128) != 0; } } /// Clears the value of the "use_exact_homography_estimation" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearUseExactHomographyEstimation() { _hasBits1 &= ~128; } /// Field number for the "use_highest_accuracy_for_normal_equations" field. public const int UseHighestAccuracyForNormalEquationsFieldNumber = 55; private readonly static bool UseHighestAccuracyForNormalEquationsDefaultValue = true; private bool useHighestAccuracyForNormalEquations_; /// /// If set uses double instead of float when computing normal equations. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool UseHighestAccuracyForNormalEquations { get { if ((_hasBits1 & 256) != 0) { return useHighestAccuracyForNormalEquations_; } else { return UseHighestAccuracyForNormalEquationsDefaultValue; } } set { _hasBits1 |= 256; useHighestAccuracyForNormalEquations_ = value; } } /// Gets whether the "use_highest_accuracy_for_normal_equations" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasUseHighestAccuracyForNormalEquations { get { return (_hasBits1 & 256) != 0; } } /// Clears the value of the "use_highest_accuracy_for_normal_equations" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearUseHighestAccuracyForNormalEquations() { _hasBits1 &= ~256; } /// Field number for the "homography_perspective_regularizer" field. public const int HomographyPerspectiveRegularizerFieldNumber = 61; private readonly static float HomographyPerspectiveRegularizerDefaultValue = 0F; private float homographyPerspectiveRegularizer_; /// /// Regularizer for perspective part of the homography. If zero, no /// regularization is performed. Should be >= 0. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float HomographyPerspectiveRegularizer { get { if ((_hasBits1 & 1024) != 0) { return homographyPerspectiveRegularizer_; } else { return HomographyPerspectiveRegularizerDefaultValue; } } set { _hasBits1 |= 1024; homographyPerspectiveRegularizer_ = value; } } /// Gets whether the "homography_perspective_regularizer" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasHomographyPerspectiveRegularizer { get { return (_hasBits1 & 1024) != 0; } } /// Clears the value of the "homography_perspective_regularizer" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearHomographyPerspectiveRegularizer() { _hasBits1 &= ~1024; } /// Field number for the "mix_homography_estimation" field. public const int MixHomographyEstimationFieldNumber = 12; private readonly static global::Mediapipe.MotionEstimationOptions.Types.MixtureHomographyEstimation MixHomographyEstimationDefaultValue = global::Mediapipe.MotionEstimationOptions.Types.MixtureHomographyEstimation.EstimationHomogMixNone; private global::Mediapipe.MotionEstimationOptions.Types.MixtureHomographyEstimation mixHomographyEstimation_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.MixtureHomographyEstimation MixHomographyEstimation { get { if ((_hasBits0 & 32) != 0) { return mixHomographyEstimation_; } else { return MixHomographyEstimationDefaultValue; } } set { _hasBits0 |= 32; mixHomographyEstimation_ = value; } } /// Gets whether the "mix_homography_estimation" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMixHomographyEstimation { get { return (_hasBits0 & 32) != 0; } } /// Clears the value of the "mix_homography_estimation" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMixHomographyEstimation() { _hasBits0 &= ~32; } /// Field number for the "num_mixtures" field. public const int NumMixturesFieldNumber = 13; private readonly static int NumMixturesDefaultValue = 10; private int numMixtures_; /// /// If row-wise mixture models are estimated, determines number of them. /// Note, changing number of mixtures, interpolation sigma and regularizer /// is very likely to impact the stability analysis for mixtures and rolling /// shutter scoring. At least MixtureHomographyBounds would need to be adjusted /// to the new values. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int NumMixtures { get { if ((_hasBits0 & 64) != 0) { return numMixtures_; } else { return NumMixturesDefaultValue; } } set { _hasBits0 |= 64; numMixtures_ = value; } } /// Gets whether the "num_mixtures" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasNumMixtures { get { return (_hasBits0 & 64) != 0; } } /// Clears the value of the "num_mixtures" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearNumMixtures() { _hasBits0 &= ~64; } /// Field number for the "mixture_row_sigma" field. public const int MixtureRowSigmaFieldNumber = 14; private readonly static float MixtureRowSigmaDefaultValue = 0.1F; private float mixtureRowSigma_; /// /// If row-wise mixture models are estimated, determines how much each point is /// influenced by its neigbhoring mixtures. Specified as relative sigma /// (standard deviation) w.r.t. frame_height. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float MixtureRowSigma { get { if ((_hasBits0 & 128) != 0) { return mixtureRowSigma_; } else { return MixtureRowSigmaDefaultValue; } } set { _hasBits0 |= 128; mixtureRowSigma_ = value; } } /// Gets whether the "mixture_row_sigma" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMixtureRowSigma { get { return (_hasBits0 & 128) != 0; } } /// Clears the value of the "mixture_row_sigma" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMixtureRowSigma() { _hasBits0 &= ~128; } /// Field number for the "mixture_regularizer" field. public const int MixtureRegularizerFieldNumber = 15; private readonly static float MixtureRegularizerDefaultValue = 0.0001F; private float mixtureRegularizer_; /// /// Mixture estimation uses L2 regularizer to assure that adjacent mixture /// models are similar. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float MixtureRegularizer { get { if ((_hasBits0 & 256) != 0) { return mixtureRegularizer_; } else { return MixtureRegularizerDefaultValue; } } set { _hasBits0 |= 256; mixtureRegularizer_ = value; } } /// Gets whether the "mixture_regularizer" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMixtureRegularizer { get { return (_hasBits0 & 256) != 0; } } /// Clears the value of the "mixture_regularizer" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMixtureRegularizer() { _hasBits0 &= ~256; } /// Field number for the "mixture_regularizer_levels" field. public const int MixtureRegularizerLevelsFieldNumber = 42; private readonly static float MixtureRegularizerLevelsDefaultValue = 3F; private float mixtureRegularizerLevels_; /// /// Mixtures are estimated across a spectrum of exponentially increasingly /// regularizers. In particular the regularizer at level L is given as /// mixture_regularizer * mixture_regularizer_base^L. /// A maximum of 10 levels are supported (checked!). /// Note: When changing the number of levels you probably want to adapt the /// MotionStabilizationOptions::rolling_shutter_increment value as well, /// as the number of levels directly controls the highest threshold for /// the rolling shutter index analysis. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float MixtureRegularizerLevels { get { if ((_hasBits0 & 134217728) != 0) { return mixtureRegularizerLevels_; } else { return MixtureRegularizerLevelsDefaultValue; } } set { _hasBits0 |= 134217728; mixtureRegularizerLevels_ = value; } } /// Gets whether the "mixture_regularizer_levels" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMixtureRegularizerLevels { get { return (_hasBits0 & 134217728) != 0; } } /// Clears the value of the "mixture_regularizer_levels" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMixtureRegularizerLevels() { _hasBits0 &= ~134217728; } /// Field number for the "mixture_regularizer_base" field. public const int MixtureRegularizerBaseFieldNumber = 43; private readonly static float MixtureRegularizerBaseDefaultValue = 2.2F; private float mixtureRegularizerBase_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float MixtureRegularizerBase { get { if ((_hasBits0 & 268435456) != 0) { return mixtureRegularizerBase_; } else { return MixtureRegularizerBaseDefaultValue; } } set { _hasBits0 |= 268435456; mixtureRegularizerBase_ = value; } } /// Gets whether the "mixture_regularizer_base" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMixtureRegularizerBase { get { return (_hasBits0 & 268435456) != 0; } } /// Clears the value of the "mixture_regularizer_base" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMixtureRegularizerBase() { _hasBits0 &= ~268435456; } /// Field number for the "mixture_rs_analysis_level" field. public const int MixtureRsAnalysisLevelFieldNumber = 44; private readonly static int MixtureRsAnalysisLevelDefaultValue = 2; private int mixtureRsAnalysisLevel_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int MixtureRsAnalysisLevel { get { if ((_hasBits0 & 536870912) != 0) { return mixtureRsAnalysisLevel_; } else { return MixtureRsAnalysisLevelDefaultValue; } } set { _hasBits0 |= 536870912; mixtureRsAnalysisLevel_ = value; } } /// Gets whether the "mixture_rs_analysis_level" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMixtureRsAnalysisLevel { get { return (_hasBits0 & 536870912) != 0; } } /// Clears the value of the "mixture_rs_analysis_level" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMixtureRsAnalysisLevel() { _hasBits0 &= ~536870912; } /// Field number for the "irls_rounds" field. public const int IrlsRoundsFieldNumber = 17; private readonly static int IrlsRoundsDefaultValue = 10; private int irlsRounds_; /// /// IRLS rounds to down-weight outliers (default across all models). /// Note: IRLS in combination with full mixture models (as opposed to the /// default reduced ones) is somewhat expensive. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int IrlsRounds { get { if ((_hasBits0 & 512) != 0) { return irlsRounds_; } else { return IrlsRoundsDefaultValue; } } set { _hasBits0 |= 512; irlsRounds_ = value; } } /// Gets whether the "irls_rounds" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasIrlsRounds { get { return (_hasBits0 & 512) != 0; } } /// Clears the value of the "irls_rounds" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearIrlsRounds() { _hasBits0 &= ~512; } /// Field number for the "irls_prior_scale" field. public const int IrlsPriorScaleFieldNumber = 50; private readonly static float IrlsPriorScaleDefaultValue = 0.2F; private float irlsPriorScale_; /// /// If set to > 0 (always needs be less than 1.0), influence of supplied prior /// irls weights is linearlly decreased from the specified prior scale (weight /// 1.0) to prior_scale. Effectively, biases the solution to the /// supplied prior features. /// Note: Without irls_weights_preinitialized set to true, this option is /// effectively a no op. /// TODO: Retire this option. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float IrlsPriorScale { get { if ((_hasBits1 & 8) != 0) { return irlsPriorScale_; } else { return IrlsPriorScaleDefaultValue; } } set { _hasBits1 |= 8; irlsPriorScale_ = value; } } /// Gets whether the "irls_prior_scale" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasIrlsPriorScale { get { return (_hasBits1 & 8) != 0; } } /// Clears the value of the "irls_prior_scale" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearIrlsPriorScale() { _hasBits1 &= ~8; } /// Field number for the "irls_motion_magnitude_fraction" field. public const int IrlsMotionMagnitudeFractionFieldNumber = 31; private readonly static float IrlsMotionMagnitudeFractionDefaultValue = 0.08F; private float irlsMotionMagnitudeFraction_; /// /// Determine how to normalize irls weights w.r.t. average motion magnitude. /// In general a residual of 1 pixel is assigned an IRLS weight of 1. /// However as larger motions in general are affected by a larger error, we /// normalize irls weights, such that a residual /// of distance of irls_motion_magnitude_fraction times /// <average translation magnitude> equals an IRLS weight of 1. /// Must be larger than zero. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float IrlsMotionMagnitudeFraction { get { if ((_hasBits0 & 1048576) != 0) { return irlsMotionMagnitudeFraction_; } else { return IrlsMotionMagnitudeFractionDefaultValue; } } set { _hasBits0 |= 1048576; irlsMotionMagnitudeFraction_ = value; } } /// Gets whether the "irls_motion_magnitude_fraction" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasIrlsMotionMagnitudeFraction { get { return (_hasBits0 & 1048576) != 0; } } /// Clears the value of the "irls_motion_magnitude_fraction" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearIrlsMotionMagnitudeFraction() { _hasBits0 &= ~1048576; } /// Field number for the "irls_mixture_fraction_scale" field. public const int IrlsMixtureFractionScaleFieldNumber = 68; private readonly static float IrlsMixtureFractionScaleDefaultValue = 1.5F; private float irlsMixtureFractionScale_; /// /// Scale that is applied for mixture (where error is expected to be bigger). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float IrlsMixtureFractionScale { get { if ((_hasBits1 & 32768) != 0) { return irlsMixtureFractionScale_; } else { return IrlsMixtureFractionScaleDefaultValue; } } set { _hasBits1 |= 32768; irlsMixtureFractionScale_ = value; } } /// Gets whether the "irls_mixture_fraction_scale" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasIrlsMixtureFractionScale { get { return (_hasBits1 & 32768) != 0; } } /// Clears the value of the "irls_mixture_fraction_scale" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearIrlsMixtureFractionScale() { _hasBits1 &= ~32768; } /// Field number for the "irls_weights_preinitialized" field. public const int IrlsWeightsPreinitializedFieldNumber = 39; private readonly static bool IrlsWeightsPreinitializedDefaultValue = false; private bool irlsWeightsPreinitialized_; /// /// By default, irls weight of all features are set uniformly to one before /// estimating EACH model, refining them in subsequent irls iterations. /// If flag below is set, input irls weights are used instead for each motion /// model. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool IrlsWeightsPreinitialized { get { if ((_hasBits0 & 16777216) != 0) { return irlsWeightsPreinitialized_; } else { return IrlsWeightsPreinitializedDefaultValue; } } set { _hasBits0 |= 16777216; irlsWeightsPreinitialized_ = value; } } /// Gets whether the "irls_weights_preinitialized" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasIrlsWeightsPreinitialized { get { return (_hasBits0 & 16777216) != 0; } } /// Clears the value of the "irls_weights_preinitialized" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearIrlsWeightsPreinitialized() { _hasBits0 &= ~16777216; } /// Field number for the "filter_initialized_irls_weights" field. public const int FilterInitializedIrlsWeightsFieldNumber = 67; private readonly static bool FilterInitializedIrlsWeightsDefaultValue = false; private bool filterInitializedIrlsWeights_; /// /// If weights are pre-initialized optionally min filter weights along track /// ids when long tracks are used. This can be used to consistently label /// outliers in time before estimation. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool FilterInitializedIrlsWeights { get { if ((_hasBits1 & 16384) != 0) { return filterInitializedIrlsWeights_; } else { return FilterInitializedIrlsWeightsDefaultValue; } } set { _hasBits1 |= 16384; filterInitializedIrlsWeights_ = value; } } /// Gets whether the "filter_initialized_irls_weights" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasFilterInitializedIrlsWeights { get { return (_hasBits1 & 16384) != 0; } } /// Clears the value of the "filter_initialized_irls_weights" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearFilterInitializedIrlsWeights() { _hasBits1 &= ~16384; } /// Field number for the "irls_initialization" field. public const int IrlsInitializationFieldNumber = 56; private global::Mediapipe.MotionEstimationOptions.Types.IrlsOutlierInitialization irlsInitialization_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.IrlsOutlierInitialization IrlsInitialization { get { return irlsInitialization_; } set { irlsInitialization_ = value; } } /// Field number for the "feature_density_normalization" field. public const int FeatureDensityNormalizationFieldNumber = 62; private readonly static bool FeatureDensityNormalizationDefaultValue = false; private bool featureDensityNormalization_; /// /// Normalizes feature's irls weights prior to estimation such that /// feature in high density areas are downweighted. Multiplicative in case /// irls_weights_preinitialized is set to true. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool FeatureDensityNormalization { get { if ((_hasBits1 & 2048) != 0) { return featureDensityNormalization_; } else { return FeatureDensityNormalizationDefaultValue; } } set { _hasBits1 |= 2048; featureDensityNormalization_ = value; } } /// Gets whether the "feature_density_normalization" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasFeatureDensityNormalization { get { return (_hasBits1 & 2048) != 0; } } /// Clears the value of the "feature_density_normalization" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearFeatureDensityNormalization() { _hasBits1 &= ~2048; } /// Field number for the "feature_mask_size" field. public const int FeatureMaskSizeFieldNumber = 63; private readonly static int FeatureMaskSizeDefaultValue = 10; private int featureMaskSize_; /// /// A regular grid of size feature_mask_size x feature_mask_size /// is used to normalize features w.r.t. their density. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int FeatureMaskSize { get { if ((_hasBits1 & 4096) != 0) { return featureMaskSize_; } else { return FeatureMaskSizeDefaultValue; } } set { _hasBits1 |= 4096; featureMaskSize_ = value; } } /// Gets whether the "feature_mask_size" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasFeatureMaskSize { get { return (_hasBits1 & 4096) != 0; } } /// Clears the value of the "feature_mask_size" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearFeatureMaskSize() { _hasBits1 &= ~4096; } /// Field number for the "long_feature_initialization" field. public const int LongFeatureInitializationFieldNumber = 66; private global::Mediapipe.MotionEstimationOptions.Types.LongFeatureInitialization longFeatureInitialization_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.LongFeatureInitialization LongFeatureInitialization { get { return longFeatureInitialization_; } set { longFeatureInitialization_ = value; } } /// Field number for the "irls_mask_options" field. public const int IrlsMaskOptionsFieldNumber = 57; private global::Mediapipe.MotionEstimationOptions.Types.IrlsMaskOptions irlsMaskOptions_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.IrlsMaskOptions IrlsMaskOptions { get { return irlsMaskOptions_; } set { irlsMaskOptions_ = value; } } /// Field number for the "joint_track_estimation" field. public const int JointTrackEstimationFieldNumber = 59; private global::Mediapipe.MotionEstimationOptions.Types.JointTrackEstimationOptions jointTrackEstimation_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.JointTrackEstimationOptions JointTrackEstimation { get { return jointTrackEstimation_; } set { jointTrackEstimation_ = value; } } /// Field number for the "long_feature_bias_options" field. public const int LongFeatureBiasOptionsFieldNumber = 64; private global::Mediapipe.MotionEstimationOptions.Types.LongFeatureBiasOptions longFeatureBiasOptions_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.LongFeatureBiasOptions LongFeatureBiasOptions { get { return longFeatureBiasOptions_; } set { longFeatureBiasOptions_ = value; } } /// Field number for the "estimation_policy" field. public const int EstimationPolicyFieldNumber = 58; private readonly static global::Mediapipe.MotionEstimationOptions.Types.EstimationPolicy EstimationPolicyDefaultValue = global::Mediapipe.MotionEstimationOptions.Types.EstimationPolicy.IndependentParallel; private global::Mediapipe.MotionEstimationOptions.Types.EstimationPolicy estimationPolicy_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.EstimationPolicy EstimationPolicy { get { if ((_hasBits1 & 512) != 0) { return estimationPolicy_; } else { return EstimationPolicyDefaultValue; } } set { _hasBits1 |= 512; estimationPolicy_ = value; } } /// Gets whether the "estimation_policy" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasEstimationPolicy { get { return (_hasBits1 & 512) != 0; } } /// Clears the value of the "estimation_policy" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearEstimationPolicy() { _hasBits1 &= ~512; } /// Field number for the "coverage_grid_size" field. public const int CoverageGridSizeFieldNumber = 51; private readonly static int CoverageGridSizeDefaultValue = 10; private int coverageGridSize_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CoverageGridSize { get { if ((_hasBits1 & 16) != 0) { return coverageGridSize_; } else { return CoverageGridSizeDefaultValue; } } set { _hasBits1 |= 16; coverageGridSize_ = value; } } /// Gets whether the "coverage_grid_size" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasCoverageGridSize { get { return (_hasBits1 & 16) != 0; } } /// Clears the value of the "coverage_grid_size" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearCoverageGridSize() { _hasBits1 &= ~16; } /// Field number for the "mixture_model_mode" field. public const int MixtureModelModeFieldNumber = 23; private readonly static global::Mediapipe.MotionEstimationOptions.Types.MixtureModelMode MixtureModelModeDefaultValue = global::Mediapipe.MotionEstimationOptions.Types.MixtureModelMode.SkewRotationMixture; private global::Mediapipe.MotionEstimationOptions.Types.MixtureModelMode mixtureModelMode_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.MixtureModelMode MixtureModelMode { get { if ((_hasBits0 & 4096) != 0) { return mixtureModelMode_; } else { return MixtureModelModeDefaultValue; } } set { _hasBits0 |= 4096; mixtureModelMode_ = value; } } /// Gets whether the "mixture_model_mode" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMixtureModelMode { get { return (_hasBits0 & 4096) != 0; } } /// Clears the value of the "mixture_model_mode" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMixtureModelMode() { _hasBits0 &= ~4096; } /// Field number for the "use_only_lin_sim_inliers_for_homography" field. public const int UseOnlyLinSimInliersForHomographyFieldNumber = 6; private readonly static bool UseOnlyLinSimInliersForHomographyDefaultValue = true; private bool useOnlyLinSimInliersForHomography_; /// /// If specified, only features that agree with the estimated linear similarity /// will be used to estimate the homography. /// If set, linear_similarity_estimation can not be ESTIMATION_NONE! (checked) /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool UseOnlyLinSimInliersForHomography { get { if ((_hasBits0 & 16) != 0) { return useOnlyLinSimInliersForHomography_; } else { return UseOnlyLinSimInliersForHomographyDefaultValue; } } set { _hasBits0 |= 16; useOnlyLinSimInliersForHomography_ = value; } } /// Gets whether the "use_only_lin_sim_inliers_for_homography" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasUseOnlyLinSimInliersForHomography { get { return (_hasBits0 & 16) != 0; } } /// Clears the value of the "use_only_lin_sim_inliers_for_homography" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearUseOnlyLinSimInliersForHomography() { _hasBits0 &= ~16; } /// Field number for the "lin_sim_inlier_threshold" field. public const int LinSimInlierThresholdFieldNumber = 20; private readonly static float LinSimInlierThresholdDefaultValue = 0.003F; private float linSimInlierThreshold_; /// /// Max. deviation to be considered an inlier w.r.t. estimated similarity for /// above flag. This value is set w.r.t. normalized frame diameter. /// TODO: Should take GetIRLSResidualScale into account. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float LinSimInlierThreshold { get { if ((_hasBits0 & 1024) != 0) { return linSimInlierThreshold_; } else { return LinSimInlierThresholdDefaultValue; } } set { _hasBits0 |= 1024; linSimInlierThreshold_ = value; } } /// Gets whether the "lin_sim_inlier_threshold" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasLinSimInlierThreshold { get { return (_hasBits0 & 1024) != 0; } } /// Clears the value of the "lin_sim_inlier_threshold" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearLinSimInlierThreshold() { _hasBits0 &= ~1024; } /// Field number for the "stable_translation_bounds" field. public const int StableTranslationBoundsFieldNumber = 32; private global::Mediapipe.MotionEstimationOptions.Types.TranslationBounds stableTranslationBounds_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.TranslationBounds StableTranslationBounds { get { return stableTranslationBounds_; } set { stableTranslationBounds_ = value; } } /// Field number for the "stable_similarity_bounds" field. public const int StableSimilarityBoundsFieldNumber = 33; private global::Mediapipe.MotionEstimationOptions.Types.SimilarityBounds stableSimilarityBounds_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.SimilarityBounds StableSimilarityBounds { get { return stableSimilarityBounds_; } set { stableSimilarityBounds_ = value; } } /// Field number for the "stable_homography_bounds" field. public const int StableHomographyBoundsFieldNumber = 11; private global::Mediapipe.MotionEstimationOptions.Types.HomographyBounds stableHomographyBounds_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.HomographyBounds StableHomographyBounds { get { return stableHomographyBounds_; } set { stableHomographyBounds_ = value; } } /// Field number for the "stable_mixture_homography_bounds" field. public const int StableMixtureHomographyBoundsFieldNumber = 34; private global::Mediapipe.MotionEstimationOptions.Types.MixtureHomographyBounds stableMixtureHomographyBounds_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.MixtureHomographyBounds StableMixtureHomographyBounds { get { return stableMixtureHomographyBounds_; } set { stableMixtureHomographyBounds_ = value; } } /// Field number for the "strict_coverage_scale" field. public const int StrictCoverageScaleFieldNumber = 41; private readonly static float StrictCoverageScaleDefaultValue = 1.333F; private float strictCoverageScale_; /// /// Scale for stricter coverage evaluation. Used for rolling shutter guess /// computation, by only using high quality inliers. Larger values reflect /// stricter coverage. /// Specifically, when computing coverage via GridCoverage call, /// frac_inlier_threshold is reduced (divided) by specified scale below. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float StrictCoverageScale { get { if ((_hasBits0 & 67108864) != 0) { return strictCoverageScale_; } else { return StrictCoverageScaleDefaultValue; } } set { _hasBits0 |= 67108864; strictCoverageScale_ = value; } } /// Gets whether the "strict_coverage_scale" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasStrictCoverageScale { get { return (_hasBits0 & 67108864) != 0; } } /// Clears the value of the "strict_coverage_scale" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearStrictCoverageScale() { _hasBits0 &= ~67108864; } /// Field number for the "label_empty_frames_as_valid" field. public const int LabelEmptyFramesAsValidFieldNumber = 22; private readonly static bool LabelEmptyFramesAsValidDefaultValue = true; private bool labelEmptyFramesAsValid_; /// /// By default frames with zero trackable features (e.g. at the beginning, /// empty frame or shot boundary) are set identity model but still labeled as /// valid. If set to false, these frames are flagged as invalid, which can be /// useful to locate shot boundaries, etc. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool LabelEmptyFramesAsValid { get { if ((_hasBits0 & 2048) != 0) { return labelEmptyFramesAsValid_; } else { return LabelEmptyFramesAsValidDefaultValue; } } set { _hasBits0 |= 2048; labelEmptyFramesAsValid_ = value; } } /// Gets whether the "label_empty_frames_as_valid" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasLabelEmptyFramesAsValid { get { return (_hasBits0 & 2048) != 0; } } /// Clears the value of the "label_empty_frames_as_valid" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearLabelEmptyFramesAsValid() { _hasBits0 &= ~2048; } /// Field number for the "feature_grid_size" field. public const int FeatureGridSizeFieldNumber = 24; private readonly static float FeatureGridSizeDefaultValue = 0.05F; private float featureGridSize_; /// /// Setting for temporal smoothing of irls weights in optional post-processing /// step. /// In normalized coordinates w.r.t. frame domain. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float FeatureGridSize { get { if ((_hasBits0 & 8192) != 0) { return featureGridSize_; } else { return FeatureGridSizeDefaultValue; } } set { _hasBits0 |= 8192; featureGridSize_ = value; } } /// Gets whether the "feature_grid_size" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasFeatureGridSize { get { return (_hasBits0 & 8192) != 0; } } /// Clears the value of the "feature_grid_size" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearFeatureGridSize() { _hasBits0 &= ~8192; } /// Field number for the "spatial_sigma" field. public const int SpatialSigmaFieldNumber = 25; private readonly static float SpatialSigmaDefaultValue = 0.01F; private float spatialSigma_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float SpatialSigma { get { if ((_hasBits0 & 16384) != 0) { return spatialSigma_; } else { return SpatialSigmaDefaultValue; } } set { _hasBits0 |= 16384; spatialSigma_ = value; } } /// Gets whether the "spatial_sigma" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasSpatialSigma { get { return (_hasBits0 & 16384) != 0; } } /// Clears the value of the "spatial_sigma" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearSpatialSigma() { _hasBits0 &= ~16384; } /// Field number for the "temporal_irls_diameter" field. public const int TemporalIrlsDiameterFieldNumber = 26; private readonly static int TemporalIrlsDiameterDefaultValue = 20; private int temporalIrlsDiameter_; /// /// Frame diameter across which smoothing is performed. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int TemporalIrlsDiameter { get { if ((_hasBits0 & 32768) != 0) { return temporalIrlsDiameter_; } else { return TemporalIrlsDiameterDefaultValue; } } set { _hasBits0 |= 32768; temporalIrlsDiameter_ = value; } } /// Gets whether the "temporal_irls_diameter" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasTemporalIrlsDiameter { get { return (_hasBits0 & 32768) != 0; } } /// Clears the value of the "temporal_irls_diameter" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearTemporalIrlsDiameter() { _hasBits0 &= ~32768; } /// Field number for the "temporal_sigma" field. public const int TemporalSigmaFieldNumber = 27; private readonly static float TemporalSigmaDefaultValue = 5F; private float temporalSigma_; /// /// in frames. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float TemporalSigma { get { if ((_hasBits0 & 65536) != 0) { return temporalSigma_; } else { return TemporalSigmaDefaultValue; } } set { _hasBits0 |= 65536; temporalSigma_ = value; } } /// Gets whether the "temporal_sigma" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasTemporalSigma { get { return (_hasBits0 & 65536) != 0; } } /// Clears the value of the "temporal_sigma" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearTemporalSigma() { _hasBits0 &= ~65536; } /// Field number for the "feature_sigma" field. public const int FeatureSigmaFieldNumber = 28; private readonly static float FeatureSigmaDefaultValue = 30F; private float featureSigma_; /// /// Bilateral weight (for un-normalized color domain [0, .. 255]). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float FeatureSigma { get { if ((_hasBits0 & 131072) != 0) { return featureSigma_; } else { return FeatureSigmaDefaultValue; } } set { _hasBits0 |= 131072; featureSigma_ = value; } } /// Gets whether the "feature_sigma" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasFeatureSigma { get { return (_hasBits0 & 131072) != 0; } } /// Clears the value of the "feature_sigma" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearFeatureSigma() { _hasBits0 &= ~131072; } /// Field number for the "filter_5_taps" field. public const int Filter5TapsFieldNumber = 29; private readonly static bool Filter5TapsDefaultValue = false; private bool filter5Taps_; /// /// If set to false 3 taps are used. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool Filter5Taps { get { if ((_hasBits0 & 262144) != 0) { return filter5Taps_; } else { return Filter5TapsDefaultValue; } } set { _hasBits0 |= 262144; filter5Taps_ = value; } } /// Gets whether the "filter_5_taps" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasFilter5Taps { get { return (_hasBits0 & 262144) != 0; } } /// Clears the value of the "filter_5_taps" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearFilter5Taps() { _hasBits0 &= ~262144; } /// Field number for the "frame_confidence_weighting" field. public const int FrameConfidenceWeightingFieldNumber = 48; private readonly static bool FrameConfidenceWeightingDefaultValue = true; private bool frameConfidenceWeighting_; /// /// If set, during temporal smoothing, each frame is weighted by its /// confidence, defined as the square coverage (or square mean mixture /// coverage). Therefore, low confidence fits do not errornouesly propagate /// over time. In addition, if the confidence is below the specified /// confidence_threshold (relative the the maximum coverage observed in the /// test interval), irls weights are reset to 1, i.e. biased to be /// agree with the (unkown) background motion. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool FrameConfidenceWeighting { get { if ((_hasBits1 & 2) != 0) { return frameConfidenceWeighting_; } else { return FrameConfidenceWeightingDefaultValue; } } set { _hasBits1 |= 2; frameConfidenceWeighting_ = value; } } /// Gets whether the "frame_confidence_weighting" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasFrameConfidenceWeighting { get { return (_hasBits1 & 2) != 0; } } /// Clears the value of the "frame_confidence_weighting" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearFrameConfidenceWeighting() { _hasBits1 &= ~2; } /// Field number for the "reset_confidence_threshold" field. public const int ResetConfidenceThresholdFieldNumber = 49; private readonly static float ResetConfidenceThresholdDefaultValue = 0.4F; private float resetConfidenceThreshold_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float ResetConfidenceThreshold { get { if ((_hasBits1 & 4) != 0) { return resetConfidenceThreshold_; } else { return ResetConfidenceThresholdDefaultValue; } } set { _hasBits1 |= 4; resetConfidenceThreshold_ = value; } } /// Gets whether the "reset_confidence_threshold" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasResetConfidenceThreshold { get { return (_hasBits1 & 4) != 0; } } /// Clears the value of the "reset_confidence_threshold" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearResetConfidenceThreshold() { _hasBits1 &= ~4; } /// Field number for the "irls_weight_filter" field. public const int IrlsWeightFilterFieldNumber = 35; private readonly static global::Mediapipe.MotionEstimationOptions.Types.IRLSWeightFilter IrlsWeightFilterDefaultValue = global::Mediapipe.MotionEstimationOptions.Types.IRLSWeightFilter.IrlsFilterNone; private global::Mediapipe.MotionEstimationOptions.Types.IRLSWeightFilter irlsWeightFilter_; /// /// Calls TextureFilteredRegionFlowFeatureIRLSWeights on computed irls weights /// before smoothing them. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.IRLSWeightFilter IrlsWeightFilter { get { if ((_hasBits0 & 2097152) != 0) { return irlsWeightFilter_; } else { return IrlsWeightFilterDefaultValue; } } set { _hasBits0 |= 2097152; irlsWeightFilter_ = value; } } /// Gets whether the "irls_weight_filter" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasIrlsWeightFilter { get { return (_hasBits0 & 2097152) != 0; } } /// Clears the value of the "irls_weight_filter" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearIrlsWeightFilter() { _hasBits0 &= ~2097152; } /// Field number for the "overlay_detection" field. public const int OverlayDetectionFieldNumber = 36; private readonly static bool OverlayDetectionDefaultValue = false; private bool overlayDetection_; /// /// Attempts to detect overlays, i.e. static elements burned-into the video /// that potentially corrupt motion estimation. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool OverlayDetection { get { if ((_hasBits0 & 4194304) != 0) { return overlayDetection_; } else { return OverlayDetectionDefaultValue; } } set { _hasBits0 |= 4194304; overlayDetection_ = value; } } /// Gets whether the "overlay_detection" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasOverlayDetection { get { return (_hasBits0 & 4194304) != 0; } } /// Clears the value of the "overlay_detection" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearOverlayDetection() { _hasBits0 &= ~4194304; } /// Field number for the "overlay_analysis_chunk_size" field. public const int OverlayAnalysisChunkSizeFieldNumber = 37; private readonly static int OverlayAnalysisChunkSizeDefaultValue = 8; private int overlayAnalysisChunkSize_; /// /// Overlay detection is performed over specified number of frames. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int OverlayAnalysisChunkSize { get { if ((_hasBits0 & 8388608) != 0) { return overlayAnalysisChunkSize_; } else { return OverlayAnalysisChunkSizeDefaultValue; } } set { _hasBits0 |= 8388608; overlayAnalysisChunkSize_ = value; } } /// Gets whether the "overlay_analysis_chunk_size" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasOverlayAnalysisChunkSize { get { return (_hasBits0 & 8388608) != 0; } } /// Clears the value of the "overlay_analysis_chunk_size" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearOverlayAnalysisChunkSize() { _hasBits0 &= ~8388608; } /// Field number for the "overlay_detection_options" field. public const int OverlayDetectionOptionsFieldNumber = 38; private global::Mediapipe.MotionEstimationOptions.Types.OverlayDetectionOptions overlayDetectionOptions_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.OverlayDetectionOptions OverlayDetectionOptions { get { return overlayDetectionOptions_; } set { overlayDetectionOptions_ = value; } } /// Field number for the "shot_boundary_options" field. public const int ShotBoundaryOptionsFieldNumber = 60; private global::Mediapipe.MotionEstimationOptions.Types.ShotBoundaryOptions shotBoundaryOptions_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.ShotBoundaryOptions ShotBoundaryOptions { get { return shotBoundaryOptions_; } set { shotBoundaryOptions_ = value; } } /// Field number for the "output_refined_irls_weights" field. public const int OutputRefinedIrlsWeightsFieldNumber = 40; private readonly static bool OutputRefinedIrlsWeightsDefaultValue = true; private bool outputRefinedIrlsWeights_; /// /// By default, irls weights of each feature are overwritten with refined irls /// weights of the last iteration for the highest degree of freedom model that /// was estimated stable. If set to false, original irls weights are retained. /// Note: If overlay detection is activated, features to be deemed overlays /// have their irls weight set to zero, regardless of this setting. /// Similarily, an IRLSWeightFilter is applied if requested, regardless /// of this setting. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool OutputRefinedIrlsWeights { get { if ((_hasBits0 & 33554432) != 0) { return outputRefinedIrlsWeights_; } else { return OutputRefinedIrlsWeightsDefaultValue; } } set { _hasBits0 |= 33554432; outputRefinedIrlsWeights_ = value; } } /// Gets whether the "output_refined_irls_weights" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasOutputRefinedIrlsWeights { get { return (_hasBits0 & 33554432) != 0; } } /// Clears the value of the "output_refined_irls_weights" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearOutputRefinedIrlsWeights() { _hasBits0 &= ~33554432; } /// Field number for the "homography_irls_weight_initialization" field. public const int HomographyIrlsWeightInitializationFieldNumber = 45; private readonly static global::Mediapipe.MotionEstimationOptions.Types.HomographyIrlsWeightInitialization HomographyIrlsWeightInitializationDefaultValue = global::Mediapipe.MotionEstimationOptions.Types.HomographyIrlsWeightInitialization.IrlsWeightPerimeterGaussian; private global::Mediapipe.MotionEstimationOptions.Types.HomographyIrlsWeightInitialization homographyIrlsWeightInitialization_; /// /// IRLS weights for homography estimation are initialized based on the /// specified options. If, options irls_weights_preinitialized is set, /// weights are multiplied instead of reset. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public global::Mediapipe.MotionEstimationOptions.Types.HomographyIrlsWeightInitialization HomographyIrlsWeightInitialization { get { if ((_hasBits0 & 1073741824) != 0) { return homographyIrlsWeightInitialization_; } else { return HomographyIrlsWeightInitializationDefaultValue; } } set { _hasBits0 |= 1073741824; homographyIrlsWeightInitialization_ = value; } } /// Gets whether the "homography_irls_weight_initialization" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasHomographyIrlsWeightInitialization { get { return (_hasBits0 & 1073741824) != 0; } } /// Clears the value of the "homography_irls_weight_initialization" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearHomographyIrlsWeightInitialization() { _hasBits0 &= ~1073741824; } /// Field number for the "irls_use_l0_norm" field. public const int IrlsUseL0NormFieldNumber = 46; private readonly static bool IrlsUseL0NormDefaultValue = true; private bool irlsUseL0Norm_; /// /// If set to false use L1 norm irls weights instead of L0 norm irls weights. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool IrlsUseL0Norm { get { if ((_hasBits0 & -2147483648) != 0) { return irlsUseL0Norm_; } else { return IrlsUseL0NormDefaultValue; } } set { _hasBits0 |= -2147483648; irlsUseL0Norm_ = value; } } /// Gets whether the "irls_use_l0_norm" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasIrlsUseL0Norm { get { return (_hasBits0 & -2147483648) != 0; } } /// Clears the value of the "irls_use_l0_norm" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearIrlsUseL0Norm() { _hasBits0 &= ~-2147483648; } /// Field number for the "domain_limited_irls_scaling" field. public const int DomainLimitedIrlsScalingFieldNumber = 65; private readonly static bool DomainLimitedIrlsScalingDefaultValue = false; private bool domainLimitedIrlsScaling_; /// /// IRLS weights are determined in a limited domain (in particular helpful /// for stabilization analysis on HD videos). /// TODO: Make this the default. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool DomainLimitedIrlsScaling { get { if ((_hasBits1 & 8192) != 0) { return domainLimitedIrlsScaling_; } else { return DomainLimitedIrlsScalingDefaultValue; } } set { _hasBits1 |= 8192; domainLimitedIrlsScaling_ = value; } } /// Gets whether the "domain_limited_irls_scaling" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasDomainLimitedIrlsScaling { get { return (_hasBits1 & 8192) != 0; } } /// Clears the value of the "domain_limited_irls_scaling" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearDomainLimitedIrlsScaling() { _hasBits1 &= ~8192; } /// Field number for the "deactivate_stable_motion_estimation" field. public const int DeactivateStableMotionEstimationFieldNumber = 47; private readonly static bool DeactivateStableMotionEstimationDefaultValue = false; private bool deactivateStableMotionEstimation_; /// /// For comparison and debugging purposes. Simply estimates requested models /// without checking their stability via the stable_*_bounds parameters. /// However, invertibility is still checked to avoid invalid data being passed /// to later stages of the stabilizer. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool DeactivateStableMotionEstimation { get { if ((_hasBits1 & 1) != 0) { return deactivateStableMotionEstimation_; } else { return DeactivateStableMotionEstimationDefaultValue; } } set { _hasBits1 |= 1; deactivateStableMotionEstimation_ = value; } } /// Gets whether the "deactivate_stable_motion_estimation" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasDeactivateStableMotionEstimation { get { return (_hasBits1 & 1) != 0; } } /// Clears the value of the "deactivate_stable_motion_estimation" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearDeactivateStableMotionEstimation() { _hasBits1 &= ~1; } /// Field number for the "project_valid_motions_down" field. public const int ProjectValidMotionsDownFieldNumber = 52; private readonly static bool ProjectValidMotionsDownDefaultValue = false; private bool projectValidMotionsDown_; /// /// Projects higher order motions if estimated correctly down to lower order /// motions, therefore replacing the previously estimated motions. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool ProjectValidMotionsDown { get { if ((_hasBits1 & 32) != 0) { return projectValidMotionsDown_; } else { return ProjectValidMotionsDownDefaultValue; } } set { _hasBits1 |= 32; projectValidMotionsDown_ = value; } } /// Gets whether the "project_valid_motions_down" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasProjectValidMotionsDown { get { return (_hasBits1 & 32) != 0; } } /// Clears the value of the "project_valid_motions_down" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearProjectValidMotionsDown() { _hasBits1 &= ~32; } /// Field number for the "estimate_similarity" field. public const int EstimateSimilarityFieldNumber = 2; private readonly static bool EstimateSimilarityDefaultValue = false; private bool estimateSimilarity_; /// /// DEPRECATED functionality. Use static functions as indicated instead. /// /// Non-linear similarity, use MotionEstimation::EstimateSimilarityModelL2. /// [global::System.ObsoleteAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool EstimateSimilarity { get { if ((_hasBits0 & 2) != 0) { return estimateSimilarity_; } else { return EstimateSimilarityDefaultValue; } } set { _hasBits0 |= 2; estimateSimilarity_ = value; } } /// Gets whether the "estimate_similarity" field is set [global::System.ObsoleteAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasEstimateSimilarity { get { return (_hasBits0 & 2) != 0; } } /// Clears the value of the "estimate_similarity" field [global::System.ObsoleteAttribute] [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearEstimateSimilarity() { _hasBits0 &= ~2; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { return Equals(other as MotionEstimationOptions); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool Equals(MotionEstimationOptions other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } if (EstimateTranslationIrls != other.EstimateTranslationIrls) return false; if (LinearSimilarityEstimation != other.LinearSimilarityEstimation) return false; if (AffineEstimation != other.AffineEstimation) return false; if (HomographyEstimation != other.HomographyEstimation) return false; if (HomographyExactDenominatorScaling != other.HomographyExactDenominatorScaling) return false; if (UseExactHomographyEstimation != other.UseExactHomographyEstimation) return false; if (UseHighestAccuracyForNormalEquations != other.UseHighestAccuracyForNormalEquations) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(HomographyPerspectiveRegularizer, other.HomographyPerspectiveRegularizer)) return false; if (MixHomographyEstimation != other.MixHomographyEstimation) return false; if (NumMixtures != other.NumMixtures) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MixtureRowSigma, other.MixtureRowSigma)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MixtureRegularizer, other.MixtureRegularizer)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MixtureRegularizerLevels, other.MixtureRegularizerLevels)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MixtureRegularizerBase, other.MixtureRegularizerBase)) return false; if (MixtureRsAnalysisLevel != other.MixtureRsAnalysisLevel) return false; if (IrlsRounds != other.IrlsRounds) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(IrlsPriorScale, other.IrlsPriorScale)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(IrlsMotionMagnitudeFraction, other.IrlsMotionMagnitudeFraction)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(IrlsMixtureFractionScale, other.IrlsMixtureFractionScale)) return false; if (IrlsWeightsPreinitialized != other.IrlsWeightsPreinitialized) return false; if (FilterInitializedIrlsWeights != other.FilterInitializedIrlsWeights) return false; if (!object.Equals(IrlsInitialization, other.IrlsInitialization)) return false; if (FeatureDensityNormalization != other.FeatureDensityNormalization) return false; if (FeatureMaskSize != other.FeatureMaskSize) return false; if (!object.Equals(LongFeatureInitialization, other.LongFeatureInitialization)) return false; if (!object.Equals(IrlsMaskOptions, other.IrlsMaskOptions)) return false; if (!object.Equals(JointTrackEstimation, other.JointTrackEstimation)) return false; if (!object.Equals(LongFeatureBiasOptions, other.LongFeatureBiasOptions)) return false; if (EstimationPolicy != other.EstimationPolicy) return false; if (CoverageGridSize != other.CoverageGridSize) return false; if (MixtureModelMode != other.MixtureModelMode) return false; if (UseOnlyLinSimInliersForHomography != other.UseOnlyLinSimInliersForHomography) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(LinSimInlierThreshold, other.LinSimInlierThreshold)) return false; if (!object.Equals(StableTranslationBounds, other.StableTranslationBounds)) return false; if (!object.Equals(StableSimilarityBounds, other.StableSimilarityBounds)) return false; if (!object.Equals(StableHomographyBounds, other.StableHomographyBounds)) return false; if (!object.Equals(StableMixtureHomographyBounds, other.StableMixtureHomographyBounds)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(StrictCoverageScale, other.StrictCoverageScale)) return false; if (LabelEmptyFramesAsValid != other.LabelEmptyFramesAsValid) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(FeatureGridSize, other.FeatureGridSize)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(SpatialSigma, other.SpatialSigma)) return false; if (TemporalIrlsDiameter != other.TemporalIrlsDiameter) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(TemporalSigma, other.TemporalSigma)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(FeatureSigma, other.FeatureSigma)) return false; if (Filter5Taps != other.Filter5Taps) return false; if (FrameConfidenceWeighting != other.FrameConfidenceWeighting) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(ResetConfidenceThreshold, other.ResetConfidenceThreshold)) return false; if (IrlsWeightFilter != other.IrlsWeightFilter) return false; if (OverlayDetection != other.OverlayDetection) return false; if (OverlayAnalysisChunkSize != other.OverlayAnalysisChunkSize) return false; if (!object.Equals(OverlayDetectionOptions, other.OverlayDetectionOptions)) return false; if (!object.Equals(ShotBoundaryOptions, other.ShotBoundaryOptions)) return false; if (OutputRefinedIrlsWeights != other.OutputRefinedIrlsWeights) return false; if (HomographyIrlsWeightInitialization != other.HomographyIrlsWeightInitialization) return false; if (IrlsUseL0Norm != other.IrlsUseL0Norm) return false; if (DomainLimitedIrlsScaling != other.DomainLimitedIrlsScaling) return false; if (DeactivateStableMotionEstimation != other.DeactivateStableMotionEstimation) return false; if (ProjectValidMotionsDown != other.ProjectValidMotionsDown) return false; if (EstimateSimilarity != other.EstimateSimilarity) return false; if (!Equals(_extensions, other._extensions)) { return false; } return Equals(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; if (HasEstimateTranslationIrls) hash ^= EstimateTranslationIrls.GetHashCode(); if (HasLinearSimilarityEstimation) hash ^= LinearSimilarityEstimation.GetHashCode(); if (HasAffineEstimation) hash ^= AffineEstimation.GetHashCode(); if (HasHomographyEstimation) hash ^= HomographyEstimation.GetHashCode(); if (HasHomographyExactDenominatorScaling) hash ^= HomographyExactDenominatorScaling.GetHashCode(); if (HasUseExactHomographyEstimation) hash ^= UseExactHomographyEstimation.GetHashCode(); if (HasUseHighestAccuracyForNormalEquations) hash ^= UseHighestAccuracyForNormalEquations.GetHashCode(); if (HasHomographyPerspectiveRegularizer) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(HomographyPerspectiveRegularizer); if (HasMixHomographyEstimation) hash ^= MixHomographyEstimation.GetHashCode(); if (HasNumMixtures) hash ^= NumMixtures.GetHashCode(); if (HasMixtureRowSigma) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MixtureRowSigma); if (HasMixtureRegularizer) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MixtureRegularizer); if (HasMixtureRegularizerLevels) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MixtureRegularizerLevels); if (HasMixtureRegularizerBase) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MixtureRegularizerBase); if (HasMixtureRsAnalysisLevel) hash ^= MixtureRsAnalysisLevel.GetHashCode(); if (HasIrlsRounds) hash ^= IrlsRounds.GetHashCode(); if (HasIrlsPriorScale) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(IrlsPriorScale); if (HasIrlsMotionMagnitudeFraction) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(IrlsMotionMagnitudeFraction); if (HasIrlsMixtureFractionScale) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(IrlsMixtureFractionScale); if (HasIrlsWeightsPreinitialized) hash ^= IrlsWeightsPreinitialized.GetHashCode(); if (HasFilterInitializedIrlsWeights) hash ^= FilterInitializedIrlsWeights.GetHashCode(); if (irlsInitialization_ != null) hash ^= IrlsInitialization.GetHashCode(); if (HasFeatureDensityNormalization) hash ^= FeatureDensityNormalization.GetHashCode(); if (HasFeatureMaskSize) hash ^= FeatureMaskSize.GetHashCode(); if (longFeatureInitialization_ != null) hash ^= LongFeatureInitialization.GetHashCode(); if (irlsMaskOptions_ != null) hash ^= IrlsMaskOptions.GetHashCode(); if (jointTrackEstimation_ != null) hash ^= JointTrackEstimation.GetHashCode(); if (longFeatureBiasOptions_ != null) hash ^= LongFeatureBiasOptions.GetHashCode(); if (HasEstimationPolicy) hash ^= EstimationPolicy.GetHashCode(); if (HasCoverageGridSize) hash ^= CoverageGridSize.GetHashCode(); if (HasMixtureModelMode) hash ^= MixtureModelMode.GetHashCode(); if (HasUseOnlyLinSimInliersForHomography) hash ^= UseOnlyLinSimInliersForHomography.GetHashCode(); if (HasLinSimInlierThreshold) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(LinSimInlierThreshold); if (stableTranslationBounds_ != null) hash ^= StableTranslationBounds.GetHashCode(); if (stableSimilarityBounds_ != null) hash ^= StableSimilarityBounds.GetHashCode(); if (stableHomographyBounds_ != null) hash ^= StableHomographyBounds.GetHashCode(); if (stableMixtureHomographyBounds_ != null) hash ^= StableMixtureHomographyBounds.GetHashCode(); if (HasStrictCoverageScale) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(StrictCoverageScale); if (HasLabelEmptyFramesAsValid) hash ^= LabelEmptyFramesAsValid.GetHashCode(); if (HasFeatureGridSize) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(FeatureGridSize); if (HasSpatialSigma) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(SpatialSigma); if (HasTemporalIrlsDiameter) hash ^= TemporalIrlsDiameter.GetHashCode(); if (HasTemporalSigma) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(TemporalSigma); if (HasFeatureSigma) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(FeatureSigma); if (HasFilter5Taps) hash ^= Filter5Taps.GetHashCode(); if (HasFrameConfidenceWeighting) hash ^= FrameConfidenceWeighting.GetHashCode(); if (HasResetConfidenceThreshold) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(ResetConfidenceThreshold); if (HasIrlsWeightFilter) hash ^= IrlsWeightFilter.GetHashCode(); if (HasOverlayDetection) hash ^= OverlayDetection.GetHashCode(); if (HasOverlayAnalysisChunkSize) hash ^= OverlayAnalysisChunkSize.GetHashCode(); if (overlayDetectionOptions_ != null) hash ^= OverlayDetectionOptions.GetHashCode(); if (shotBoundaryOptions_ != null) hash ^= ShotBoundaryOptions.GetHashCode(); if (HasOutputRefinedIrlsWeights) hash ^= OutputRefinedIrlsWeights.GetHashCode(); if (HasHomographyIrlsWeightInitialization) hash ^= HomographyIrlsWeightInitialization.GetHashCode(); if (HasIrlsUseL0Norm) hash ^= IrlsUseL0Norm.GetHashCode(); if (HasDomainLimitedIrlsScaling) hash ^= DomainLimitedIrlsScaling.GetHashCode(); if (HasDeactivateStableMotionEstimation) hash ^= DeactivateStableMotionEstimation.GetHashCode(); if (HasProjectValidMotionsDown) hash ^= ProjectValidMotionsDown.GetHashCode(); if (HasEstimateSimilarity) hash ^= EstimateSimilarity.GetHashCode(); if (_extensions != null) { hash ^= _extensions.GetHashCode(); } if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return hash; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override string ToString() { return pb::JsonFormatter.ToDiagnosticString(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else if (HasEstimateTranslationIrls) { output.WriteRawTag(8); output.WriteBool(EstimateTranslationIrls); } if (HasEstimateSimilarity) { output.WriteRawTag(16); output.WriteBool(EstimateSimilarity); } if (HasLinearSimilarityEstimation) { output.WriteRawTag(24); output.WriteEnum((int) LinearSimilarityEstimation); } if (HasHomographyEstimation) { output.WriteRawTag(40); output.WriteEnum((int) HomographyEstimation); } if (HasUseOnlyLinSimInliersForHomography) { output.WriteRawTag(48); output.WriteBool(UseOnlyLinSimInliersForHomography); } if (stableHomographyBounds_ != null) { output.WriteRawTag(90); output.WriteMessage(StableHomographyBounds); } if (HasMixHomographyEstimation) { output.WriteRawTag(96); output.WriteEnum((int) MixHomographyEstimation); } if (HasNumMixtures) { output.WriteRawTag(104); output.WriteInt32(NumMixtures); } if (HasMixtureRowSigma) { output.WriteRawTag(117); output.WriteFloat(MixtureRowSigma); } if (HasMixtureRegularizer) { output.WriteRawTag(125); output.WriteFloat(MixtureRegularizer); } if (HasIrlsRounds) { output.WriteRawTag(136, 1); output.WriteInt32(IrlsRounds); } if (HasLinSimInlierThreshold) { output.WriteRawTag(165, 1); output.WriteFloat(LinSimInlierThreshold); } if (HasLabelEmptyFramesAsValid) { output.WriteRawTag(176, 1); output.WriteBool(LabelEmptyFramesAsValid); } if (HasMixtureModelMode) { output.WriteRawTag(184, 1); output.WriteEnum((int) MixtureModelMode); } if (HasFeatureGridSize) { output.WriteRawTag(197, 1); output.WriteFloat(FeatureGridSize); } if (HasSpatialSigma) { output.WriteRawTag(205, 1); output.WriteFloat(SpatialSigma); } if (HasTemporalIrlsDiameter) { output.WriteRawTag(208, 1); output.WriteInt32(TemporalIrlsDiameter); } if (HasTemporalSigma) { output.WriteRawTag(221, 1); output.WriteFloat(TemporalSigma); } if (HasFeatureSigma) { output.WriteRawTag(229, 1); output.WriteFloat(FeatureSigma); } if (HasFilter5Taps) { output.WriteRawTag(232, 1); output.WriteBool(Filter5Taps); } if (HasAffineEstimation) { output.WriteRawTag(240, 1); output.WriteEnum((int) AffineEstimation); } if (HasIrlsMotionMagnitudeFraction) { output.WriteRawTag(253, 1); output.WriteFloat(IrlsMotionMagnitudeFraction); } if (stableTranslationBounds_ != null) { output.WriteRawTag(130, 2); output.WriteMessage(StableTranslationBounds); } if (stableSimilarityBounds_ != null) { output.WriteRawTag(138, 2); output.WriteMessage(StableSimilarityBounds); } if (stableMixtureHomographyBounds_ != null) { output.WriteRawTag(146, 2); output.WriteMessage(StableMixtureHomographyBounds); } if (HasIrlsWeightFilter) { output.WriteRawTag(152, 2); output.WriteEnum((int) IrlsWeightFilter); } if (HasOverlayDetection) { output.WriteRawTag(160, 2); output.WriteBool(OverlayDetection); } if (HasOverlayAnalysisChunkSize) { output.WriteRawTag(168, 2); output.WriteInt32(OverlayAnalysisChunkSize); } if (overlayDetectionOptions_ != null) { output.WriteRawTag(178, 2); output.WriteMessage(OverlayDetectionOptions); } if (HasIrlsWeightsPreinitialized) { output.WriteRawTag(184, 2); output.WriteBool(IrlsWeightsPreinitialized); } if (HasOutputRefinedIrlsWeights) { output.WriteRawTag(192, 2); output.WriteBool(OutputRefinedIrlsWeights); } if (HasStrictCoverageScale) { output.WriteRawTag(205, 2); output.WriteFloat(StrictCoverageScale); } if (HasMixtureRegularizerLevels) { output.WriteRawTag(213, 2); output.WriteFloat(MixtureRegularizerLevels); } if (HasMixtureRegularizerBase) { output.WriteRawTag(221, 2); output.WriteFloat(MixtureRegularizerBase); } if (HasMixtureRsAnalysisLevel) { output.WriteRawTag(224, 2); output.WriteInt32(MixtureRsAnalysisLevel); } if (HasHomographyIrlsWeightInitialization) { output.WriteRawTag(232, 2); output.WriteEnum((int) HomographyIrlsWeightInitialization); } if (HasIrlsUseL0Norm) { output.WriteRawTag(240, 2); output.WriteBool(IrlsUseL0Norm); } if (HasDeactivateStableMotionEstimation) { output.WriteRawTag(248, 2); output.WriteBool(DeactivateStableMotionEstimation); } if (HasFrameConfidenceWeighting) { output.WriteRawTag(128, 3); output.WriteBool(FrameConfidenceWeighting); } if (HasResetConfidenceThreshold) { output.WriteRawTag(141, 3); output.WriteFloat(ResetConfidenceThreshold); } if (HasIrlsPriorScale) { output.WriteRawTag(149, 3); output.WriteFloat(IrlsPriorScale); } if (HasCoverageGridSize) { output.WriteRawTag(152, 3); output.WriteInt32(CoverageGridSize); } if (HasProjectValidMotionsDown) { output.WriteRawTag(160, 3); output.WriteBool(ProjectValidMotionsDown); } if (HasHomographyExactDenominatorScaling) { output.WriteRawTag(168, 3); output.WriteBool(HomographyExactDenominatorScaling); } if (HasUseExactHomographyEstimation) { output.WriteRawTag(176, 3); output.WriteBool(UseExactHomographyEstimation); } if (HasUseHighestAccuracyForNormalEquations) { output.WriteRawTag(184, 3); output.WriteBool(UseHighestAccuracyForNormalEquations); } if (irlsInitialization_ != null) { output.WriteRawTag(194, 3); output.WriteMessage(IrlsInitialization); } if (irlsMaskOptions_ != null) { output.WriteRawTag(202, 3); output.WriteMessage(IrlsMaskOptions); } if (HasEstimationPolicy) { output.WriteRawTag(208, 3); output.WriteEnum((int) EstimationPolicy); } if (jointTrackEstimation_ != null) { output.WriteRawTag(218, 3); output.WriteMessage(JointTrackEstimation); } if (shotBoundaryOptions_ != null) { output.WriteRawTag(226, 3); output.WriteMessage(ShotBoundaryOptions); } if (HasHomographyPerspectiveRegularizer) { output.WriteRawTag(237, 3); output.WriteFloat(HomographyPerspectiveRegularizer); } if (HasFeatureDensityNormalization) { output.WriteRawTag(240, 3); output.WriteBool(FeatureDensityNormalization); } if (HasFeatureMaskSize) { output.WriteRawTag(248, 3); output.WriteInt32(FeatureMaskSize); } if (longFeatureBiasOptions_ != null) { output.WriteRawTag(130, 4); output.WriteMessage(LongFeatureBiasOptions); } if (HasDomainLimitedIrlsScaling) { output.WriteRawTag(136, 4); output.WriteBool(DomainLimitedIrlsScaling); } if (longFeatureInitialization_ != null) { output.WriteRawTag(146, 4); output.WriteMessage(LongFeatureInitialization); } if (HasFilterInitializedIrlsWeights) { output.WriteRawTag(152, 4); output.WriteBool(FilterInitializedIrlsWeights); } if (HasIrlsMixtureFractionScale) { output.WriteRawTag(165, 4); output.WriteFloat(IrlsMixtureFractionScale); } if (_extensions != null) { _extensions.WriteTo(output); } if (_unknownFields != null) { _unknownFields.WriteTo(output); } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (HasEstimateTranslationIrls) { output.WriteRawTag(8); output.WriteBool(EstimateTranslationIrls); } if (HasEstimateSimilarity) { output.WriteRawTag(16); output.WriteBool(EstimateSimilarity); } if (HasLinearSimilarityEstimation) { output.WriteRawTag(24); output.WriteEnum((int) LinearSimilarityEstimation); } if (HasHomographyEstimation) { output.WriteRawTag(40); output.WriteEnum((int) HomographyEstimation); } if (HasUseOnlyLinSimInliersForHomography) { output.WriteRawTag(48); output.WriteBool(UseOnlyLinSimInliersForHomography); } if (stableHomographyBounds_ != null) { output.WriteRawTag(90); output.WriteMessage(StableHomographyBounds); } if (HasMixHomographyEstimation) { output.WriteRawTag(96); output.WriteEnum((int) MixHomographyEstimation); } if (HasNumMixtures) { output.WriteRawTag(104); output.WriteInt32(NumMixtures); } if (HasMixtureRowSigma) { output.WriteRawTag(117); output.WriteFloat(MixtureRowSigma); } if (HasMixtureRegularizer) { output.WriteRawTag(125); output.WriteFloat(MixtureRegularizer); } if (HasIrlsRounds) { output.WriteRawTag(136, 1); output.WriteInt32(IrlsRounds); } if (HasLinSimInlierThreshold) { output.WriteRawTag(165, 1); output.WriteFloat(LinSimInlierThreshold); } if (HasLabelEmptyFramesAsValid) { output.WriteRawTag(176, 1); output.WriteBool(LabelEmptyFramesAsValid); } if (HasMixtureModelMode) { output.WriteRawTag(184, 1); output.WriteEnum((int) MixtureModelMode); } if (HasFeatureGridSize) { output.WriteRawTag(197, 1); output.WriteFloat(FeatureGridSize); } if (HasSpatialSigma) { output.WriteRawTag(205, 1); output.WriteFloat(SpatialSigma); } if (HasTemporalIrlsDiameter) { output.WriteRawTag(208, 1); output.WriteInt32(TemporalIrlsDiameter); } if (HasTemporalSigma) { output.WriteRawTag(221, 1); output.WriteFloat(TemporalSigma); } if (HasFeatureSigma) { output.WriteRawTag(229, 1); output.WriteFloat(FeatureSigma); } if (HasFilter5Taps) { output.WriteRawTag(232, 1); output.WriteBool(Filter5Taps); } if (HasAffineEstimation) { output.WriteRawTag(240, 1); output.WriteEnum((int) AffineEstimation); } if (HasIrlsMotionMagnitudeFraction) { output.WriteRawTag(253, 1); output.WriteFloat(IrlsMotionMagnitudeFraction); } if (stableTranslationBounds_ != null) { output.WriteRawTag(130, 2); output.WriteMessage(StableTranslationBounds); } if (stableSimilarityBounds_ != null) { output.WriteRawTag(138, 2); output.WriteMessage(StableSimilarityBounds); } if (stableMixtureHomographyBounds_ != null) { output.WriteRawTag(146, 2); output.WriteMessage(StableMixtureHomographyBounds); } if (HasIrlsWeightFilter) { output.WriteRawTag(152, 2); output.WriteEnum((int) IrlsWeightFilter); } if (HasOverlayDetection) { output.WriteRawTag(160, 2); output.WriteBool(OverlayDetection); } if (HasOverlayAnalysisChunkSize) { output.WriteRawTag(168, 2); output.WriteInt32(OverlayAnalysisChunkSize); } if (overlayDetectionOptions_ != null) { output.WriteRawTag(178, 2); output.WriteMessage(OverlayDetectionOptions); } if (HasIrlsWeightsPreinitialized) { output.WriteRawTag(184, 2); output.WriteBool(IrlsWeightsPreinitialized); } if (HasOutputRefinedIrlsWeights) { output.WriteRawTag(192, 2); output.WriteBool(OutputRefinedIrlsWeights); } if (HasStrictCoverageScale) { output.WriteRawTag(205, 2); output.WriteFloat(StrictCoverageScale); } if (HasMixtureRegularizerLevels) { output.WriteRawTag(213, 2); output.WriteFloat(MixtureRegularizerLevels); } if (HasMixtureRegularizerBase) { output.WriteRawTag(221, 2); output.WriteFloat(MixtureRegularizerBase); } if (HasMixtureRsAnalysisLevel) { output.WriteRawTag(224, 2); output.WriteInt32(MixtureRsAnalysisLevel); } if (HasHomographyIrlsWeightInitialization) { output.WriteRawTag(232, 2); output.WriteEnum((int) HomographyIrlsWeightInitialization); } if (HasIrlsUseL0Norm) { output.WriteRawTag(240, 2); output.WriteBool(IrlsUseL0Norm); } if (HasDeactivateStableMotionEstimation) { output.WriteRawTag(248, 2); output.WriteBool(DeactivateStableMotionEstimation); } if (HasFrameConfidenceWeighting) { output.WriteRawTag(128, 3); output.WriteBool(FrameConfidenceWeighting); } if (HasResetConfidenceThreshold) { output.WriteRawTag(141, 3); output.WriteFloat(ResetConfidenceThreshold); } if (HasIrlsPriorScale) { output.WriteRawTag(149, 3); output.WriteFloat(IrlsPriorScale); } if (HasCoverageGridSize) { output.WriteRawTag(152, 3); output.WriteInt32(CoverageGridSize); } if (HasProjectValidMotionsDown) { output.WriteRawTag(160, 3); output.WriteBool(ProjectValidMotionsDown); } if (HasHomographyExactDenominatorScaling) { output.WriteRawTag(168, 3); output.WriteBool(HomographyExactDenominatorScaling); } if (HasUseExactHomographyEstimation) { output.WriteRawTag(176, 3); output.WriteBool(UseExactHomographyEstimation); } if (HasUseHighestAccuracyForNormalEquations) { output.WriteRawTag(184, 3); output.WriteBool(UseHighestAccuracyForNormalEquations); } if (irlsInitialization_ != null) { output.WriteRawTag(194, 3); output.WriteMessage(IrlsInitialization); } if (irlsMaskOptions_ != null) { output.WriteRawTag(202, 3); output.WriteMessage(IrlsMaskOptions); } if (HasEstimationPolicy) { output.WriteRawTag(208, 3); output.WriteEnum((int) EstimationPolicy); } if (jointTrackEstimation_ != null) { output.WriteRawTag(218, 3); output.WriteMessage(JointTrackEstimation); } if (shotBoundaryOptions_ != null) { output.WriteRawTag(226, 3); output.WriteMessage(ShotBoundaryOptions); } if (HasHomographyPerspectiveRegularizer) { output.WriteRawTag(237, 3); output.WriteFloat(HomographyPerspectiveRegularizer); } if (HasFeatureDensityNormalization) { output.WriteRawTag(240, 3); output.WriteBool(FeatureDensityNormalization); } if (HasFeatureMaskSize) { output.WriteRawTag(248, 3); output.WriteInt32(FeatureMaskSize); } if (longFeatureBiasOptions_ != null) { output.WriteRawTag(130, 4); output.WriteMessage(LongFeatureBiasOptions); } if (HasDomainLimitedIrlsScaling) { output.WriteRawTag(136, 4); output.WriteBool(DomainLimitedIrlsScaling); } if (longFeatureInitialization_ != null) { output.WriteRawTag(146, 4); output.WriteMessage(LongFeatureInitialization); } if (HasFilterInitializedIrlsWeights) { output.WriteRawTag(152, 4); output.WriteBool(FilterInitializedIrlsWeights); } if (HasIrlsMixtureFractionScale) { output.WriteRawTag(165, 4); output.WriteFloat(IrlsMixtureFractionScale); } if (_extensions != null) { _extensions.WriteTo(ref output); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } } #endif [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; if (HasEstimateTranslationIrls) { size += 1 + 1; } if (HasLinearSimilarityEstimation) { size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) LinearSimilarityEstimation); } if (HasAffineEstimation) { size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) AffineEstimation); } if (HasHomographyEstimation) { size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) HomographyEstimation); } if (HasHomographyExactDenominatorScaling) { size += 2 + 1; } if (HasUseExactHomographyEstimation) { size += 2 + 1; } if (HasUseHighestAccuracyForNormalEquations) { size += 2 + 1; } if (HasHomographyPerspectiveRegularizer) { size += 2 + 4; } if (HasMixHomographyEstimation) { size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) MixHomographyEstimation); } if (HasNumMixtures) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumMixtures); } if (HasMixtureRowSigma) { size += 1 + 4; } if (HasMixtureRegularizer) { size += 1 + 4; } if (HasMixtureRegularizerLevels) { size += 2 + 4; } if (HasMixtureRegularizerBase) { size += 2 + 4; } if (HasMixtureRsAnalysisLevel) { size += 2 + pb::CodedOutputStream.ComputeInt32Size(MixtureRsAnalysisLevel); } if (HasIrlsRounds) { size += 2 + pb::CodedOutputStream.ComputeInt32Size(IrlsRounds); } if (HasIrlsPriorScale) { size += 2 + 4; } if (HasIrlsMotionMagnitudeFraction) { size += 2 + 4; } if (HasIrlsMixtureFractionScale) { size += 2 + 4; } if (HasIrlsWeightsPreinitialized) { size += 2 + 1; } if (HasFilterInitializedIrlsWeights) { size += 2 + 1; } if (irlsInitialization_ != null) { size += 2 + pb::CodedOutputStream.ComputeMessageSize(IrlsInitialization); } if (HasFeatureDensityNormalization) { size += 2 + 1; } if (HasFeatureMaskSize) { size += 2 + pb::CodedOutputStream.ComputeInt32Size(FeatureMaskSize); } if (longFeatureInitialization_ != null) { size += 2 + pb::CodedOutputStream.ComputeMessageSize(LongFeatureInitialization); } if (irlsMaskOptions_ != null) { size += 2 + pb::CodedOutputStream.ComputeMessageSize(IrlsMaskOptions); } if (jointTrackEstimation_ != null) { size += 2 + pb::CodedOutputStream.ComputeMessageSize(JointTrackEstimation); } if (longFeatureBiasOptions_ != null) { size += 2 + pb::CodedOutputStream.ComputeMessageSize(LongFeatureBiasOptions); } if (HasEstimationPolicy) { size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) EstimationPolicy); } if (HasCoverageGridSize) { size += 2 + pb::CodedOutputStream.ComputeInt32Size(CoverageGridSize); } if (HasMixtureModelMode) { size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) MixtureModelMode); } if (HasUseOnlyLinSimInliersForHomography) { size += 1 + 1; } if (HasLinSimInlierThreshold) { size += 2 + 4; } if (stableTranslationBounds_ != null) { size += 2 + pb::CodedOutputStream.ComputeMessageSize(StableTranslationBounds); } if (stableSimilarityBounds_ != null) { size += 2 + pb::CodedOutputStream.ComputeMessageSize(StableSimilarityBounds); } if (stableHomographyBounds_ != null) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(StableHomographyBounds); } if (stableMixtureHomographyBounds_ != null) { size += 2 + pb::CodedOutputStream.ComputeMessageSize(StableMixtureHomographyBounds); } if (HasStrictCoverageScale) { size += 2 + 4; } if (HasLabelEmptyFramesAsValid) { size += 2 + 1; } if (HasFeatureGridSize) { size += 2 + 4; } if (HasSpatialSigma) { size += 2 + 4; } if (HasTemporalIrlsDiameter) { size += 2 + pb::CodedOutputStream.ComputeInt32Size(TemporalIrlsDiameter); } if (HasTemporalSigma) { size += 2 + 4; } if (HasFeatureSigma) { size += 2 + 4; } if (HasFilter5Taps) { size += 2 + 1; } if (HasFrameConfidenceWeighting) { size += 2 + 1; } if (HasResetConfidenceThreshold) { size += 2 + 4; } if (HasIrlsWeightFilter) { size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) IrlsWeightFilter); } if (HasOverlayDetection) { size += 2 + 1; } if (HasOverlayAnalysisChunkSize) { size += 2 + pb::CodedOutputStream.ComputeInt32Size(OverlayAnalysisChunkSize); } if (overlayDetectionOptions_ != null) { size += 2 + pb::CodedOutputStream.ComputeMessageSize(OverlayDetectionOptions); } if (shotBoundaryOptions_ != null) { size += 2 + pb::CodedOutputStream.ComputeMessageSize(ShotBoundaryOptions); } if (HasOutputRefinedIrlsWeights) { size += 2 + 1; } if (HasHomographyIrlsWeightInitialization) { size += 2 + pb::CodedOutputStream.ComputeEnumSize((int) HomographyIrlsWeightInitialization); } if (HasIrlsUseL0Norm) { size += 2 + 1; } if (HasDomainLimitedIrlsScaling) { size += 2 + 1; } if (HasDeactivateStableMotionEstimation) { size += 2 + 1; } if (HasProjectValidMotionsDown) { size += 2 + 1; } if (HasEstimateSimilarity) { size += 1 + 1; } if (_extensions != null) { size += _extensions.CalculateSize(); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } return size; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(MotionEstimationOptions other) { if (other == null) { return; } if (other.HasEstimateTranslationIrls) { EstimateTranslationIrls = other.EstimateTranslationIrls; } if (other.HasLinearSimilarityEstimation) { LinearSimilarityEstimation = other.LinearSimilarityEstimation; } if (other.HasAffineEstimation) { AffineEstimation = other.AffineEstimation; } if (other.HasHomographyEstimation) { HomographyEstimation = other.HomographyEstimation; } if (other.HasHomographyExactDenominatorScaling) { HomographyExactDenominatorScaling = other.HomographyExactDenominatorScaling; } if (other.HasUseExactHomographyEstimation) { UseExactHomographyEstimation = other.UseExactHomographyEstimation; } if (other.HasUseHighestAccuracyForNormalEquations) { UseHighestAccuracyForNormalEquations = other.UseHighestAccuracyForNormalEquations; } if (other.HasHomographyPerspectiveRegularizer) { HomographyPerspectiveRegularizer = other.HomographyPerspectiveRegularizer; } if (other.HasMixHomographyEstimation) { MixHomographyEstimation = other.MixHomographyEstimation; } if (other.HasNumMixtures) { NumMixtures = other.NumMixtures; } if (other.HasMixtureRowSigma) { MixtureRowSigma = other.MixtureRowSigma; } if (other.HasMixtureRegularizer) { MixtureRegularizer = other.MixtureRegularizer; } if (other.HasMixtureRegularizerLevels) { MixtureRegularizerLevels = other.MixtureRegularizerLevels; } if (other.HasMixtureRegularizerBase) { MixtureRegularizerBase = other.MixtureRegularizerBase; } if (other.HasMixtureRsAnalysisLevel) { MixtureRsAnalysisLevel = other.MixtureRsAnalysisLevel; } if (other.HasIrlsRounds) { IrlsRounds = other.IrlsRounds; } if (other.HasIrlsPriorScale) { IrlsPriorScale = other.IrlsPriorScale; } if (other.HasIrlsMotionMagnitudeFraction) { IrlsMotionMagnitudeFraction = other.IrlsMotionMagnitudeFraction; } if (other.HasIrlsMixtureFractionScale) { IrlsMixtureFractionScale = other.IrlsMixtureFractionScale; } if (other.HasIrlsWeightsPreinitialized) { IrlsWeightsPreinitialized = other.IrlsWeightsPreinitialized; } if (other.HasFilterInitializedIrlsWeights) { FilterInitializedIrlsWeights = other.FilterInitializedIrlsWeights; } if (other.irlsInitialization_ != null) { if (irlsInitialization_ == null) { IrlsInitialization = new global::Mediapipe.MotionEstimationOptions.Types.IrlsOutlierInitialization(); } IrlsInitialization.MergeFrom(other.IrlsInitialization); } if (other.HasFeatureDensityNormalization) { FeatureDensityNormalization = other.FeatureDensityNormalization; } if (other.HasFeatureMaskSize) { FeatureMaskSize = other.FeatureMaskSize; } if (other.longFeatureInitialization_ != null) { if (longFeatureInitialization_ == null) { LongFeatureInitialization = new global::Mediapipe.MotionEstimationOptions.Types.LongFeatureInitialization(); } LongFeatureInitialization.MergeFrom(other.LongFeatureInitialization); } if (other.irlsMaskOptions_ != null) { if (irlsMaskOptions_ == null) { IrlsMaskOptions = new global::Mediapipe.MotionEstimationOptions.Types.IrlsMaskOptions(); } IrlsMaskOptions.MergeFrom(other.IrlsMaskOptions); } if (other.jointTrackEstimation_ != null) { if (jointTrackEstimation_ == null) { JointTrackEstimation = new global::Mediapipe.MotionEstimationOptions.Types.JointTrackEstimationOptions(); } JointTrackEstimation.MergeFrom(other.JointTrackEstimation); } if (other.longFeatureBiasOptions_ != null) { if (longFeatureBiasOptions_ == null) { LongFeatureBiasOptions = new global::Mediapipe.MotionEstimationOptions.Types.LongFeatureBiasOptions(); } LongFeatureBiasOptions.MergeFrom(other.LongFeatureBiasOptions); } if (other.HasEstimationPolicy) { EstimationPolicy = other.EstimationPolicy; } if (other.HasCoverageGridSize) { CoverageGridSize = other.CoverageGridSize; } if (other.HasMixtureModelMode) { MixtureModelMode = other.MixtureModelMode; } if (other.HasUseOnlyLinSimInliersForHomography) { UseOnlyLinSimInliersForHomography = other.UseOnlyLinSimInliersForHomography; } if (other.HasLinSimInlierThreshold) { LinSimInlierThreshold = other.LinSimInlierThreshold; } if (other.stableTranslationBounds_ != null) { if (stableTranslationBounds_ == null) { StableTranslationBounds = new global::Mediapipe.MotionEstimationOptions.Types.TranslationBounds(); } StableTranslationBounds.MergeFrom(other.StableTranslationBounds); } if (other.stableSimilarityBounds_ != null) { if (stableSimilarityBounds_ == null) { StableSimilarityBounds = new global::Mediapipe.MotionEstimationOptions.Types.SimilarityBounds(); } StableSimilarityBounds.MergeFrom(other.StableSimilarityBounds); } if (other.stableHomographyBounds_ != null) { if (stableHomographyBounds_ == null) { StableHomographyBounds = new global::Mediapipe.MotionEstimationOptions.Types.HomographyBounds(); } StableHomographyBounds.MergeFrom(other.StableHomographyBounds); } if (other.stableMixtureHomographyBounds_ != null) { if (stableMixtureHomographyBounds_ == null) { StableMixtureHomographyBounds = new global::Mediapipe.MotionEstimationOptions.Types.MixtureHomographyBounds(); } StableMixtureHomographyBounds.MergeFrom(other.StableMixtureHomographyBounds); } if (other.HasStrictCoverageScale) { StrictCoverageScale = other.StrictCoverageScale; } if (other.HasLabelEmptyFramesAsValid) { LabelEmptyFramesAsValid = other.LabelEmptyFramesAsValid; } if (other.HasFeatureGridSize) { FeatureGridSize = other.FeatureGridSize; } if (other.HasSpatialSigma) { SpatialSigma = other.SpatialSigma; } if (other.HasTemporalIrlsDiameter) { TemporalIrlsDiameter = other.TemporalIrlsDiameter; } if (other.HasTemporalSigma) { TemporalSigma = other.TemporalSigma; } if (other.HasFeatureSigma) { FeatureSigma = other.FeatureSigma; } if (other.HasFilter5Taps) { Filter5Taps = other.Filter5Taps; } if (other.HasFrameConfidenceWeighting) { FrameConfidenceWeighting = other.FrameConfidenceWeighting; } if (other.HasResetConfidenceThreshold) { ResetConfidenceThreshold = other.ResetConfidenceThreshold; } if (other.HasIrlsWeightFilter) { IrlsWeightFilter = other.IrlsWeightFilter; } if (other.HasOverlayDetection) { OverlayDetection = other.OverlayDetection; } if (other.HasOverlayAnalysisChunkSize) { OverlayAnalysisChunkSize = other.OverlayAnalysisChunkSize; } if (other.overlayDetectionOptions_ != null) { if (overlayDetectionOptions_ == null) { OverlayDetectionOptions = new global::Mediapipe.MotionEstimationOptions.Types.OverlayDetectionOptions(); } OverlayDetectionOptions.MergeFrom(other.OverlayDetectionOptions); } if (other.shotBoundaryOptions_ != null) { if (shotBoundaryOptions_ == null) { ShotBoundaryOptions = new global::Mediapipe.MotionEstimationOptions.Types.ShotBoundaryOptions(); } ShotBoundaryOptions.MergeFrom(other.ShotBoundaryOptions); } if (other.HasOutputRefinedIrlsWeights) { OutputRefinedIrlsWeights = other.OutputRefinedIrlsWeights; } if (other.HasHomographyIrlsWeightInitialization) { HomographyIrlsWeightInitialization = other.HomographyIrlsWeightInitialization; } if (other.HasIrlsUseL0Norm) { IrlsUseL0Norm = other.IrlsUseL0Norm; } if (other.HasDomainLimitedIrlsScaling) { DomainLimitedIrlsScaling = other.DomainLimitedIrlsScaling; } if (other.HasDeactivateStableMotionEstimation) { DeactivateStableMotionEstimation = other.DeactivateStableMotionEstimation; } if (other.HasProjectValidMotionsDown) { ProjectValidMotionsDown = other.ProjectValidMotionsDown; } if (other.HasEstimateSimilarity) { EstimateSimilarity = other.EstimateSimilarity; } pb::ExtensionSet.MergeFrom(ref _extensions, other._extensions); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(pb::CodedInputStream input) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE input.ReadRawMessage(this); #else uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: if (!pb::ExtensionSet.TryMergeFieldFrom(ref _extensions, input)) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); } break; case 8: { EstimateTranslationIrls = input.ReadBool(); break; } case 16: { EstimateSimilarity = input.ReadBool(); break; } case 24: { LinearSimilarityEstimation = (global::Mediapipe.MotionEstimationOptions.Types.LinearSimilarityEstimation) input.ReadEnum(); break; } case 40: { HomographyEstimation = (global::Mediapipe.MotionEstimationOptions.Types.HomographyEstimation) input.ReadEnum(); break; } case 48: { UseOnlyLinSimInliersForHomography = input.ReadBool(); break; } case 90: { if (stableHomographyBounds_ == null) { StableHomographyBounds = new global::Mediapipe.MotionEstimationOptions.Types.HomographyBounds(); } input.ReadMessage(StableHomographyBounds); break; } case 96: { MixHomographyEstimation = (global::Mediapipe.MotionEstimationOptions.Types.MixtureHomographyEstimation) input.ReadEnum(); break; } case 104: { NumMixtures = input.ReadInt32(); break; } case 117: { MixtureRowSigma = input.ReadFloat(); break; } case 125: { MixtureRegularizer = input.ReadFloat(); break; } case 136: { IrlsRounds = input.ReadInt32(); break; } case 165: { LinSimInlierThreshold = input.ReadFloat(); break; } case 176: { LabelEmptyFramesAsValid = input.ReadBool(); break; } case 184: { MixtureModelMode = (global::Mediapipe.MotionEstimationOptions.Types.MixtureModelMode) input.ReadEnum(); break; } case 197: { FeatureGridSize = input.ReadFloat(); break; } case 205: { SpatialSigma = input.ReadFloat(); break; } case 208: { TemporalIrlsDiameter = input.ReadInt32(); break; } case 221: { TemporalSigma = input.ReadFloat(); break; } case 229: { FeatureSigma = input.ReadFloat(); break; } case 232: { Filter5Taps = input.ReadBool(); break; } case 240: { AffineEstimation = (global::Mediapipe.MotionEstimationOptions.Types.AffineEstimation) input.ReadEnum(); break; } case 253: { IrlsMotionMagnitudeFraction = input.ReadFloat(); break; } case 258: { if (stableTranslationBounds_ == null) { StableTranslationBounds = new global::Mediapipe.MotionEstimationOptions.Types.TranslationBounds(); } input.ReadMessage(StableTranslationBounds); break; } case 266: { if (stableSimilarityBounds_ == null) { StableSimilarityBounds = new global::Mediapipe.MotionEstimationOptions.Types.SimilarityBounds(); } input.ReadMessage(StableSimilarityBounds); break; } case 274: { if (stableMixtureHomographyBounds_ == null) { StableMixtureHomographyBounds = new global::Mediapipe.MotionEstimationOptions.Types.MixtureHomographyBounds(); } input.ReadMessage(StableMixtureHomographyBounds); break; } case 280: { IrlsWeightFilter = (global::Mediapipe.MotionEstimationOptions.Types.IRLSWeightFilter) input.ReadEnum(); break; } case 288: { OverlayDetection = input.ReadBool(); break; } case 296: { OverlayAnalysisChunkSize = input.ReadInt32(); break; } case 306: { if (overlayDetectionOptions_ == null) { OverlayDetectionOptions = new global::Mediapipe.MotionEstimationOptions.Types.OverlayDetectionOptions(); } input.ReadMessage(OverlayDetectionOptions); break; } case 312: { IrlsWeightsPreinitialized = input.ReadBool(); break; } case 320: { OutputRefinedIrlsWeights = input.ReadBool(); break; } case 333: { StrictCoverageScale = input.ReadFloat(); break; } case 341: { MixtureRegularizerLevels = input.ReadFloat(); break; } case 349: { MixtureRegularizerBase = input.ReadFloat(); break; } case 352: { MixtureRsAnalysisLevel = input.ReadInt32(); break; } case 360: { HomographyIrlsWeightInitialization = (global::Mediapipe.MotionEstimationOptions.Types.HomographyIrlsWeightInitialization) input.ReadEnum(); break; } case 368: { IrlsUseL0Norm = input.ReadBool(); break; } case 376: { DeactivateStableMotionEstimation = input.ReadBool(); break; } case 384: { FrameConfidenceWeighting = input.ReadBool(); break; } case 397: { ResetConfidenceThreshold = input.ReadFloat(); break; } case 405: { IrlsPriorScale = input.ReadFloat(); break; } case 408: { CoverageGridSize = input.ReadInt32(); break; } case 416: { ProjectValidMotionsDown = input.ReadBool(); break; } case 424: { HomographyExactDenominatorScaling = input.ReadBool(); break; } case 432: { UseExactHomographyEstimation = input.ReadBool(); break; } case 440: { UseHighestAccuracyForNormalEquations = input.ReadBool(); break; } case 450: { if (irlsInitialization_ == null) { IrlsInitialization = new global::Mediapipe.MotionEstimationOptions.Types.IrlsOutlierInitialization(); } input.ReadMessage(IrlsInitialization); break; } case 458: { if (irlsMaskOptions_ == null) { IrlsMaskOptions = new global::Mediapipe.MotionEstimationOptions.Types.IrlsMaskOptions(); } input.ReadMessage(IrlsMaskOptions); break; } case 464: { EstimationPolicy = (global::Mediapipe.MotionEstimationOptions.Types.EstimationPolicy) input.ReadEnum(); break; } case 474: { if (jointTrackEstimation_ == null) { JointTrackEstimation = new global::Mediapipe.MotionEstimationOptions.Types.JointTrackEstimationOptions(); } input.ReadMessage(JointTrackEstimation); break; } case 482: { if (shotBoundaryOptions_ == null) { ShotBoundaryOptions = new global::Mediapipe.MotionEstimationOptions.Types.ShotBoundaryOptions(); } input.ReadMessage(ShotBoundaryOptions); break; } case 493: { HomographyPerspectiveRegularizer = input.ReadFloat(); break; } case 496: { FeatureDensityNormalization = input.ReadBool(); break; } case 504: { FeatureMaskSize = input.ReadInt32(); break; } case 514: { if (longFeatureBiasOptions_ == null) { LongFeatureBiasOptions = new global::Mediapipe.MotionEstimationOptions.Types.LongFeatureBiasOptions(); } input.ReadMessage(LongFeatureBiasOptions); break; } case 520: { DomainLimitedIrlsScaling = input.ReadBool(); break; } case 530: { if (longFeatureInitialization_ == null) { LongFeatureInitialization = new global::Mediapipe.MotionEstimationOptions.Types.LongFeatureInitialization(); } input.ReadMessage(LongFeatureInitialization); break; } case 536: { FilterInitializedIrlsWeights = input.ReadBool(); break; } case 549: { IrlsMixtureFractionScale = input.ReadFloat(); break; } } } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: if (!pb::ExtensionSet.TryMergeFieldFrom(ref _extensions, ref input)) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); } break; case 8: { EstimateTranslationIrls = input.ReadBool(); break; } case 16: { EstimateSimilarity = input.ReadBool(); break; } case 24: { LinearSimilarityEstimation = (global::Mediapipe.MotionEstimationOptions.Types.LinearSimilarityEstimation) input.ReadEnum(); break; } case 40: { HomographyEstimation = (global::Mediapipe.MotionEstimationOptions.Types.HomographyEstimation) input.ReadEnum(); break; } case 48: { UseOnlyLinSimInliersForHomography = input.ReadBool(); break; } case 90: { if (stableHomographyBounds_ == null) { StableHomographyBounds = new global::Mediapipe.MotionEstimationOptions.Types.HomographyBounds(); } input.ReadMessage(StableHomographyBounds); break; } case 96: { MixHomographyEstimation = (global::Mediapipe.MotionEstimationOptions.Types.MixtureHomographyEstimation) input.ReadEnum(); break; } case 104: { NumMixtures = input.ReadInt32(); break; } case 117: { MixtureRowSigma = input.ReadFloat(); break; } case 125: { MixtureRegularizer = input.ReadFloat(); break; } case 136: { IrlsRounds = input.ReadInt32(); break; } case 165: { LinSimInlierThreshold = input.ReadFloat(); break; } case 176: { LabelEmptyFramesAsValid = input.ReadBool(); break; } case 184: { MixtureModelMode = (global::Mediapipe.MotionEstimationOptions.Types.MixtureModelMode) input.ReadEnum(); break; } case 197: { FeatureGridSize = input.ReadFloat(); break; } case 205: { SpatialSigma = input.ReadFloat(); break; } case 208: { TemporalIrlsDiameter = input.ReadInt32(); break; } case 221: { TemporalSigma = input.ReadFloat(); break; } case 229: { FeatureSigma = input.ReadFloat(); break; } case 232: { Filter5Taps = input.ReadBool(); break; } case 240: { AffineEstimation = (global::Mediapipe.MotionEstimationOptions.Types.AffineEstimation) input.ReadEnum(); break; } case 253: { IrlsMotionMagnitudeFraction = input.ReadFloat(); break; } case 258: { if (stableTranslationBounds_ == null) { StableTranslationBounds = new global::Mediapipe.MotionEstimationOptions.Types.TranslationBounds(); } input.ReadMessage(StableTranslationBounds); break; } case 266: { if (stableSimilarityBounds_ == null) { StableSimilarityBounds = new global::Mediapipe.MotionEstimationOptions.Types.SimilarityBounds(); } input.ReadMessage(StableSimilarityBounds); break; } case 274: { if (stableMixtureHomographyBounds_ == null) { StableMixtureHomographyBounds = new global::Mediapipe.MotionEstimationOptions.Types.MixtureHomographyBounds(); } input.ReadMessage(StableMixtureHomographyBounds); break; } case 280: { IrlsWeightFilter = (global::Mediapipe.MotionEstimationOptions.Types.IRLSWeightFilter) input.ReadEnum(); break; } case 288: { OverlayDetection = input.ReadBool(); break; } case 296: { OverlayAnalysisChunkSize = input.ReadInt32(); break; } case 306: { if (overlayDetectionOptions_ == null) { OverlayDetectionOptions = new global::Mediapipe.MotionEstimationOptions.Types.OverlayDetectionOptions(); } input.ReadMessage(OverlayDetectionOptions); break; } case 312: { IrlsWeightsPreinitialized = input.ReadBool(); break; } case 320: { OutputRefinedIrlsWeights = input.ReadBool(); break; } case 333: { StrictCoverageScale = input.ReadFloat(); break; } case 341: { MixtureRegularizerLevels = input.ReadFloat(); break; } case 349: { MixtureRegularizerBase = input.ReadFloat(); break; } case 352: { MixtureRsAnalysisLevel = input.ReadInt32(); break; } case 360: { HomographyIrlsWeightInitialization = (global::Mediapipe.MotionEstimationOptions.Types.HomographyIrlsWeightInitialization) input.ReadEnum(); break; } case 368: { IrlsUseL0Norm = input.ReadBool(); break; } case 376: { DeactivateStableMotionEstimation = input.ReadBool(); break; } case 384: { FrameConfidenceWeighting = input.ReadBool(); break; } case 397: { ResetConfidenceThreshold = input.ReadFloat(); break; } case 405: { IrlsPriorScale = input.ReadFloat(); break; } case 408: { CoverageGridSize = input.ReadInt32(); break; } case 416: { ProjectValidMotionsDown = input.ReadBool(); break; } case 424: { HomographyExactDenominatorScaling = input.ReadBool(); break; } case 432: { UseExactHomographyEstimation = input.ReadBool(); break; } case 440: { UseHighestAccuracyForNormalEquations = input.ReadBool(); break; } case 450: { if (irlsInitialization_ == null) { IrlsInitialization = new global::Mediapipe.MotionEstimationOptions.Types.IrlsOutlierInitialization(); } input.ReadMessage(IrlsInitialization); break; } case 458: { if (irlsMaskOptions_ == null) { IrlsMaskOptions = new global::Mediapipe.MotionEstimationOptions.Types.IrlsMaskOptions(); } input.ReadMessage(IrlsMaskOptions); break; } case 464: { EstimationPolicy = (global::Mediapipe.MotionEstimationOptions.Types.EstimationPolicy) input.ReadEnum(); break; } case 474: { if (jointTrackEstimation_ == null) { JointTrackEstimation = new global::Mediapipe.MotionEstimationOptions.Types.JointTrackEstimationOptions(); } input.ReadMessage(JointTrackEstimation); break; } case 482: { if (shotBoundaryOptions_ == null) { ShotBoundaryOptions = new global::Mediapipe.MotionEstimationOptions.Types.ShotBoundaryOptions(); } input.ReadMessage(ShotBoundaryOptions); break; } case 493: { HomographyPerspectiveRegularizer = input.ReadFloat(); break; } case 496: { FeatureDensityNormalization = input.ReadBool(); break; } case 504: { FeatureMaskSize = input.ReadInt32(); break; } case 514: { if (longFeatureBiasOptions_ == null) { LongFeatureBiasOptions = new global::Mediapipe.MotionEstimationOptions.Types.LongFeatureBiasOptions(); } input.ReadMessage(LongFeatureBiasOptions); break; } case 520: { DomainLimitedIrlsScaling = input.ReadBool(); break; } case 530: { if (longFeatureInitialization_ == null) { LongFeatureInitialization = new global::Mediapipe.MotionEstimationOptions.Types.LongFeatureInitialization(); } input.ReadMessage(LongFeatureInitialization); break; } case 536: { FilterInitializedIrlsWeights = input.ReadBool(); break; } case 549: { IrlsMixtureFractionScale = input.ReadFloat(); break; } } } } #endif public TValue GetExtension(pb::Extension extension) { return pb::ExtensionSet.Get(ref _extensions, extension); } public pbc::RepeatedField GetExtension(pb::RepeatedExtension extension) { return pb::ExtensionSet.Get(ref _extensions, extension); } public pbc::RepeatedField GetOrInitializeExtension(pb::RepeatedExtension extension) { return pb::ExtensionSet.GetOrInitialize(ref _extensions, extension); } public void SetExtension(pb::Extension extension, TValue value) { pb::ExtensionSet.Set(ref _extensions, extension, value); } public bool HasExtension(pb::Extension extension) { return pb::ExtensionSet.Has(ref _extensions, extension); } public void ClearExtension(pb::Extension extension) { pb::ExtensionSet.Clear(ref _extensions, extension); } public void ClearExtension(pb::RepeatedExtension extension) { pb::ExtensionSet.Clear(ref _extensions, extension); } #region Nested types /// Container for nested types declared in the MotionEstimationOptions message type. [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static partial class Types { public enum LinearSimilarityEstimation { [pbr::OriginalName("ESTIMATION_LS_NONE")] EstimationLsNone = 0, /// /// L2 estimation /// [pbr::OriginalName("ESTIMATION_LS_L2")] EstimationLsL2 = 1, /// /// good performance, robust to outliers. /// [pbr::OriginalName("ESTIMATION_LS_IRLS")] EstimationLsIrls = 4, /// /// DEPRECATED modes. /// [pbr::OriginalName("ESTIMATION_LS_L2_RANSAC")] EstimationLsL2Ransac = 2, /// /// DEPRECATED, use IRLS instead, or static /// [pbr::OriginalName("ESTIMATION_LS_L1")] EstimationLsL1 = 3, } public enum AffineEstimation { [pbr::OriginalName("ESTIMATION_AFFINE_NONE")] EstimationAffineNone = 0, [pbr::OriginalName("ESTIMATION_AFFINE_L2")] EstimationAffineL2 = 1, [pbr::OriginalName("ESTIMATION_AFFINE_IRLS")] EstimationAffineIrls = 2, } public enum HomographyEstimation { [pbr::OriginalName("ESTIMATION_HOMOG_NONE")] EstimationHomogNone = 0, [pbr::OriginalName("ESTIMATION_HOMOG_L2")] EstimationHomogL2 = 1, [pbr::OriginalName("ESTIMATION_HOMOG_IRLS")] EstimationHomogIrls = 2, } /// /// Note: Mixture models have high DOF are much more affected by outliers /// than models above. It is recommended that if IRLS estimation is NOT used, /// that mixture_regularizer is increased by a factor >=3. /// public enum MixtureHomographyEstimation { [pbr::OriginalName("ESTIMATION_HOMOG_MIX_NONE")] EstimationHomogMixNone = 0, [pbr::OriginalName("ESTIMATION_HOMOG_MIX_L2")] EstimationHomogMixL2 = 1, /// /// robust to outliers. /// [pbr::OriginalName("ESTIMATION_HOMOG_MIX_IRLS")] EstimationHomogMixIrls = 2, } /// /// Controls how multiple models via EstimateMotionsParallel are estimated. /// public enum EstimationPolicy { /// /// Models are estimated independently across /// [pbr::OriginalName("INDEPENDENT_PARALLEL")] IndependentParallel = 1, /// /// frames in parallel. /// [pbr::OriginalName("TEMPORAL_IRLS_MASK")] TemporalIrlsMask = 2, /// /// current one, controlled via above /// IrlsMaskOptions. /// [pbr::OriginalName("TEMPORAL_LONG_FEATURE_BIAS")] TemporalLongFeatureBias = 4, /// /// long features, controlled via above /// LongFeatureBiasOptions. /// [pbr::OriginalName("JOINTLY_FROM_TRACKS")] JointlyFromTracks = 3, } /// /// Degree of freedom of estimated homography mixtures. If desired, specific /// parts of the homography can be held constant across the mixture. /// For fast draft TRANSLATION_MIXTURE is recommended, for high quality /// SKEW_ROTATION_MIXTURE. /// public enum MixtureModelMode { /// /// 8 dof * num_mixtures /// [pbr::OriginalName("FULL_MIXTURE")] FullMixture = 0, /// /// 6 dof + 2 dof * num_mixtures /// [pbr::OriginalName("TRANSLATION_MIXTURE")] TranslationMixture = 1, /// /// 4 dof + 4 dof * num_mixtures /// [pbr::OriginalName("SKEW_ROTATION_MIXTURE")] SkewRotationMixture = 2, } /// /// Filters irls weights before smoothing them according to specified /// operation. /// public enum IRLSWeightFilter { [pbr::OriginalName("IRLS_FILTER_NONE")] IrlsFilterNone = 0, [pbr::OriginalName("IRLS_FILTER_TEXTURE")] IrlsFilterTexture = 1, [pbr::OriginalName("IRLS_FILTER_CORNER_RESPONSE")] IrlsFilterCornerResponse = 2, } /// /// Weight initialization for homography estimation. This is to bias homography /// estimation either to foreground or background. /// public enum HomographyIrlsWeightInitialization { /// /// Constant, treat all features equally. /// [pbr::OriginalName("IRLS_WEIGHT_CONSTANT_ONE")] IrlsWeightConstantOne = 1, /// /// Weight features in the center higher. /// [pbr::OriginalName("IRLS_WEIGHT_CENTER_GAUSSIAN")] IrlsWeightCenterGaussian = 2, /// /// Tends to lock onto foreground. /// [pbr::OriginalName("IRLS_WEIGHT_PERIMETER_GAUSSIAN")] IrlsWeightPerimeterGaussian = 3, } /// /// If activated, irls weight of outlier features are reset. Outliers are /// defined as those features, for which the best model fit after #rounds /// iterations of RANSAC did NOT yield an error lower than cutoff. /// Only applies to translation and similarity estimation. /// public sealed partial class IrlsOutlierInitialization : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new IrlsOutlierInitialization()); private pb::UnknownFieldSet _unknownFields; private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { get { return global::Mediapipe.MotionEstimationOptions.Descriptor.NestedTypes[0]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] pbr::MessageDescriptor pb::IMessage.Descriptor { get { return Descriptor; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public IrlsOutlierInitialization() { OnConstruction(); } partial void OnConstruction(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public IrlsOutlierInitialization(IrlsOutlierInitialization other) : this() { _hasBits0 = other._hasBits0; activated_ = other.activated_; rounds_ = other.rounds_; cutoff_ = other.cutoff_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public IrlsOutlierInitialization Clone() { return new IrlsOutlierInitialization(this); } /// Field number for the "activated" field. public const int ActivatedFieldNumber = 1; private readonly static bool ActivatedDefaultValue = false; private bool activated_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool Activated { get { if ((_hasBits0 & 1) != 0) { return activated_; } else { return ActivatedDefaultValue; } } set { _hasBits0 |= 1; activated_ = value; } } /// Gets whether the "activated" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasActivated { get { return (_hasBits0 & 1) != 0; } } /// Clears the value of the "activated" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearActivated() { _hasBits0 &= ~1; } /// Field number for the "rounds" field. public const int RoundsFieldNumber = 2; private readonly static int RoundsDefaultValue = 100; private int rounds_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int Rounds { get { if ((_hasBits0 & 2) != 0) { return rounds_; } else { return RoundsDefaultValue; } } set { _hasBits0 |= 2; rounds_ = value; } } /// Gets whether the "rounds" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasRounds { get { return (_hasBits0 & 2) != 0; } } /// Clears the value of the "rounds" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearRounds() { _hasBits0 &= ~2; } /// Field number for the "cutoff" field. public const int CutoffFieldNumber = 3; private readonly static float CutoffDefaultValue = 0.003F; private float cutoff_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float Cutoff { get { if ((_hasBits0 & 4) != 0) { return cutoff_; } else { return CutoffDefaultValue; } } set { _hasBits0 |= 4; cutoff_ = value; } } /// Gets whether the "cutoff" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasCutoff { get { return (_hasBits0 & 4) != 0; } } /// Clears the value of the "cutoff" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearCutoff() { _hasBits0 &= ~4; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { return Equals(other as IrlsOutlierInitialization); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool Equals(IrlsOutlierInitialization other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } if (Activated != other.Activated) return false; if (Rounds != other.Rounds) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Cutoff, other.Cutoff)) return false; return Equals(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; if (HasActivated) hash ^= Activated.GetHashCode(); if (HasRounds) hash ^= Rounds.GetHashCode(); if (HasCutoff) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Cutoff); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return hash; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override string ToString() { return pb::JsonFormatter.ToDiagnosticString(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else if (HasActivated) { output.WriteRawTag(8); output.WriteBool(Activated); } if (HasRounds) { output.WriteRawTag(16); output.WriteInt32(Rounds); } if (HasCutoff) { output.WriteRawTag(29); output.WriteFloat(Cutoff); } if (_unknownFields != null) { _unknownFields.WriteTo(output); } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (HasActivated) { output.WriteRawTag(8); output.WriteBool(Activated); } if (HasRounds) { output.WriteRawTag(16); output.WriteInt32(Rounds); } if (HasCutoff) { output.WriteRawTag(29); output.WriteFloat(Cutoff); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } } #endif [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; if (HasActivated) { size += 1 + 1; } if (HasRounds) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(Rounds); } if (HasCutoff) { size += 1 + 4; } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } return size; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(IrlsOutlierInitialization other) { if (other == null) { return; } if (other.HasActivated) { Activated = other.Activated; } if (other.HasRounds) { Rounds = other.Rounds; } if (other.HasCutoff) { Cutoff = other.Cutoff; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(pb::CodedInputStream input) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE input.ReadRawMessage(this); #else uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { Activated = input.ReadBool(); break; } case 16: { Rounds = input.ReadInt32(); break; } case 29: { Cutoff = input.ReadFloat(); break; } } } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { Activated = input.ReadBool(); break; } case 16: { Rounds = input.ReadInt32(); break; } case 29: { Cutoff = input.ReadFloat(); break; } } } } #endif } /// /// In addition to above outlier and density initialization, long features /// that are present for a specified ratio of the analysis interval can be /// upweighted. This greatly improves temporal consistency. /// public sealed partial class LongFeatureInitialization : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LongFeatureInitialization()); private pb::UnknownFieldSet _unknownFields; private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { get { return global::Mediapipe.MotionEstimationOptions.Descriptor.NestedTypes[1]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] pbr::MessageDescriptor pb::IMessage.Descriptor { get { return Descriptor; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public LongFeatureInitialization() { OnConstruction(); } partial void OnConstruction(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public LongFeatureInitialization(LongFeatureInitialization other) : this() { _hasBits0 = other._hasBits0; activated_ = other.activated_; minLengthPercentile_ = other.minLengthPercentile_; upweightMultiplier_ = other.upweightMultiplier_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public LongFeatureInitialization Clone() { return new LongFeatureInitialization(this); } /// Field number for the "activated" field. public const int ActivatedFieldNumber = 1; private readonly static bool ActivatedDefaultValue = false; private bool activated_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool Activated { get { if ((_hasBits0 & 1) != 0) { return activated_; } else { return ActivatedDefaultValue; } } set { _hasBits0 |= 1; activated_ = value; } } /// Gets whether the "activated" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasActivated { get { return (_hasBits0 & 1) != 0; } } /// Clears the value of the "activated" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearActivated() { _hasBits0 &= ~1; } /// Field number for the "min_length_percentile" field. public const int MinLengthPercentileFieldNumber = 2; private readonly static float MinLengthPercentileDefaultValue = 0.95F; private float minLengthPercentile_; /// /// Tracks with a length greater of equal to the specified percentile /// are upweighted by the specified upweight_multiplier. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float MinLengthPercentile { get { if ((_hasBits0 & 2) != 0) { return minLengthPercentile_; } else { return MinLengthPercentileDefaultValue; } } set { _hasBits0 |= 2; minLengthPercentile_ = value; } } /// Gets whether the "min_length_percentile" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMinLengthPercentile { get { return (_hasBits0 & 2) != 0; } } /// Clears the value of the "min_length_percentile" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMinLengthPercentile() { _hasBits0 &= ~2; } /// Field number for the "upweight_multiplier" field. public const int UpweightMultiplierFieldNumber = 3; private readonly static float UpweightMultiplierDefaultValue = 5F; private float upweightMultiplier_; /// /// Features passing above test have their irls weight increased by the /// specified multiplier prior to estimation. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float UpweightMultiplier { get { if ((_hasBits0 & 4) != 0) { return upweightMultiplier_; } else { return UpweightMultiplierDefaultValue; } } set { _hasBits0 |= 4; upweightMultiplier_ = value; } } /// Gets whether the "upweight_multiplier" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasUpweightMultiplier { get { return (_hasBits0 & 4) != 0; } } /// Clears the value of the "upweight_multiplier" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearUpweightMultiplier() { _hasBits0 &= ~4; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { return Equals(other as LongFeatureInitialization); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool Equals(LongFeatureInitialization other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } if (Activated != other.Activated) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MinLengthPercentile, other.MinLengthPercentile)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(UpweightMultiplier, other.UpweightMultiplier)) return false; return Equals(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; if (HasActivated) hash ^= Activated.GetHashCode(); if (HasMinLengthPercentile) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MinLengthPercentile); if (HasUpweightMultiplier) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(UpweightMultiplier); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return hash; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override string ToString() { return pb::JsonFormatter.ToDiagnosticString(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else if (HasActivated) { output.WriteRawTag(8); output.WriteBool(Activated); } if (HasMinLengthPercentile) { output.WriteRawTag(21); output.WriteFloat(MinLengthPercentile); } if (HasUpweightMultiplier) { output.WriteRawTag(29); output.WriteFloat(UpweightMultiplier); } if (_unknownFields != null) { _unknownFields.WriteTo(output); } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (HasActivated) { output.WriteRawTag(8); output.WriteBool(Activated); } if (HasMinLengthPercentile) { output.WriteRawTag(21); output.WriteFloat(MinLengthPercentile); } if (HasUpweightMultiplier) { output.WriteRawTag(29); output.WriteFloat(UpweightMultiplier); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } } #endif [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; if (HasActivated) { size += 1 + 1; } if (HasMinLengthPercentile) { size += 1 + 4; } if (HasUpweightMultiplier) { size += 1 + 4; } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } return size; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(LongFeatureInitialization other) { if (other == null) { return; } if (other.HasActivated) { Activated = other.Activated; } if (other.HasMinLengthPercentile) { MinLengthPercentile = other.MinLengthPercentile; } if (other.HasUpweightMultiplier) { UpweightMultiplier = other.UpweightMultiplier; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(pb::CodedInputStream input) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE input.ReadRawMessage(this); #else uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { Activated = input.ReadBool(); break; } case 21: { MinLengthPercentile = input.ReadFloat(); break; } case 29: { UpweightMultiplier = input.ReadFloat(); break; } } } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { Activated = input.ReadBool(); break; } case 21: { MinLengthPercentile = input.ReadFloat(); break; } case 29: { UpweightMultiplier = input.ReadFloat(); break; } } } } #endif } /// /// Irls initialization can be performed in a temporal depdent manner, /// (if estimation_policy() == TEMPORALLY_DEPENDENT), where /// the previous frame's motion estimation biases the IrlsInitialization of the /// currently processed frame. In particular the location and magnitude of /// inliers is used during the RANSAC selection stage, to favor those features /// that agree with the prior, represented as confidence mask of inliers /// (using same dimension as above feature_mask_size). /// After estimation, the prior is updated. /// public sealed partial class IrlsMaskOptions : pb::IExtendableMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new IrlsMaskOptions()); private pb::UnknownFieldSet _unknownFields; private pb::ExtensionSet _extensions; private pb::ExtensionSet _Extensions { get { return _extensions; } } private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { get { return global::Mediapipe.MotionEstimationOptions.Descriptor.NestedTypes[2]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] pbr::MessageDescriptor pb::IMessage.Descriptor { get { return Descriptor; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public IrlsMaskOptions() { OnConstruction(); } partial void OnConstruction(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public IrlsMaskOptions(IrlsMaskOptions other) : this() { _hasBits0 = other._hasBits0; decay_ = other.decay_; inlierScore_ = other.inlierScore_; baseScore_ = other.baseScore_; minTranslationNorm_ = other.minTranslationNorm_; translationBlendAlpha_ = other.translationBlendAlpha_; translationPriorIncrease_ = other.translationPriorIncrease_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); _extensions = pb::ExtensionSet.Clone(other._extensions); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public IrlsMaskOptions Clone() { return new IrlsMaskOptions(this); } /// Field number for the "decay" field. public const int DecayFieldNumber = 2; private readonly static float DecayDefaultValue = 0.7F; private float decay_; /// /// Amount prior is decayed after each iteration. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float Decay { get { if ((_hasBits0 & 1) != 0) { return decay_; } else { return DecayDefaultValue; } } set { _hasBits0 |= 1; decay_ = value; } } /// Gets whether the "decay" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasDecay { get { return (_hasBits0 & 1) != 0; } } /// Clears the value of the "decay" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearDecay() { _hasBits0 &= ~1; } /// Field number for the "inlier_score" field. public const int InlierScoreFieldNumber = 3; private readonly static float InlierScoreDefaultValue = 0.4F; private float inlierScore_; /// /// Score that each inlier adds to the current prior. Specified w.r.t. total /// number of features, i.e. each feature increases a bins score by /// inlier_score. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float InlierScore { get { if ((_hasBits0 & 2) != 0) { return inlierScore_; } else { return InlierScoreDefaultValue; } } set { _hasBits0 |= 2; inlierScore_ = value; } } /// Gets whether the "inlier_score" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasInlierScore { get { return (_hasBits0 & 2) != 0; } } /// Clears the value of the "inlier_score" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearInlierScore() { _hasBits0 &= ~2; } /// Field number for the "base_score" field. public const int BaseScoreFieldNumber = 4; private readonly static float BaseScoreDefaultValue = 0.2F; private float baseScore_; /// /// Each inlier scores at least this value regardless of the inlier mask /// (additive). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float BaseScore { get { if ((_hasBits0 & 4) != 0) { return baseScore_; } else { return BaseScoreDefaultValue; } } set { _hasBits0 |= 4; baseScore_ = value; } } /// Gets whether the "base_score" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasBaseScore { get { return (_hasBits0 & 4) != 0; } } /// Clears the value of the "base_score" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearBaseScore() { _hasBits0 &= ~4; } /// Field number for the "min_translation_norm" field. public const int MinTranslationNormFieldNumber = 5; private readonly static float MinTranslationNormDefaultValue = 0.002F; private float minTranslationNorm_; /// /// Motions are scored relative to previous motion. Threshold denotes /// absolute minimum of denominator. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float MinTranslationNorm { get { if ((_hasBits0 & 8) != 0) { return minTranslationNorm_; } else { return MinTranslationNormDefaultValue; } } set { _hasBits0 |= 8; minTranslationNorm_ = value; } } /// Gets whether the "min_translation_norm" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMinTranslationNorm { get { return (_hasBits0 & 8) != 0; } } /// Clears the value of the "min_translation_norm" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMinTranslationNorm() { _hasBits0 &= ~8; } /// Field number for the "translation_blend_alpha" field. public const int TranslationBlendAlphaFieldNumber = 6; private readonly static float TranslationBlendAlphaDefaultValue = 0.7F; private float translationBlendAlpha_; /// /// Translation is updated in every step by blending it with the previous /// estimated translation. (alpha is within 0 to 1, where 0 indicates to use /// only measured translation, i.e. no blending). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float TranslationBlendAlpha { get { if ((_hasBits0 & 16) != 0) { return translationBlendAlpha_; } else { return TranslationBlendAlphaDefaultValue; } } set { _hasBits0 |= 16; translationBlendAlpha_ = value; } } /// Gets whether the "translation_blend_alpha" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasTranslationBlendAlpha { get { return (_hasBits0 & 16) != 0; } } /// Clears the value of the "translation_blend_alpha" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearTranslationBlendAlpha() { _hasBits0 &= ~16; } /// Field number for the "translation_prior_increase" field. public const int TranslationPriorIncreaseFieldNumber = 7; private readonly static float TranslationPriorIncreaseDefaultValue = 0.2F; private float translationPriorIncrease_; /// /// Every time translation is updated, prior (in [0, 1]) is increased by the /// specified amount. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float TranslationPriorIncrease { get { if ((_hasBits0 & 32) != 0) { return translationPriorIncrease_; } else { return TranslationPriorIncreaseDefaultValue; } } set { _hasBits0 |= 32; translationPriorIncrease_ = value; } } /// Gets whether the "translation_prior_increase" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasTranslationPriorIncrease { get { return (_hasBits0 & 32) != 0; } } /// Clears the value of the "translation_prior_increase" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearTranslationPriorIncrease() { _hasBits0 &= ~32; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { return Equals(other as IrlsMaskOptions); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool Equals(IrlsMaskOptions other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Decay, other.Decay)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(InlierScore, other.InlierScore)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(BaseScore, other.BaseScore)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MinTranslationNorm, other.MinTranslationNorm)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(TranslationBlendAlpha, other.TranslationBlendAlpha)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(TranslationPriorIncrease, other.TranslationPriorIncrease)) return false; if (!Equals(_extensions, other._extensions)) { return false; } return Equals(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; if (HasDecay) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Decay); if (HasInlierScore) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(InlierScore); if (HasBaseScore) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(BaseScore); if (HasMinTranslationNorm) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MinTranslationNorm); if (HasTranslationBlendAlpha) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(TranslationBlendAlpha); if (HasTranslationPriorIncrease) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(TranslationPriorIncrease); if (_extensions != null) { hash ^= _extensions.GetHashCode(); } if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return hash; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override string ToString() { return pb::JsonFormatter.ToDiagnosticString(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else if (HasDecay) { output.WriteRawTag(21); output.WriteFloat(Decay); } if (HasInlierScore) { output.WriteRawTag(29); output.WriteFloat(InlierScore); } if (HasBaseScore) { output.WriteRawTag(37); output.WriteFloat(BaseScore); } if (HasMinTranslationNorm) { output.WriteRawTag(45); output.WriteFloat(MinTranslationNorm); } if (HasTranslationBlendAlpha) { output.WriteRawTag(53); output.WriteFloat(TranslationBlendAlpha); } if (HasTranslationPriorIncrease) { output.WriteRawTag(61); output.WriteFloat(TranslationPriorIncrease); } if (_extensions != null) { _extensions.WriteTo(output); } if (_unknownFields != null) { _unknownFields.WriteTo(output); } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (HasDecay) { output.WriteRawTag(21); output.WriteFloat(Decay); } if (HasInlierScore) { output.WriteRawTag(29); output.WriteFloat(InlierScore); } if (HasBaseScore) { output.WriteRawTag(37); output.WriteFloat(BaseScore); } if (HasMinTranslationNorm) { output.WriteRawTag(45); output.WriteFloat(MinTranslationNorm); } if (HasTranslationBlendAlpha) { output.WriteRawTag(53); output.WriteFloat(TranslationBlendAlpha); } if (HasTranslationPriorIncrease) { output.WriteRawTag(61); output.WriteFloat(TranslationPriorIncrease); } if (_extensions != null) { _extensions.WriteTo(ref output); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } } #endif [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; if (HasDecay) { size += 1 + 4; } if (HasInlierScore) { size += 1 + 4; } if (HasBaseScore) { size += 1 + 4; } if (HasMinTranslationNorm) { size += 1 + 4; } if (HasTranslationBlendAlpha) { size += 1 + 4; } if (HasTranslationPriorIncrease) { size += 1 + 4; } if (_extensions != null) { size += _extensions.CalculateSize(); } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } return size; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(IrlsMaskOptions other) { if (other == null) { return; } if (other.HasDecay) { Decay = other.Decay; } if (other.HasInlierScore) { InlierScore = other.InlierScore; } if (other.HasBaseScore) { BaseScore = other.BaseScore; } if (other.HasMinTranslationNorm) { MinTranslationNorm = other.MinTranslationNorm; } if (other.HasTranslationBlendAlpha) { TranslationBlendAlpha = other.TranslationBlendAlpha; } if (other.HasTranslationPriorIncrease) { TranslationPriorIncrease = other.TranslationPriorIncrease; } pb::ExtensionSet.MergeFrom(ref _extensions, other._extensions); _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(pb::CodedInputStream input) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE input.ReadRawMessage(this); #else uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: if (!pb::ExtensionSet.TryMergeFieldFrom(ref _extensions, input)) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); } break; case 21: { Decay = input.ReadFloat(); break; } case 29: { InlierScore = input.ReadFloat(); break; } case 37: { BaseScore = input.ReadFloat(); break; } case 45: { MinTranslationNorm = input.ReadFloat(); break; } case 53: { TranslationBlendAlpha = input.ReadFloat(); break; } case 61: { TranslationPriorIncrease = input.ReadFloat(); break; } } } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: if (!pb::ExtensionSet.TryMergeFieldFrom(ref _extensions, ref input)) { _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); } break; case 21: { Decay = input.ReadFloat(); break; } case 29: { InlierScore = input.ReadFloat(); break; } case 37: { BaseScore = input.ReadFloat(); break; } case 45: { MinTranslationNorm = input.ReadFloat(); break; } case 53: { TranslationBlendAlpha = input.ReadFloat(); break; } case 61: { TranslationPriorIncrease = input.ReadFloat(); break; } } } } #endif public TValue GetExtension(pb::Extension extension) { return pb::ExtensionSet.Get(ref _extensions, extension); } public pbc::RepeatedField GetExtension(pb::RepeatedExtension extension) { return pb::ExtensionSet.Get(ref _extensions, extension); } public pbc::RepeatedField GetOrInitializeExtension(pb::RepeatedExtension extension) { return pb::ExtensionSet.GetOrInitialize(ref _extensions, extension); } public void SetExtension(pb::Extension extension, TValue value) { pb::ExtensionSet.Set(ref _extensions, extension, value); } public bool HasExtension(pb::Extension extension) { return pb::ExtensionSet.Has(ref _extensions, extension); } public void ClearExtension(pb::Extension extension) { pb::ExtensionSet.Clear(ref _extensions, extension); } public void ClearExtension(pb::RepeatedExtension extension) { pb::ExtensionSet.Clear(ref _extensions, extension); } } /// /// Describes how long feature tracks are leveraged for joint estimation across /// many frames. /// public sealed partial class JointTrackEstimationOptions : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new JointTrackEstimationOptions()); private pb::UnknownFieldSet _unknownFields; private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { get { return global::Mediapipe.MotionEstimationOptions.Descriptor.NestedTypes[3]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] pbr::MessageDescriptor pb::IMessage.Descriptor { get { return Descriptor; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public JointTrackEstimationOptions() { OnConstruction(); } partial void OnConstruction(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public JointTrackEstimationOptions(JointTrackEstimationOptions other) : this() { _hasBits0 = other._hasBits0; numMotionModels_ = other.numMotionModels_; motionStride_ = other.motionStride_; temporalSmoothing_ = other.temporalSmoothing_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public JointTrackEstimationOptions Clone() { return new JointTrackEstimationOptions(this); } /// Field number for the "num_motion_models" field. public const int NumMotionModelsFieldNumber = 1; private readonly static int NumMotionModelsDefaultValue = 3; private int numMotionModels_; /// /// For each frame-pair motion model, describing the motion between frame /// I and I - 1, estimate in addition several additional motion /// models along long feature tracks describing the motion between frame /// I and I - k * motion_stride (additional models are not output, /// but help to filter irls weights). /// Specifies total number of estimated motion models per frame-pair. Must be /// greater than zero. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int NumMotionModels { get { if ((_hasBits0 & 1) != 0) { return numMotionModels_; } else { return NumMotionModelsDefaultValue; } } set { _hasBits0 |= 1; numMotionModels_ = value; } } /// Gets whether the "num_motion_models" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasNumMotionModels { get { return (_hasBits0 & 1) != 0; } } /// Clears the value of the "num_motion_models" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearNumMotionModels() { _hasBits0 &= ~1; } /// Field number for the "motion_stride" field. public const int MotionStrideFieldNumber = 2; private readonly static int MotionStrideDefaultValue = 15; private int motionStride_; /// /// Spacing in frames for additional motion models. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int MotionStride { get { if ((_hasBits0 & 2) != 0) { return motionStride_; } else { return MotionStrideDefaultValue; } } set { _hasBits0 |= 2; motionStride_ = value; } } /// Gets whether the "motion_stride" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMotionStride { get { return (_hasBits0 & 2) != 0; } } /// Clears the value of the "motion_stride" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMotionStride() { _hasBits0 &= ~2; } /// Field number for the "temporal_smoothing" field. public const int TemporalSmoothingFieldNumber = 3; private readonly static bool TemporalSmoothingDefaultValue = false; private bool temporalSmoothing_; /// /// If set, performs temporal smoothing across frames of the obtained irls /// weights. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool TemporalSmoothing { get { if ((_hasBits0 & 4) != 0) { return temporalSmoothing_; } else { return TemporalSmoothingDefaultValue; } } set { _hasBits0 |= 4; temporalSmoothing_ = value; } } /// Gets whether the "temporal_smoothing" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasTemporalSmoothing { get { return (_hasBits0 & 4) != 0; } } /// Clears the value of the "temporal_smoothing" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearTemporalSmoothing() { _hasBits0 &= ~4; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { return Equals(other as JointTrackEstimationOptions); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool Equals(JointTrackEstimationOptions other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } if (NumMotionModels != other.NumMotionModels) return false; if (MotionStride != other.MotionStride) return false; if (TemporalSmoothing != other.TemporalSmoothing) return false; return Equals(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; if (HasNumMotionModels) hash ^= NumMotionModels.GetHashCode(); if (HasMotionStride) hash ^= MotionStride.GetHashCode(); if (HasTemporalSmoothing) hash ^= TemporalSmoothing.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return hash; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override string ToString() { return pb::JsonFormatter.ToDiagnosticString(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else if (HasNumMotionModels) { output.WriteRawTag(8); output.WriteInt32(NumMotionModels); } if (HasMotionStride) { output.WriteRawTag(16); output.WriteInt32(MotionStride); } if (HasTemporalSmoothing) { output.WriteRawTag(24); output.WriteBool(TemporalSmoothing); } if (_unknownFields != null) { _unknownFields.WriteTo(output); } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (HasNumMotionModels) { output.WriteRawTag(8); output.WriteInt32(NumMotionModels); } if (HasMotionStride) { output.WriteRawTag(16); output.WriteInt32(MotionStride); } if (HasTemporalSmoothing) { output.WriteRawTag(24); output.WriteBool(TemporalSmoothing); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } } #endif [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; if (HasNumMotionModels) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumMotionModels); } if (HasMotionStride) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(MotionStride); } if (HasTemporalSmoothing) { size += 1 + 1; } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } return size; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(JointTrackEstimationOptions other) { if (other == null) { return; } if (other.HasNumMotionModels) { NumMotionModels = other.NumMotionModels; } if (other.HasMotionStride) { MotionStride = other.MotionStride; } if (other.HasTemporalSmoothing) { TemporalSmoothing = other.TemporalSmoothing; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(pb::CodedInputStream input) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE input.ReadRawMessage(this); #else uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { NumMotionModels = input.ReadInt32(); break; } case 16: { MotionStride = input.ReadInt32(); break; } case 24: { TemporalSmoothing = input.ReadBool(); break; } } } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { NumMotionModels = input.ReadInt32(); break; } case 16: { MotionStride = input.ReadInt32(); break; } case 24: { TemporalSmoothing = input.ReadBool(); break; } } } } #endif } /// /// Options being used to bias IRLS features if estimation mode /// TEMPORAL_LONG_FEATURE_BIAS is being used. /// Next Tag: 15 /// public sealed partial class LongFeatureBiasOptions : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new LongFeatureBiasOptions()); private pb::UnknownFieldSet _unknownFields; private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { get { return global::Mediapipe.MotionEstimationOptions.Descriptor.NestedTypes[4]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] pbr::MessageDescriptor pb::IMessage.Descriptor { get { return Descriptor; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public LongFeatureBiasOptions() { OnConstruction(); } partial void OnConstruction(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public LongFeatureBiasOptions(LongFeatureBiasOptions other) : this() { _hasBits0 = other._hasBits0; totalRounds_ = other.totalRounds_; inlierBias_ = other.inlierBias_; outlierBias_ = other.outlierBias_; numIrlsObservations_ = other.numIrlsObservations_; maxIrlsChangeRatio_ = other.maxIrlsChangeRatio_; inlierIrlsWeight_ = other.inlierIrlsWeight_; biasStdev_ = other.biasStdev_; useSpatialBias_ = other.useSpatialBias_; gridSize_ = other.gridSize_; spatialSigma_ = other.spatialSigma_; colorSigma_ = other.colorSigma_; longTrackThreshold_ = other.longTrackThreshold_; longTrackConfidenceFraction_ = other.longTrackConfidenceFraction_; seedPriorsFromBias_ = other.seedPriorsFromBias_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public LongFeatureBiasOptions Clone() { return new LongFeatureBiasOptions(this); } /// Field number for the "total_rounds" field. public const int TotalRoundsFieldNumber = 13; private readonly static int TotalRoundsDefaultValue = 1; private int totalRounds_; /// /// Estimation is performed multiple times, alternating between model /// estimation and smooth temporal feature biasing for the specified number /// of rounds. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int TotalRounds { get { if ((_hasBits0 & 4096) != 0) { return totalRounds_; } else { return TotalRoundsDefaultValue; } } set { _hasBits0 |= 4096; totalRounds_ = value; } } /// Gets whether the "total_rounds" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasTotalRounds { get { return (_hasBits0 & 4096) != 0; } } /// Clears the value of the "total_rounds" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearTotalRounds() { _hasBits0 &= ~4096; } /// Field number for the "inlier_bias" field. public const int InlierBiasFieldNumber = 1; private readonly static float InlierBiasDefaultValue = 0.98F; private float inlierBias_; /// /// Controls how fast the bias for a track gets updated, in case feature is /// an inlier. Use higher values for less decay of background motion over /// time. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float InlierBias { get { if ((_hasBits0 & 1) != 0) { return inlierBias_; } else { return InlierBiasDefaultValue; } } set { _hasBits0 |= 1; inlierBias_ = value; } } /// Gets whether the "inlier_bias" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasInlierBias { get { return (_hasBits0 & 1) != 0; } } /// Clears the value of the "inlier_bias" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearInlierBias() { _hasBits0 &= ~1; } /// Field number for the "outlier_bias" field. public const int OutlierBiasFieldNumber = 2; private readonly static float OutlierBiasDefaultValue = 0.7F; private float outlierBias_; /// /// Same as above for outliers (or features with low prior), i.e those that /// got recently seeded. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float OutlierBias { get { if ((_hasBits0 & 2) != 0) { return outlierBias_; } else { return OutlierBiasDefaultValue; } } set { _hasBits0 |= 2; outlierBias_ = value; } } /// Gets whether the "outlier_bias" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasOutlierBias { get { return (_hasBits0 & 2) != 0; } } /// Clears the value of the "outlier_bias" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearOutlierBias() { _hasBits0 &= ~2; } /// Field number for the "num_irls_observations" field. public const int NumIrlsObservationsFieldNumber = 3; private readonly static int NumIrlsObservationsDefaultValue = 10; private int numIrlsObservations_; /// /// Number of elements after which we deem estimation to be stable. /// Used to control weight of bias if fewer than the specified number have /// been observed. Also used as maximum ring buffer size (only most recent /// number of observations are kept). Must be > 0. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int NumIrlsObservations { get { if ((_hasBits0 & 4) != 0) { return numIrlsObservations_; } else { return NumIrlsObservationsDefaultValue; } } set { _hasBits0 |= 4; numIrlsObservations_ = value; } } /// Gets whether the "num_irls_observations" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasNumIrlsObservations { get { return (_hasBits0 & 4) != 0; } } /// Clears the value of the "num_irls_observations" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearNumIrlsObservations() { _hasBits0 &= ~4; } /// Field number for the "max_irls_change_ratio" field. public const int MaxIrlsChangeRatioFieldNumber = 4; private readonly static float MaxIrlsChangeRatioDefaultValue = 10F; private float maxIrlsChangeRatio_; /// /// Change in irls weight magnitude (from outlier to inlier) above which we /// reset the current bias. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float MaxIrlsChangeRatio { get { if ((_hasBits0 & 8) != 0) { return maxIrlsChangeRatio_; } else { return MaxIrlsChangeRatioDefaultValue; } } set { _hasBits0 |= 8; maxIrlsChangeRatio_ = value; } } /// Gets whether the "max_irls_change_ratio" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMaxIrlsChangeRatio { get { return (_hasBits0 & 8) != 0; } } /// Clears the value of the "max_irls_change_ratio" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMaxIrlsChangeRatio() { _hasBits0 &= ~8; } /// Field number for the "inlier_irls_weight" field. public const int InlierIrlsWeightFieldNumber = 5; private readonly static float InlierIrlsWeightDefaultValue = 0.2F; private float inlierIrlsWeight_; /// /// Irls weight above which we consider it to be an inlier for bias update /// purposes (see above inlier and outlier bias). By default, outliers are /// allowed to update their bias faster than inliers. Must be > 0. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float InlierIrlsWeight { get { if ((_hasBits0 & 16) != 0) { return inlierIrlsWeight_; } else { return InlierIrlsWeightDefaultValue; } } set { _hasBits0 |= 16; inlierIrlsWeight_ = value; } } /// Gets whether the "inlier_irls_weight" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasInlierIrlsWeight { get { return (_hasBits0 & 16) != 0; } } /// Clears the value of the "inlier_irls_weight" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearInlierIrlsWeight() { _hasBits0 &= ~16; } /// Field number for the "bias_stdev" field. public const int BiasStdevFieldNumber = 12; private readonly static float BiasStdevDefaultValue = 1F; private float biasStdev_; /// /// Standard deviation used during feature initialization. Current bias of a /// track is used to pre-weight features via gaussian weighting with /// specified standard deviation. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float BiasStdev { get { if ((_hasBits0 & 2048) != 0) { return biasStdev_; } else { return BiasStdevDefaultValue; } } set { _hasBits0 |= 2048; biasStdev_ = value; } } /// Gets whether the "bias_stdev" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasBiasStdev { get { return (_hasBits0 & 2048) != 0; } } /// Clears the value of the "bias_stdev" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearBiasStdev() { _hasBits0 &= ~2048; } /// Field number for the "use_spatial_bias" field. public const int UseSpatialBiasFieldNumber = 6; private readonly static bool UseSpatialBiasDefaultValue = true; private bool useSpatialBias_; /// /// When seeding new tracks (on the first frame), we bilaterally pool /// neighboring feature biases as seed. Details are controlled by options /// below. If false, the feature's estimation error is used instead /// (faster, but less spatially smooth). /// If activated it is advised to use a patch descriptor radius of at least /// 20 pixels. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool UseSpatialBias { get { if ((_hasBits0 & 32) != 0) { return useSpatialBias_; } else { return UseSpatialBiasDefaultValue; } } set { _hasBits0 |= 32; useSpatialBias_ = value; } } /// Gets whether the "use_spatial_bias" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasUseSpatialBias { get { return (_hasBits0 & 32) != 0; } } /// Clears the value of the "use_spatial_bias" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearUseSpatialBias() { _hasBits0 &= ~32; } /// Field number for the "grid_size" field. public const int GridSizeFieldNumber = 7; private readonly static float GridSizeDefaultValue = 0.04F; private float gridSize_; /// /// Newly observered tracks's biases are seeded by similar looking features /// in close spatial proximity. For efficieny a grid is used to determine /// proximity. /// Grid size in normalized coordinates w.r.t. frame domain. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float GridSize { get { if ((_hasBits0 & 64) != 0) { return gridSize_; } else { return GridSizeDefaultValue; } } set { _hasBits0 |= 64; gridSize_ = value; } } /// Gets whether the "grid_size" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasGridSize { get { return (_hasBits0 & 64) != 0; } } /// Clears the value of the "grid_size" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearGridSize() { _hasBits0 &= ~64; } /// Field number for the "spatial_sigma" field. public const int SpatialSigmaFieldNumber = 8; private readonly static float SpatialSigmaDefaultValue = 0.02F; private float spatialSigma_; /// /// Sigma's for combining feature biases. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float SpatialSigma { get { if ((_hasBits0 & 128) != 0) { return spatialSigma_; } else { return SpatialSigmaDefaultValue; } } set { _hasBits0 |= 128; spatialSigma_ = value; } } /// Gets whether the "spatial_sigma" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasSpatialSigma { get { return (_hasBits0 & 128) != 0; } } /// Clears the value of the "spatial_sigma" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearSpatialSigma() { _hasBits0 &= ~128; } /// Field number for the "color_sigma" field. public const int ColorSigmaFieldNumber = 9; private readonly static float ColorSigmaDefaultValue = 20F; private float colorSigma_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float ColorSigma { get { if ((_hasBits0 & 256) != 0) { return colorSigma_; } else { return ColorSigmaDefaultValue; } } set { _hasBits0 |= 256; colorSigma_ = value; } } /// Gets whether the "color_sigma" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasColorSigma { get { return (_hasBits0 & 256) != 0; } } /// Clears the value of the "color_sigma" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearColorSigma() { _hasBits0 &= ~256; } /// Field number for the "long_track_threshold" field. public const int LongTrackThresholdFieldNumber = 10; private readonly static int LongTrackThresholdDefaultValue = 30; private int longTrackThreshold_; /// /// Defines what we consider to be a long track. Features spawned around /// locations of similar looking long tracks are considered to have /// high prior, e.g. their initilization is given more weight. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int LongTrackThreshold { get { if ((_hasBits0 & 512) != 0) { return longTrackThreshold_; } else { return LongTrackThresholdDefaultValue; } } set { _hasBits0 |= 512; longTrackThreshold_ = value; } } /// Gets whether the "long_track_threshold" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasLongTrackThreshold { get { return (_hasBits0 & 512) != 0; } } /// Clears the value of the "long_track_threshold" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearLongTrackThreshold() { _hasBits0 &= ~512; } /// Field number for the "long_track_confidence_fraction" field. public const int LongTrackConfidenceFractionFieldNumber = 11; private readonly static float LongTrackConfidenceFractionDefaultValue = 0.25F; private float longTrackConfidenceFraction_; /// /// Determines with fraction of long tracks is considered to be sufficient /// for highly confident bias seed. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float LongTrackConfidenceFraction { get { if ((_hasBits0 & 1024) != 0) { return longTrackConfidenceFraction_; } else { return LongTrackConfidenceFractionDefaultValue; } } set { _hasBits0 |= 1024; longTrackConfidenceFraction_ = value; } } /// Gets whether the "long_track_confidence_fraction" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasLongTrackConfidenceFraction { get { return (_hasBits0 & 1024) != 0; } } /// Clears the value of the "long_track_confidence_fraction" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearLongTrackConfidenceFraction() { _hasBits0 &= ~1024; } /// Field number for the "seed_priors_from_bias" field. public const int SeedPriorsFromBiasFieldNumber = 14; private readonly static bool SeedPriorsFromBiasDefaultValue = false; private bool seedPriorsFromBias_; /// /// If activated, uses the irls weights from the estimation of the lower /// degree of freedom model to seed the bias of the higher degree of freedom /// model. This improves rigidity of the computed motion. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool SeedPriorsFromBias { get { if ((_hasBits0 & 8192) != 0) { return seedPriorsFromBias_; } else { return SeedPriorsFromBiasDefaultValue; } } set { _hasBits0 |= 8192; seedPriorsFromBias_ = value; } } /// Gets whether the "seed_priors_from_bias" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasSeedPriorsFromBias { get { return (_hasBits0 & 8192) != 0; } } /// Clears the value of the "seed_priors_from_bias" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearSeedPriorsFromBias() { _hasBits0 &= ~8192; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { return Equals(other as LongFeatureBiasOptions); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool Equals(LongFeatureBiasOptions other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } if (TotalRounds != other.TotalRounds) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(InlierBias, other.InlierBias)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(OutlierBias, other.OutlierBias)) return false; if (NumIrlsObservations != other.NumIrlsObservations) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MaxIrlsChangeRatio, other.MaxIrlsChangeRatio)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(InlierIrlsWeight, other.InlierIrlsWeight)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(BiasStdev, other.BiasStdev)) return false; if (UseSpatialBias != other.UseSpatialBias) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(GridSize, other.GridSize)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(SpatialSigma, other.SpatialSigma)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(ColorSigma, other.ColorSigma)) return false; if (LongTrackThreshold != other.LongTrackThreshold) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(LongTrackConfidenceFraction, other.LongTrackConfidenceFraction)) return false; if (SeedPriorsFromBias != other.SeedPriorsFromBias) return false; return Equals(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; if (HasTotalRounds) hash ^= TotalRounds.GetHashCode(); if (HasInlierBias) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(InlierBias); if (HasOutlierBias) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(OutlierBias); if (HasNumIrlsObservations) hash ^= NumIrlsObservations.GetHashCode(); if (HasMaxIrlsChangeRatio) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MaxIrlsChangeRatio); if (HasInlierIrlsWeight) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(InlierIrlsWeight); if (HasBiasStdev) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(BiasStdev); if (HasUseSpatialBias) hash ^= UseSpatialBias.GetHashCode(); if (HasGridSize) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(GridSize); if (HasSpatialSigma) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(SpatialSigma); if (HasColorSigma) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(ColorSigma); if (HasLongTrackThreshold) hash ^= LongTrackThreshold.GetHashCode(); if (HasLongTrackConfidenceFraction) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(LongTrackConfidenceFraction); if (HasSeedPriorsFromBias) hash ^= SeedPriorsFromBias.GetHashCode(); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return hash; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override string ToString() { return pb::JsonFormatter.ToDiagnosticString(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else if (HasInlierBias) { output.WriteRawTag(13); output.WriteFloat(InlierBias); } if (HasOutlierBias) { output.WriteRawTag(21); output.WriteFloat(OutlierBias); } if (HasNumIrlsObservations) { output.WriteRawTag(24); output.WriteInt32(NumIrlsObservations); } if (HasMaxIrlsChangeRatio) { output.WriteRawTag(37); output.WriteFloat(MaxIrlsChangeRatio); } if (HasInlierIrlsWeight) { output.WriteRawTag(45); output.WriteFloat(InlierIrlsWeight); } if (HasUseSpatialBias) { output.WriteRawTag(48); output.WriteBool(UseSpatialBias); } if (HasGridSize) { output.WriteRawTag(61); output.WriteFloat(GridSize); } if (HasSpatialSigma) { output.WriteRawTag(69); output.WriteFloat(SpatialSigma); } if (HasColorSigma) { output.WriteRawTag(77); output.WriteFloat(ColorSigma); } if (HasLongTrackThreshold) { output.WriteRawTag(80); output.WriteInt32(LongTrackThreshold); } if (HasLongTrackConfidenceFraction) { output.WriteRawTag(93); output.WriteFloat(LongTrackConfidenceFraction); } if (HasBiasStdev) { output.WriteRawTag(101); output.WriteFloat(BiasStdev); } if (HasTotalRounds) { output.WriteRawTag(104); output.WriteInt32(TotalRounds); } if (HasSeedPriorsFromBias) { output.WriteRawTag(112); output.WriteBool(SeedPriorsFromBias); } if (_unknownFields != null) { _unknownFields.WriteTo(output); } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (HasInlierBias) { output.WriteRawTag(13); output.WriteFloat(InlierBias); } if (HasOutlierBias) { output.WriteRawTag(21); output.WriteFloat(OutlierBias); } if (HasNumIrlsObservations) { output.WriteRawTag(24); output.WriteInt32(NumIrlsObservations); } if (HasMaxIrlsChangeRatio) { output.WriteRawTag(37); output.WriteFloat(MaxIrlsChangeRatio); } if (HasInlierIrlsWeight) { output.WriteRawTag(45); output.WriteFloat(InlierIrlsWeight); } if (HasUseSpatialBias) { output.WriteRawTag(48); output.WriteBool(UseSpatialBias); } if (HasGridSize) { output.WriteRawTag(61); output.WriteFloat(GridSize); } if (HasSpatialSigma) { output.WriteRawTag(69); output.WriteFloat(SpatialSigma); } if (HasColorSigma) { output.WriteRawTag(77); output.WriteFloat(ColorSigma); } if (HasLongTrackThreshold) { output.WriteRawTag(80); output.WriteInt32(LongTrackThreshold); } if (HasLongTrackConfidenceFraction) { output.WriteRawTag(93); output.WriteFloat(LongTrackConfidenceFraction); } if (HasBiasStdev) { output.WriteRawTag(101); output.WriteFloat(BiasStdev); } if (HasTotalRounds) { output.WriteRawTag(104); output.WriteInt32(TotalRounds); } if (HasSeedPriorsFromBias) { output.WriteRawTag(112); output.WriteBool(SeedPriorsFromBias); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } } #endif [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; if (HasTotalRounds) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(TotalRounds); } if (HasInlierBias) { size += 1 + 4; } if (HasOutlierBias) { size += 1 + 4; } if (HasNumIrlsObservations) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumIrlsObservations); } if (HasMaxIrlsChangeRatio) { size += 1 + 4; } if (HasInlierIrlsWeight) { size += 1 + 4; } if (HasBiasStdev) { size += 1 + 4; } if (HasUseSpatialBias) { size += 1 + 1; } if (HasGridSize) { size += 1 + 4; } if (HasSpatialSigma) { size += 1 + 4; } if (HasColorSigma) { size += 1 + 4; } if (HasLongTrackThreshold) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(LongTrackThreshold); } if (HasLongTrackConfidenceFraction) { size += 1 + 4; } if (HasSeedPriorsFromBias) { size += 1 + 1; } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } return size; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(LongFeatureBiasOptions other) { if (other == null) { return; } if (other.HasTotalRounds) { TotalRounds = other.TotalRounds; } if (other.HasInlierBias) { InlierBias = other.InlierBias; } if (other.HasOutlierBias) { OutlierBias = other.OutlierBias; } if (other.HasNumIrlsObservations) { NumIrlsObservations = other.NumIrlsObservations; } if (other.HasMaxIrlsChangeRatio) { MaxIrlsChangeRatio = other.MaxIrlsChangeRatio; } if (other.HasInlierIrlsWeight) { InlierIrlsWeight = other.InlierIrlsWeight; } if (other.HasBiasStdev) { BiasStdev = other.BiasStdev; } if (other.HasUseSpatialBias) { UseSpatialBias = other.UseSpatialBias; } if (other.HasGridSize) { GridSize = other.GridSize; } if (other.HasSpatialSigma) { SpatialSigma = other.SpatialSigma; } if (other.HasColorSigma) { ColorSigma = other.ColorSigma; } if (other.HasLongTrackThreshold) { LongTrackThreshold = other.LongTrackThreshold; } if (other.HasLongTrackConfidenceFraction) { LongTrackConfidenceFraction = other.LongTrackConfidenceFraction; } if (other.HasSeedPriorsFromBias) { SeedPriorsFromBias = other.SeedPriorsFromBias; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(pb::CodedInputStream input) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE input.ReadRawMessage(this); #else uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 13: { InlierBias = input.ReadFloat(); break; } case 21: { OutlierBias = input.ReadFloat(); break; } case 24: { NumIrlsObservations = input.ReadInt32(); break; } case 37: { MaxIrlsChangeRatio = input.ReadFloat(); break; } case 45: { InlierIrlsWeight = input.ReadFloat(); break; } case 48: { UseSpatialBias = input.ReadBool(); break; } case 61: { GridSize = input.ReadFloat(); break; } case 69: { SpatialSigma = input.ReadFloat(); break; } case 77: { ColorSigma = input.ReadFloat(); break; } case 80: { LongTrackThreshold = input.ReadInt32(); break; } case 93: { LongTrackConfidenceFraction = input.ReadFloat(); break; } case 101: { BiasStdev = input.ReadFloat(); break; } case 104: { TotalRounds = input.ReadInt32(); break; } case 112: { SeedPriorsFromBias = input.ReadBool(); break; } } } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 13: { InlierBias = input.ReadFloat(); break; } case 21: { OutlierBias = input.ReadFloat(); break; } case 24: { NumIrlsObservations = input.ReadInt32(); break; } case 37: { MaxIrlsChangeRatio = input.ReadFloat(); break; } case 45: { InlierIrlsWeight = input.ReadFloat(); break; } case 48: { UseSpatialBias = input.ReadBool(); break; } case 61: { GridSize = input.ReadFloat(); break; } case 69: { SpatialSigma = input.ReadFloat(); break; } case 77: { ColorSigma = input.ReadFloat(); break; } case 80: { LongTrackThreshold = input.ReadInt32(); break; } case 93: { LongTrackConfidenceFraction = input.ReadFloat(); break; } case 101: { BiasStdev = input.ReadFloat(); break; } case 104: { TotalRounds = input.ReadInt32(); break; } case 112: { SeedPriorsFromBias = input.ReadBool(); break; } } } } #endif } /// /// If any parameter of the input flow or estimated translation exceeds these /// thresholds we deem the motion INVALID. /// public sealed partial class TranslationBounds : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new TranslationBounds()); private pb::UnknownFieldSet _unknownFields; private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { get { return global::Mediapipe.MotionEstimationOptions.Descriptor.NestedTypes[5]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] pbr::MessageDescriptor pb::IMessage.Descriptor { get { return Descriptor; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public TranslationBounds() { OnConstruction(); } partial void OnConstruction(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public TranslationBounds(TranslationBounds other) : this() { _hasBits0 = other._hasBits0; minFeatures_ = other.minFeatures_; fracMaxMotionMagnitude_ = other.fracMaxMotionMagnitude_; maxMotionStdevThreshold_ = other.maxMotionStdevThreshold_; maxMotionStdev_ = other.maxMotionStdev_; maxAcceleration_ = other.maxAcceleration_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public TranslationBounds Clone() { return new TranslationBounds(this); } /// Field number for the "min_features" field. public const int MinFeaturesFieldNumber = 1; private readonly static int MinFeaturesDefaultValue = 3; private int minFeatures_; /// /// Absolute minimum of features present. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int MinFeatures { get { if ((_hasBits0 & 1) != 0) { return minFeatures_; } else { return MinFeaturesDefaultValue; } } set { _hasBits0 |= 1; minFeatures_ = value; } } /// Gets whether the "min_features" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMinFeatures { get { return (_hasBits0 & 1) != 0; } } /// Clears the value of the "min_features" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMinFeatures() { _hasBits0 &= ~1; } /// Field number for the "frac_max_motion_magnitude" field. public const int FracMaxMotionMagnitudeFieldNumber = 2; private readonly static float FracMaxMotionMagnitudeDefaultValue = 0.15F; private float fracMaxMotionMagnitude_; /// /// Max magnitude of the translation expressed w.r.t. frame diameter /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float FracMaxMotionMagnitude { get { if ((_hasBits0 & 2) != 0) { return fracMaxMotionMagnitude_; } else { return FracMaxMotionMagnitudeDefaultValue; } } set { _hasBits0 |= 2; fracMaxMotionMagnitude_ = value; } } /// Gets whether the "frac_max_motion_magnitude" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasFracMaxMotionMagnitude { get { return (_hasBits0 & 2) != 0; } } /// Clears the value of the "frac_max_motion_magnitude" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearFracMaxMotionMagnitude() { _hasBits0 &= ~2; } /// Field number for the "max_motion_stdev_threshold" field. public const int MaxMotionStdevThresholdFieldNumber = 4; private readonly static float MaxMotionStdevThresholdDefaultValue = 0.01F; private float maxMotionStdevThreshold_; /// /// Motion magnitude is only tested for if standard deviation of estimated /// translation exceeds threshold. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float MaxMotionStdevThreshold { get { if ((_hasBits0 & 8) != 0) { return maxMotionStdevThreshold_; } else { return MaxMotionStdevThresholdDefaultValue; } } set { _hasBits0 |= 8; maxMotionStdevThreshold_ = value; } } /// Gets whether the "max_motion_stdev_threshold" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMaxMotionStdevThreshold { get { return (_hasBits0 & 8) != 0; } } /// Clears the value of the "max_motion_stdev_threshold" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMaxMotionStdevThreshold() { _hasBits0 &= ~8; } /// Field number for the "max_motion_stdev" field. public const int MaxMotionStdevFieldNumber = 3; private readonly static float MaxMotionStdevDefaultValue = 0.065F; private float maxMotionStdev_; /// /// Max standard deviation of the estimated translation (normalized to frame /// diameter). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float MaxMotionStdev { get { if ((_hasBits0 & 4) != 0) { return maxMotionStdev_; } else { return MaxMotionStdevDefaultValue; } } set { _hasBits0 |= 4; maxMotionStdev_ = value; } } /// Gets whether the "max_motion_stdev" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMaxMotionStdev { get { return (_hasBits0 & 4) != 0; } } /// Clears the value of the "max_motion_stdev" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMaxMotionStdev() { _hasBits0 &= ~4; } /// Field number for the "max_acceleration" field. public const int MaxAccelerationFieldNumber = 5; private readonly static float MaxAccelerationDefaultValue = 20F; private float maxAcceleration_; /// /// Maximum acceleration between frames. Specified relative to minimum /// velocity across two adjacent frames (absolute minimum of 0.001 is /// enforced, ~1 pix for 480p). /// If exceeded for one frame, the whole batch passed to /// EstimateMotionsParallel is labeled unstable. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float MaxAcceleration { get { if ((_hasBits0 & 16) != 0) { return maxAcceleration_; } else { return MaxAccelerationDefaultValue; } } set { _hasBits0 |= 16; maxAcceleration_ = value; } } /// Gets whether the "max_acceleration" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMaxAcceleration { get { return (_hasBits0 & 16) != 0; } } /// Clears the value of the "max_acceleration" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMaxAcceleration() { _hasBits0 &= ~16; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { return Equals(other as TranslationBounds); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool Equals(TranslationBounds other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } if (MinFeatures != other.MinFeatures) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(FracMaxMotionMagnitude, other.FracMaxMotionMagnitude)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MaxMotionStdevThreshold, other.MaxMotionStdevThreshold)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MaxMotionStdev, other.MaxMotionStdev)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MaxAcceleration, other.MaxAcceleration)) return false; return Equals(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; if (HasMinFeatures) hash ^= MinFeatures.GetHashCode(); if (HasFracMaxMotionMagnitude) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(FracMaxMotionMagnitude); if (HasMaxMotionStdevThreshold) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MaxMotionStdevThreshold); if (HasMaxMotionStdev) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MaxMotionStdev); if (HasMaxAcceleration) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MaxAcceleration); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return hash; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override string ToString() { return pb::JsonFormatter.ToDiagnosticString(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else if (HasMinFeatures) { output.WriteRawTag(8); output.WriteInt32(MinFeatures); } if (HasFracMaxMotionMagnitude) { output.WriteRawTag(21); output.WriteFloat(FracMaxMotionMagnitude); } if (HasMaxMotionStdev) { output.WriteRawTag(29); output.WriteFloat(MaxMotionStdev); } if (HasMaxMotionStdevThreshold) { output.WriteRawTag(37); output.WriteFloat(MaxMotionStdevThreshold); } if (HasMaxAcceleration) { output.WriteRawTag(45); output.WriteFloat(MaxAcceleration); } if (_unknownFields != null) { _unknownFields.WriteTo(output); } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (HasMinFeatures) { output.WriteRawTag(8); output.WriteInt32(MinFeatures); } if (HasFracMaxMotionMagnitude) { output.WriteRawTag(21); output.WriteFloat(FracMaxMotionMagnitude); } if (HasMaxMotionStdev) { output.WriteRawTag(29); output.WriteFloat(MaxMotionStdev); } if (HasMaxMotionStdevThreshold) { output.WriteRawTag(37); output.WriteFloat(MaxMotionStdevThreshold); } if (HasMaxAcceleration) { output.WriteRawTag(45); output.WriteFloat(MaxAcceleration); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } } #endif [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; if (HasMinFeatures) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(MinFeatures); } if (HasFracMaxMotionMagnitude) { size += 1 + 4; } if (HasMaxMotionStdevThreshold) { size += 1 + 4; } if (HasMaxMotionStdev) { size += 1 + 4; } if (HasMaxAcceleration) { size += 1 + 4; } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } return size; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(TranslationBounds other) { if (other == null) { return; } if (other.HasMinFeatures) { MinFeatures = other.MinFeatures; } if (other.HasFracMaxMotionMagnitude) { FracMaxMotionMagnitude = other.FracMaxMotionMagnitude; } if (other.HasMaxMotionStdevThreshold) { MaxMotionStdevThreshold = other.MaxMotionStdevThreshold; } if (other.HasMaxMotionStdev) { MaxMotionStdev = other.MaxMotionStdev; } if (other.HasMaxAcceleration) { MaxAcceleration = other.MaxAcceleration; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(pb::CodedInputStream input) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE input.ReadRawMessage(this); #else uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { MinFeatures = input.ReadInt32(); break; } case 21: { FracMaxMotionMagnitude = input.ReadFloat(); break; } case 29: { MaxMotionStdev = input.ReadFloat(); break; } case 37: { MaxMotionStdevThreshold = input.ReadFloat(); break; } case 45: { MaxAcceleration = input.ReadFloat(); break; } } } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { MinFeatures = input.ReadInt32(); break; } case 21: { FracMaxMotionMagnitude = input.ReadFloat(); break; } case 29: { MaxMotionStdev = input.ReadFloat(); break; } case 37: { MaxMotionStdevThreshold = input.ReadFloat(); break; } case 45: { MaxAcceleration = input.ReadFloat(); break; } } } } #endif } /// /// If any test/bound is violated, the motion is deemed UNSTABLE. /// public sealed partial class SimilarityBounds : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new SimilarityBounds()); private pb::UnknownFieldSet _unknownFields; private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { get { return global::Mediapipe.MotionEstimationOptions.Descriptor.NestedTypes[6]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] pbr::MessageDescriptor pb::IMessage.Descriptor { get { return Descriptor; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public SimilarityBounds() { OnConstruction(); } partial void OnConstruction(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public SimilarityBounds(SimilarityBounds other) : this() { _hasBits0 = other._hasBits0; onlyStableInput_ = other.onlyStableInput_; minInlierFraction_ = other.minInlierFraction_; minInliers_ = other.minInliers_; lowerScale_ = other.lowerScale_; upperScale_ = other.upperScale_; limitRotation_ = other.limitRotation_; inlierThreshold_ = other.inlierThreshold_; fracInlierThreshold_ = other.fracInlierThreshold_; strictInlierThreshold_ = other.strictInlierThreshold_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public SimilarityBounds Clone() { return new SimilarityBounds(this); } /// Field number for the "only_stable_input" field. public const int OnlyStableInputFieldNumber = 1; private readonly static bool OnlyStableInputDefaultValue = true; private bool onlyStableInput_; /// /// Input frame has to be labeled stable, i.e. enough features and coverage /// present. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool OnlyStableInput { get { if ((_hasBits0 & 1) != 0) { return onlyStableInput_; } else { return OnlyStableInputDefaultValue; } } set { _hasBits0 |= 1; onlyStableInput_ = value; } } /// Gets whether the "only_stable_input" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasOnlyStableInput { get { return (_hasBits0 & 1) != 0; } } /// Clears the value of the "only_stable_input" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearOnlyStableInput() { _hasBits0 &= ~1; } /// Field number for the "min_inlier_fraction" field. public const int MinInlierFractionFieldNumber = 2; private readonly static float MinInlierFractionDefaultValue = 0.2F; private float minInlierFraction_; /// /// Minimum number of inlier features (absolute and as fraction of total /// number of features). /// TODO: Dataset run setting this to 0.15 /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float MinInlierFraction { get { if ((_hasBits0 & 2) != 0) { return minInlierFraction_; } else { return MinInlierFractionDefaultValue; } } set { _hasBits0 |= 2; minInlierFraction_ = value; } } /// Gets whether the "min_inlier_fraction" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMinInlierFraction { get { return (_hasBits0 & 2) != 0; } } /// Clears the value of the "min_inlier_fraction" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMinInlierFraction() { _hasBits0 &= ~2; } /// Field number for the "min_inliers" field. public const int MinInliersFieldNumber = 3; private readonly static float MinInliersDefaultValue = 30F; private float minInliers_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float MinInliers { get { if ((_hasBits0 & 4) != 0) { return minInliers_; } else { return MinInliersDefaultValue; } } set { _hasBits0 |= 4; minInliers_ = value; } } /// Gets whether the "min_inliers" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMinInliers { get { return (_hasBits0 & 4) != 0; } } /// Clears the value of the "min_inliers" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMinInliers() { _hasBits0 &= ~4; } /// Field number for the "lower_scale" field. public const int LowerScaleFieldNumber = 4; private readonly static float LowerScaleDefaultValue = 0.8F; private float lowerScale_; /// /// Bounds on valid similarities. We use larger values compared to /// homographies. Note: Bounds are necessary, to guarantee invertability /// of the resulting similarity. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float LowerScale { get { if ((_hasBits0 & 8) != 0) { return lowerScale_; } else { return LowerScaleDefaultValue; } } set { _hasBits0 |= 8; lowerScale_ = value; } } /// Gets whether the "lower_scale" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasLowerScale { get { return (_hasBits0 & 8) != 0; } } /// Clears the value of the "lower_scale" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearLowerScale() { _hasBits0 &= ~8; } /// Field number for the "upper_scale" field. public const int UpperScaleFieldNumber = 5; private readonly static float UpperScaleDefaultValue = 1.25F; private float upperScale_; /// /// 1 / 0.8. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float UpperScale { get { if ((_hasBits0 & 16) != 0) { return upperScale_; } else { return UpperScaleDefaultValue; } } set { _hasBits0 |= 16; upperScale_ = value; } } /// Gets whether the "upper_scale" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasUpperScale { get { return (_hasBits0 & 16) != 0; } } /// Clears the value of the "upper_scale" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearUpperScale() { _hasBits0 &= ~16; } /// Field number for the "limit_rotation" field. public const int LimitRotationFieldNumber = 6; private readonly static float LimitRotationDefaultValue = 0.25F; private float limitRotation_; /// /// 15 degrees. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float LimitRotation { get { if ((_hasBits0 & 32) != 0) { return limitRotation_; } else { return LimitRotationDefaultValue; } } set { _hasBits0 |= 32; limitRotation_ = value; } } /// Gets whether the "limit_rotation" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasLimitRotation { get { return (_hasBits0 & 32) != 0; } } /// Clears the value of the "limit_rotation" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearLimitRotation() { _hasBits0 &= ~32; } /// Field number for the "inlier_threshold" field. public const int InlierThresholdFieldNumber = 7; private readonly static float InlierThresholdDefaultValue = 4F; private float inlierThreshold_; /// /// Thresholds for a feature to be considered inlier w.r.t similarity /// transform, expressed in terms of pixel residual error. Max of absolute /// and fractional thresholds is used. /// Ratio of inliers that pass regular and strict thresholds are storred in /// CameraMotion. /// /// TODO: Just use lin_sim_inlier_threshold directly, however that /// recomputes the error, and requires regression testing. Using an extra /// fractional inlier threshold for now. /// /// Absolute in pixels. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float InlierThreshold { get { if ((_hasBits0 & 64) != 0) { return inlierThreshold_; } else { return InlierThresholdDefaultValue; } } set { _hasBits0 |= 64; inlierThreshold_ = value; } } /// Gets whether the "inlier_threshold" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasInlierThreshold { get { return (_hasBits0 & 64) != 0; } } /// Clears the value of the "inlier_threshold" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearInlierThreshold() { _hasBits0 &= ~64; } /// Field number for the "frac_inlier_threshold" field. public const int FracInlierThresholdFieldNumber = 8; private readonly static float FracInlierThresholdDefaultValue = 0F; private float fracInlierThreshold_; /// /// Scaled by frame diameter. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float FracInlierThreshold { get { if ((_hasBits0 & 128) != 0) { return fracInlierThreshold_; } else { return FracInlierThresholdDefaultValue; } } set { _hasBits0 |= 128; fracInlierThreshold_ = value; } } /// Gets whether the "frac_inlier_threshold" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasFracInlierThreshold { get { return (_hasBits0 & 128) != 0; } } /// Clears the value of the "frac_inlier_threshold" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearFracInlierThreshold() { _hasBits0 &= ~128; } /// Field number for the "strict_inlier_threshold" field. public const int StrictInlierThresholdFieldNumber = 9; private readonly static float StrictInlierThresholdDefaultValue = 0.5F; private float strictInlierThreshold_; /// /// TODO: Revisit after frame selection change. /// Absolute in pixels. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float StrictInlierThreshold { get { if ((_hasBits0 & 256) != 0) { return strictInlierThreshold_; } else { return StrictInlierThresholdDefaultValue; } } set { _hasBits0 |= 256; strictInlierThreshold_ = value; } } /// Gets whether the "strict_inlier_threshold" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasStrictInlierThreshold { get { return (_hasBits0 & 256) != 0; } } /// Clears the value of the "strict_inlier_threshold" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearStrictInlierThreshold() { _hasBits0 &= ~256; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { return Equals(other as SimilarityBounds); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool Equals(SimilarityBounds other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } if (OnlyStableInput != other.OnlyStableInput) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MinInlierFraction, other.MinInlierFraction)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MinInliers, other.MinInliers)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(LowerScale, other.LowerScale)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(UpperScale, other.UpperScale)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(LimitRotation, other.LimitRotation)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(InlierThreshold, other.InlierThreshold)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(FracInlierThreshold, other.FracInlierThreshold)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(StrictInlierThreshold, other.StrictInlierThreshold)) return false; return Equals(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; if (HasOnlyStableInput) hash ^= OnlyStableInput.GetHashCode(); if (HasMinInlierFraction) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MinInlierFraction); if (HasMinInliers) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MinInliers); if (HasLowerScale) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(LowerScale); if (HasUpperScale) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(UpperScale); if (HasLimitRotation) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(LimitRotation); if (HasInlierThreshold) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(InlierThreshold); if (HasFracInlierThreshold) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(FracInlierThreshold); if (HasStrictInlierThreshold) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(StrictInlierThreshold); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return hash; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override string ToString() { return pb::JsonFormatter.ToDiagnosticString(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else if (HasOnlyStableInput) { output.WriteRawTag(8); output.WriteBool(OnlyStableInput); } if (HasMinInlierFraction) { output.WriteRawTag(21); output.WriteFloat(MinInlierFraction); } if (HasMinInliers) { output.WriteRawTag(29); output.WriteFloat(MinInliers); } if (HasLowerScale) { output.WriteRawTag(37); output.WriteFloat(LowerScale); } if (HasUpperScale) { output.WriteRawTag(45); output.WriteFloat(UpperScale); } if (HasLimitRotation) { output.WriteRawTag(53); output.WriteFloat(LimitRotation); } if (HasInlierThreshold) { output.WriteRawTag(61); output.WriteFloat(InlierThreshold); } if (HasFracInlierThreshold) { output.WriteRawTag(69); output.WriteFloat(FracInlierThreshold); } if (HasStrictInlierThreshold) { output.WriteRawTag(77); output.WriteFloat(StrictInlierThreshold); } if (_unknownFields != null) { _unknownFields.WriteTo(output); } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (HasOnlyStableInput) { output.WriteRawTag(8); output.WriteBool(OnlyStableInput); } if (HasMinInlierFraction) { output.WriteRawTag(21); output.WriteFloat(MinInlierFraction); } if (HasMinInliers) { output.WriteRawTag(29); output.WriteFloat(MinInliers); } if (HasLowerScale) { output.WriteRawTag(37); output.WriteFloat(LowerScale); } if (HasUpperScale) { output.WriteRawTag(45); output.WriteFloat(UpperScale); } if (HasLimitRotation) { output.WriteRawTag(53); output.WriteFloat(LimitRotation); } if (HasInlierThreshold) { output.WriteRawTag(61); output.WriteFloat(InlierThreshold); } if (HasFracInlierThreshold) { output.WriteRawTag(69); output.WriteFloat(FracInlierThreshold); } if (HasStrictInlierThreshold) { output.WriteRawTag(77); output.WriteFloat(StrictInlierThreshold); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } } #endif [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; if (HasOnlyStableInput) { size += 1 + 1; } if (HasMinInlierFraction) { size += 1 + 4; } if (HasMinInliers) { size += 1 + 4; } if (HasLowerScale) { size += 1 + 4; } if (HasUpperScale) { size += 1 + 4; } if (HasLimitRotation) { size += 1 + 4; } if (HasInlierThreshold) { size += 1 + 4; } if (HasFracInlierThreshold) { size += 1 + 4; } if (HasStrictInlierThreshold) { size += 1 + 4; } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } return size; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(SimilarityBounds other) { if (other == null) { return; } if (other.HasOnlyStableInput) { OnlyStableInput = other.OnlyStableInput; } if (other.HasMinInlierFraction) { MinInlierFraction = other.MinInlierFraction; } if (other.HasMinInliers) { MinInliers = other.MinInliers; } if (other.HasLowerScale) { LowerScale = other.LowerScale; } if (other.HasUpperScale) { UpperScale = other.UpperScale; } if (other.HasLimitRotation) { LimitRotation = other.LimitRotation; } if (other.HasInlierThreshold) { InlierThreshold = other.InlierThreshold; } if (other.HasFracInlierThreshold) { FracInlierThreshold = other.FracInlierThreshold; } if (other.HasStrictInlierThreshold) { StrictInlierThreshold = other.StrictInlierThreshold; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(pb::CodedInputStream input) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE input.ReadRawMessage(this); #else uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { OnlyStableInput = input.ReadBool(); break; } case 21: { MinInlierFraction = input.ReadFloat(); break; } case 29: { MinInliers = input.ReadFloat(); break; } case 37: { LowerScale = input.ReadFloat(); break; } case 45: { UpperScale = input.ReadFloat(); break; } case 53: { LimitRotation = input.ReadFloat(); break; } case 61: { InlierThreshold = input.ReadFloat(); break; } case 69: { FracInlierThreshold = input.ReadFloat(); break; } case 77: { StrictInlierThreshold = input.ReadFloat(); break; } } } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { OnlyStableInput = input.ReadBool(); break; } case 21: { MinInlierFraction = input.ReadFloat(); break; } case 29: { MinInliers = input.ReadFloat(); break; } case 37: { LowerScale = input.ReadFloat(); break; } case 45: { UpperScale = input.ReadFloat(); break; } case 53: { LimitRotation = input.ReadFloat(); break; } case 61: { InlierThreshold = input.ReadFloat(); break; } case 69: { FracInlierThreshold = input.ReadFloat(); break; } case 77: { StrictInlierThreshold = input.ReadFloat(); break; } } } } #endif } /// /// If any parameter of the estimated homography exceeds these bounds, /// we deem it UNSTABLE_SIM and use estimated similarity instead. /// public sealed partial class HomographyBounds : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new HomographyBounds()); private pb::UnknownFieldSet _unknownFields; private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { get { return global::Mediapipe.MotionEstimationOptions.Descriptor.NestedTypes[7]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] pbr::MessageDescriptor pb::IMessage.Descriptor { get { return Descriptor; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public HomographyBounds() { OnConstruction(); } partial void OnConstruction(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public HomographyBounds(HomographyBounds other) : this() { _hasBits0 = other._hasBits0; lowerScale_ = other.lowerScale_; upperScale_ = other.upperScale_; limitRotation_ = other.limitRotation_; limitPerspective_ = other.limitPerspective_; registrationThreshold_ = other.registrationThreshold_; fracRegistrationThreshold_ = other.fracRegistrationThreshold_; minInlierCoverage_ = other.minInlierCoverage_; fracInlierThreshold_ = other.fracInlierThreshold_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public HomographyBounds Clone() { return new HomographyBounds(this); } /// Field number for the "lower_scale" field. public const int LowerScaleFieldNumber = 1; private readonly static float LowerScaleDefaultValue = 0.8F; private float lowerScale_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float LowerScale { get { if ((_hasBits0 & 1) != 0) { return lowerScale_; } else { return LowerScaleDefaultValue; } } set { _hasBits0 |= 1; lowerScale_ = value; } } /// Gets whether the "lower_scale" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasLowerScale { get { return (_hasBits0 & 1) != 0; } } /// Clears the value of the "lower_scale" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearLowerScale() { _hasBits0 &= ~1; } /// Field number for the "upper_scale" field. public const int UpperScaleFieldNumber = 2; private readonly static float UpperScaleDefaultValue = 1.25F; private float upperScale_; /// /// 1 / 0.8. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float UpperScale { get { if ((_hasBits0 & 2) != 0) { return upperScale_; } else { return UpperScaleDefaultValue; } } set { _hasBits0 |= 2; upperScale_ = value; } } /// Gets whether the "upper_scale" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasUpperScale { get { return (_hasBits0 & 2) != 0; } } /// Clears the value of the "upper_scale" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearUpperScale() { _hasBits0 &= ~2; } /// Field number for the "limit_rotation" field. public const int LimitRotationFieldNumber = 3; private readonly static float LimitRotationDefaultValue = 0.25F; private float limitRotation_; /// /// 15 degrees. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float LimitRotation { get { if ((_hasBits0 & 4) != 0) { return limitRotation_; } else { return LimitRotationDefaultValue; } } set { _hasBits0 |= 4; limitRotation_ = value; } } /// Gets whether the "limit_rotation" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasLimitRotation { get { return (_hasBits0 & 4) != 0; } } /// Clears the value of the "limit_rotation" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearLimitRotation() { _hasBits0 &= ~4; } /// Field number for the "limit_perspective" field. public const int LimitPerspectiveFieldNumber = 4; private readonly static float LimitPerspectiveDefaultValue = 0.0004F; private float limitPerspective_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float LimitPerspective { get { if ((_hasBits0 & 8) != 0) { return limitPerspective_; } else { return LimitPerspectiveDefaultValue; } } set { _hasBits0 |= 8; limitPerspective_ = value; } } /// Gets whether the "limit_perspective" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasLimitPerspective { get { return (_hasBits0 & 8) != 0; } } /// Clears the value of the "limit_perspective" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearLimitPerspective() { _hasBits0 &= ~8; } /// Field number for the "registration_threshold" field. public const int RegistrationThresholdFieldNumber = 5; private readonly static float RegistrationThresholdDefaultValue = 0.1F; private float registrationThreshold_; /// /// Inlier coverage is only tested for if average homography error exceeds /// registration_thresholds. Max of the following two thresholds is used. /// /// Absolute in pixels. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float RegistrationThreshold { get { if ((_hasBits0 & 16) != 0) { return registrationThreshold_; } else { return RegistrationThresholdDefaultValue; } } set { _hasBits0 |= 16; registrationThreshold_ = value; } } /// Gets whether the "registration_threshold" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasRegistrationThreshold { get { return (_hasBits0 & 16) != 0; } } /// Clears the value of the "registration_threshold" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearRegistrationThreshold() { _hasBits0 &= ~16; } /// Field number for the "frac_registration_threshold" field. public const int FracRegistrationThresholdFieldNumber = 8; private readonly static float FracRegistrationThresholdDefaultValue = 0F; private float fracRegistrationThreshold_; /// /// Scaled by frame diameter. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float FracRegistrationThreshold { get { if ((_hasBits0 & 128) != 0) { return fracRegistrationThreshold_; } else { return FracRegistrationThresholdDefaultValue; } } set { _hasBits0 |= 128; fracRegistrationThreshold_ = value; } } /// Gets whether the "frac_registration_threshold" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasFracRegistrationThreshold { get { return (_hasBits0 & 128) != 0; } } /// Clears the value of the "frac_registration_threshold" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearFracRegistrationThreshold() { _hasBits0 &= ~128; } /// Field number for the "min_inlier_coverage" field. public const int MinInlierCoverageFieldNumber = 6; private readonly static float MinInlierCoverageDefaultValue = 0.3F; private float minInlierCoverage_; /// /// Minimum fraction of inlier features w.r.t. frame area. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float MinInlierCoverage { get { if ((_hasBits0 & 32) != 0) { return minInlierCoverage_; } else { return MinInlierCoverageDefaultValue; } } set { _hasBits0 |= 32; minInlierCoverage_ = value; } } /// Gets whether the "min_inlier_coverage" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMinInlierCoverage { get { return (_hasBits0 & 32) != 0; } } /// Clears the value of the "min_inlier_coverage" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMinInlierCoverage() { _hasBits0 &= ~32; } /// Field number for the "frac_inlier_threshold" field. public const int FracInlierThresholdFieldNumber = 7; private readonly static float FracInlierThresholdDefaultValue = 0.002F; private float fracInlierThreshold_; /// /// Grid coverage inlier threshold. Pixel errors below this /// threshold are considered inliers. Defined w.r.t. frame diameter, approx. /// 1.5 for 16:9 SD video (480p), i.e. threshold is multiplied by frame /// diameter. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float FracInlierThreshold { get { if ((_hasBits0 & 64) != 0) { return fracInlierThreshold_; } else { return FracInlierThresholdDefaultValue; } } set { _hasBits0 |= 64; fracInlierThreshold_ = value; } } /// Gets whether the "frac_inlier_threshold" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasFracInlierThreshold { get { return (_hasBits0 & 64) != 0; } } /// Clears the value of the "frac_inlier_threshold" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearFracInlierThreshold() { _hasBits0 &= ~64; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { return Equals(other as HomographyBounds); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool Equals(HomographyBounds other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(LowerScale, other.LowerScale)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(UpperScale, other.UpperScale)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(LimitRotation, other.LimitRotation)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(LimitPerspective, other.LimitPerspective)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(RegistrationThreshold, other.RegistrationThreshold)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(FracRegistrationThreshold, other.FracRegistrationThreshold)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MinInlierCoverage, other.MinInlierCoverage)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(FracInlierThreshold, other.FracInlierThreshold)) return false; return Equals(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; if (HasLowerScale) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(LowerScale); if (HasUpperScale) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(UpperScale); if (HasLimitRotation) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(LimitRotation); if (HasLimitPerspective) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(LimitPerspective); if (HasRegistrationThreshold) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(RegistrationThreshold); if (HasFracRegistrationThreshold) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(FracRegistrationThreshold); if (HasMinInlierCoverage) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MinInlierCoverage); if (HasFracInlierThreshold) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(FracInlierThreshold); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return hash; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override string ToString() { return pb::JsonFormatter.ToDiagnosticString(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else if (HasLowerScale) { output.WriteRawTag(13); output.WriteFloat(LowerScale); } if (HasUpperScale) { output.WriteRawTag(21); output.WriteFloat(UpperScale); } if (HasLimitRotation) { output.WriteRawTag(29); output.WriteFloat(LimitRotation); } if (HasLimitPerspective) { output.WriteRawTag(37); output.WriteFloat(LimitPerspective); } if (HasRegistrationThreshold) { output.WriteRawTag(45); output.WriteFloat(RegistrationThreshold); } if (HasMinInlierCoverage) { output.WriteRawTag(53); output.WriteFloat(MinInlierCoverage); } if (HasFracInlierThreshold) { output.WriteRawTag(61); output.WriteFloat(FracInlierThreshold); } if (HasFracRegistrationThreshold) { output.WriteRawTag(69); output.WriteFloat(FracRegistrationThreshold); } if (_unknownFields != null) { _unknownFields.WriteTo(output); } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (HasLowerScale) { output.WriteRawTag(13); output.WriteFloat(LowerScale); } if (HasUpperScale) { output.WriteRawTag(21); output.WriteFloat(UpperScale); } if (HasLimitRotation) { output.WriteRawTag(29); output.WriteFloat(LimitRotation); } if (HasLimitPerspective) { output.WriteRawTag(37); output.WriteFloat(LimitPerspective); } if (HasRegistrationThreshold) { output.WriteRawTag(45); output.WriteFloat(RegistrationThreshold); } if (HasMinInlierCoverage) { output.WriteRawTag(53); output.WriteFloat(MinInlierCoverage); } if (HasFracInlierThreshold) { output.WriteRawTag(61); output.WriteFloat(FracInlierThreshold); } if (HasFracRegistrationThreshold) { output.WriteRawTag(69); output.WriteFloat(FracRegistrationThreshold); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } } #endif [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; if (HasLowerScale) { size += 1 + 4; } if (HasUpperScale) { size += 1 + 4; } if (HasLimitRotation) { size += 1 + 4; } if (HasLimitPerspective) { size += 1 + 4; } if (HasRegistrationThreshold) { size += 1 + 4; } if (HasFracRegistrationThreshold) { size += 1 + 4; } if (HasMinInlierCoverage) { size += 1 + 4; } if (HasFracInlierThreshold) { size += 1 + 4; } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } return size; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(HomographyBounds other) { if (other == null) { return; } if (other.HasLowerScale) { LowerScale = other.LowerScale; } if (other.HasUpperScale) { UpperScale = other.UpperScale; } if (other.HasLimitRotation) { LimitRotation = other.LimitRotation; } if (other.HasLimitPerspective) { LimitPerspective = other.LimitPerspective; } if (other.HasRegistrationThreshold) { RegistrationThreshold = other.RegistrationThreshold; } if (other.HasFracRegistrationThreshold) { FracRegistrationThreshold = other.FracRegistrationThreshold; } if (other.HasMinInlierCoverage) { MinInlierCoverage = other.MinInlierCoverage; } if (other.HasFracInlierThreshold) { FracInlierThreshold = other.FracInlierThreshold; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(pb::CodedInputStream input) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE input.ReadRawMessage(this); #else uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 13: { LowerScale = input.ReadFloat(); break; } case 21: { UpperScale = input.ReadFloat(); break; } case 29: { LimitRotation = input.ReadFloat(); break; } case 37: { LimitPerspective = input.ReadFloat(); break; } case 45: { RegistrationThreshold = input.ReadFloat(); break; } case 53: { MinInlierCoverage = input.ReadFloat(); break; } case 61: { FracInlierThreshold = input.ReadFloat(); break; } case 69: { FracRegistrationThreshold = input.ReadFloat(); break; } } } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 13: { LowerScale = input.ReadFloat(); break; } case 21: { UpperScale = input.ReadFloat(); break; } case 29: { LimitRotation = input.ReadFloat(); break; } case 37: { LimitPerspective = input.ReadFloat(); break; } case 45: { RegistrationThreshold = input.ReadFloat(); break; } case 53: { MinInlierCoverage = input.ReadFloat(); break; } case 61: { FracInlierThreshold = input.ReadFloat(); break; } case 69: { FracRegistrationThreshold = input.ReadFloat(); break; } } } } #endif } /// /// If any parameter of the estimated homography mixture exceeds these bounds, /// we deem it UNSTABLE_HOMOG and use the estimated homography instead. /// public sealed partial class MixtureHomographyBounds : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new MixtureHomographyBounds()); private pb::UnknownFieldSet _unknownFields; private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { get { return global::Mediapipe.MotionEstimationOptions.Descriptor.NestedTypes[8]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] pbr::MessageDescriptor pb::IMessage.Descriptor { get { return Descriptor; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public MixtureHomographyBounds() { OnConstruction(); } partial void OnConstruction(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public MixtureHomographyBounds(MixtureHomographyBounds other) : this() { _hasBits0 = other._hasBits0; minInlierCoverage_ = other.minInlierCoverage_; maxAdjacentOutlierBlocks_ = other.maxAdjacentOutlierBlocks_; maxAdjacentEmptyBlocks_ = other.maxAdjacentEmptyBlocks_; fracInlierThreshold_ = other.fracInlierThreshold_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public MixtureHomographyBounds Clone() { return new MixtureHomographyBounds(this); } /// Field number for the "min_inlier_coverage" field. public const int MinInlierCoverageFieldNumber = 1; private readonly static float MinInlierCoverageDefaultValue = 0.4F; private float minInlierCoverage_; /// /// Minimum fraction of inlier features w.r.t. block area. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float MinInlierCoverage { get { if ((_hasBits0 & 1) != 0) { return minInlierCoverage_; } else { return MinInlierCoverageDefaultValue; } } set { _hasBits0 |= 1; minInlierCoverage_ = value; } } /// Gets whether the "min_inlier_coverage" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMinInlierCoverage { get { return (_hasBits0 & 1) != 0; } } /// Clears the value of the "min_inlier_coverage" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMinInlierCoverage() { _hasBits0 &= ~1; } /// Field number for the "max_adjacent_outlier_blocks" field. public const int MaxAdjacentOutlierBlocksFieldNumber = 2; private readonly static int MaxAdjacentOutlierBlocksDefaultValue = 5; private int maxAdjacentOutlierBlocks_; /// /// Each block is tested to be stable, regarding the outliers. /// A frame is labeled unstable, if more or equal than the specified adjacent /// blocks are labeled outliers. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int MaxAdjacentOutlierBlocks { get { if ((_hasBits0 & 2) != 0) { return maxAdjacentOutlierBlocks_; } else { return MaxAdjacentOutlierBlocksDefaultValue; } } set { _hasBits0 |= 2; maxAdjacentOutlierBlocks_ = value; } } /// Gets whether the "max_adjacent_outlier_blocks" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMaxAdjacentOutlierBlocks { get { return (_hasBits0 & 2) != 0; } } /// Clears the value of the "max_adjacent_outlier_blocks" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMaxAdjacentOutlierBlocks() { _hasBits0 &= ~2; } /// Field number for the "max_adjacent_empty_blocks" field. public const int MaxAdjacentEmptyBlocksFieldNumber = 3; private readonly static int MaxAdjacentEmptyBlocksDefaultValue = 3; private int maxAdjacentEmptyBlocks_; /// /// Maximum number of adjacent empty blocks (no inliers). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int MaxAdjacentEmptyBlocks { get { if ((_hasBits0 & 4) != 0) { return maxAdjacentEmptyBlocks_; } else { return MaxAdjacentEmptyBlocksDefaultValue; } } set { _hasBits0 |= 4; maxAdjacentEmptyBlocks_ = value; } } /// Gets whether the "max_adjacent_empty_blocks" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMaxAdjacentEmptyBlocks { get { return (_hasBits0 & 4) != 0; } } /// Clears the value of the "max_adjacent_empty_blocks" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMaxAdjacentEmptyBlocks() { _hasBits0 &= ~4; } /// Field number for the "frac_inlier_threshold" field. public const int FracInlierThresholdFieldNumber = 7; private readonly static float FracInlierThresholdDefaultValue = 0.0025F; private float fracInlierThreshold_; /// /// Grid coverage threshold inlier threshold. See identical parameter in /// HomographyBounds. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float FracInlierThreshold { get { if ((_hasBits0 & 8) != 0) { return fracInlierThreshold_; } else { return FracInlierThresholdDefaultValue; } } set { _hasBits0 |= 8; fracInlierThreshold_ = value; } } /// Gets whether the "frac_inlier_threshold" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasFracInlierThreshold { get { return (_hasBits0 & 8) != 0; } } /// Clears the value of the "frac_inlier_threshold" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearFracInlierThreshold() { _hasBits0 &= ~8; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { return Equals(other as MixtureHomographyBounds); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool Equals(MixtureHomographyBounds other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MinInlierCoverage, other.MinInlierCoverage)) return false; if (MaxAdjacentOutlierBlocks != other.MaxAdjacentOutlierBlocks) return false; if (MaxAdjacentEmptyBlocks != other.MaxAdjacentEmptyBlocks) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(FracInlierThreshold, other.FracInlierThreshold)) return false; return Equals(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; if (HasMinInlierCoverage) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MinInlierCoverage); if (HasMaxAdjacentOutlierBlocks) hash ^= MaxAdjacentOutlierBlocks.GetHashCode(); if (HasMaxAdjacentEmptyBlocks) hash ^= MaxAdjacentEmptyBlocks.GetHashCode(); if (HasFracInlierThreshold) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(FracInlierThreshold); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return hash; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override string ToString() { return pb::JsonFormatter.ToDiagnosticString(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else if (HasMinInlierCoverage) { output.WriteRawTag(13); output.WriteFloat(MinInlierCoverage); } if (HasMaxAdjacentOutlierBlocks) { output.WriteRawTag(16); output.WriteInt32(MaxAdjacentOutlierBlocks); } if (HasMaxAdjacentEmptyBlocks) { output.WriteRawTag(24); output.WriteInt32(MaxAdjacentEmptyBlocks); } if (HasFracInlierThreshold) { output.WriteRawTag(61); output.WriteFloat(FracInlierThreshold); } if (_unknownFields != null) { _unknownFields.WriteTo(output); } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (HasMinInlierCoverage) { output.WriteRawTag(13); output.WriteFloat(MinInlierCoverage); } if (HasMaxAdjacentOutlierBlocks) { output.WriteRawTag(16); output.WriteInt32(MaxAdjacentOutlierBlocks); } if (HasMaxAdjacentEmptyBlocks) { output.WriteRawTag(24); output.WriteInt32(MaxAdjacentEmptyBlocks); } if (HasFracInlierThreshold) { output.WriteRawTag(61); output.WriteFloat(FracInlierThreshold); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } } #endif [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; if (HasMinInlierCoverage) { size += 1 + 4; } if (HasMaxAdjacentOutlierBlocks) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxAdjacentOutlierBlocks); } if (HasMaxAdjacentEmptyBlocks) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxAdjacentEmptyBlocks); } if (HasFracInlierThreshold) { size += 1 + 4; } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } return size; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(MixtureHomographyBounds other) { if (other == null) { return; } if (other.HasMinInlierCoverage) { MinInlierCoverage = other.MinInlierCoverage; } if (other.HasMaxAdjacentOutlierBlocks) { MaxAdjacentOutlierBlocks = other.MaxAdjacentOutlierBlocks; } if (other.HasMaxAdjacentEmptyBlocks) { MaxAdjacentEmptyBlocks = other.MaxAdjacentEmptyBlocks; } if (other.HasFracInlierThreshold) { FracInlierThreshold = other.FracInlierThreshold; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(pb::CodedInputStream input) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE input.ReadRawMessage(this); #else uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 13: { MinInlierCoverage = input.ReadFloat(); break; } case 16: { MaxAdjacentOutlierBlocks = input.ReadInt32(); break; } case 24: { MaxAdjacentEmptyBlocks = input.ReadInt32(); break; } case 61: { FracInlierThreshold = input.ReadFloat(); break; } } } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 13: { MinInlierCoverage = input.ReadFloat(); break; } case 16: { MaxAdjacentOutlierBlocks = input.ReadInt32(); break; } case 24: { MaxAdjacentEmptyBlocks = input.ReadInt32(); break; } case 61: { FracInlierThreshold = input.ReadFloat(); break; } } } } #endif } public sealed partial class OverlayDetectionOptions : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new OverlayDetectionOptions()); private pb::UnknownFieldSet _unknownFields; private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { get { return global::Mediapipe.MotionEstimationOptions.Descriptor.NestedTypes[9]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] pbr::MessageDescriptor pb::IMessage.Descriptor { get { return Descriptor; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public OverlayDetectionOptions() { OnConstruction(); } partial void OnConstruction(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public OverlayDetectionOptions(OverlayDetectionOptions other) : this() { _hasBits0 = other._hasBits0; analysisMaskSize_ = other.analysisMaskSize_; strictNearZeroMotion_ = other.strictNearZeroMotion_; strictMaxTranslationRatio_ = other.strictMaxTranslationRatio_; strictMinTexturedness_ = other.strictMinTexturedness_; looseNearZeroMotion_ = other.looseNearZeroMotion_; overlayMinRatio_ = other.overlayMinRatio_; overlayMinFeatures_ = other.overlayMinFeatures_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public OverlayDetectionOptions Clone() { return new OverlayDetectionOptions(this); } /// Field number for the "analysis_mask_size" field. public const int AnalysisMaskSizeFieldNumber = 1; private readonly static int AnalysisMaskSizeDefaultValue = 10; private int analysisMaskSize_; /// /// Potential overlay features are aggregated over a mask with cells /// mask_size x mask_size as specified below. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int AnalysisMaskSize { get { if ((_hasBits0 & 1) != 0) { return analysisMaskSize_; } else { return AnalysisMaskSizeDefaultValue; } } set { _hasBits0 |= 1; analysisMaskSize_ = value; } } /// Gets whether the "analysis_mask_size" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasAnalysisMaskSize { get { return (_hasBits0 & 1) != 0; } } /// Clears the value of the "analysis_mask_size" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearAnalysisMaskSize() { _hasBits0 &= ~1; } /// Field number for the "strict_near_zero_motion" field. public const int StrictNearZeroMotionFieldNumber = 2; private readonly static float StrictNearZeroMotionDefaultValue = 0.2F; private float strictNearZeroMotion_; /// /// A feature is a strict overlay feature if its motion is less than /// near_zero_motion and AND less than max_translation_ratio times the /// estimated translation magnitude at that frame AND is texturedness is /// sufficiently high. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float StrictNearZeroMotion { get { if ((_hasBits0 & 2) != 0) { return strictNearZeroMotion_; } else { return StrictNearZeroMotionDefaultValue; } } set { _hasBits0 |= 2; strictNearZeroMotion_ = value; } } /// Gets whether the "strict_near_zero_motion" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasStrictNearZeroMotion { get { return (_hasBits0 & 2) != 0; } } /// Clears the value of the "strict_near_zero_motion" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearStrictNearZeroMotion() { _hasBits0 &= ~2; } /// Field number for the "strict_max_translation_ratio" field. public const int StrictMaxTranslationRatioFieldNumber = 3; private readonly static float StrictMaxTranslationRatioDefaultValue = 0.2F; private float strictMaxTranslationRatio_; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float StrictMaxTranslationRatio { get { if ((_hasBits0 & 4) != 0) { return strictMaxTranslationRatio_; } else { return StrictMaxTranslationRatioDefaultValue; } } set { _hasBits0 |= 4; strictMaxTranslationRatio_ = value; } } /// Gets whether the "strict_max_translation_ratio" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasStrictMaxTranslationRatio { get { return (_hasBits0 & 4) != 0; } } /// Clears the value of the "strict_max_translation_ratio" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearStrictMaxTranslationRatio() { _hasBits0 &= ~4; } /// Field number for the "strict_min_texturedness" field. public const int StrictMinTexturednessFieldNumber = 5; private readonly static float StrictMinTexturednessDefaultValue = 0.1F; private float strictMinTexturedness_; /// /// Minimum texturedness of a feature to be considered an overlay. /// Motivation: Overlays are mostly text or graphics, i.e. have visually /// distinguished features. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float StrictMinTexturedness { get { if ((_hasBits0 & 16) != 0) { return strictMinTexturedness_; } else { return StrictMinTexturednessDefaultValue; } } set { _hasBits0 |= 16; strictMinTexturedness_ = value; } } /// Gets whether the "strict_min_texturedness" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasStrictMinTexturedness { get { return (_hasBits0 & 16) != 0; } } /// Clears the value of the "strict_min_texturedness" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearStrictMinTexturedness() { _hasBits0 &= ~16; } /// Field number for the "loose_near_zero_motion" field. public const int LooseNearZeroMotionFieldNumber = 4; private readonly static float LooseNearZeroMotionDefaultValue = 1F; private float looseNearZeroMotion_; /// /// A feature is a loose overlay feature if its motion is less than /// loose_near_zero_motion. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float LooseNearZeroMotion { get { if ((_hasBits0 & 8) != 0) { return looseNearZeroMotion_; } else { return LooseNearZeroMotionDefaultValue; } } set { _hasBits0 |= 8; looseNearZeroMotion_ = value; } } /// Gets whether the "loose_near_zero_motion" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasLooseNearZeroMotion { get { return (_hasBits0 & 8) != 0; } } /// Clears the value of the "loose_near_zero_motion" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearLooseNearZeroMotion() { _hasBits0 &= ~8; } /// Field number for the "overlay_min_ratio" field. public const int OverlayMinRatioFieldNumber = 6; private readonly static float OverlayMinRatioDefaultValue = 0.3F; private float overlayMinRatio_; /// /// Minimum fraction of strict overlay features within a cell to be /// considered an overlay cell. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float OverlayMinRatio { get { if ((_hasBits0 & 32) != 0) { return overlayMinRatio_; } else { return OverlayMinRatioDefaultValue; } } set { _hasBits0 |= 32; overlayMinRatio_ = value; } } /// Gets whether the "overlay_min_ratio" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasOverlayMinRatio { get { return (_hasBits0 & 32) != 0; } } /// Clears the value of the "overlay_min_ratio" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearOverlayMinRatio() { _hasBits0 &= ~32; } /// Field number for the "overlay_min_features" field. public const int OverlayMinFeaturesFieldNumber = 7; private readonly static float OverlayMinFeaturesDefaultValue = 10F; private float overlayMinFeatures_; /// /// Absolute minimum number of strict overlay features within a cell to be /// considered an overlay cel.. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float OverlayMinFeatures { get { if ((_hasBits0 & 64) != 0) { return overlayMinFeatures_; } else { return OverlayMinFeaturesDefaultValue; } } set { _hasBits0 |= 64; overlayMinFeatures_ = value; } } /// Gets whether the "overlay_min_features" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasOverlayMinFeatures { get { return (_hasBits0 & 64) != 0; } } /// Clears the value of the "overlay_min_features" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearOverlayMinFeatures() { _hasBits0 &= ~64; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { return Equals(other as OverlayDetectionOptions); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool Equals(OverlayDetectionOptions other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } if (AnalysisMaskSize != other.AnalysisMaskSize) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(StrictNearZeroMotion, other.StrictNearZeroMotion)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(StrictMaxTranslationRatio, other.StrictMaxTranslationRatio)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(StrictMinTexturedness, other.StrictMinTexturedness)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(LooseNearZeroMotion, other.LooseNearZeroMotion)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(OverlayMinRatio, other.OverlayMinRatio)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(OverlayMinFeatures, other.OverlayMinFeatures)) return false; return Equals(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; if (HasAnalysisMaskSize) hash ^= AnalysisMaskSize.GetHashCode(); if (HasStrictNearZeroMotion) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(StrictNearZeroMotion); if (HasStrictMaxTranslationRatio) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(StrictMaxTranslationRatio); if (HasStrictMinTexturedness) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(StrictMinTexturedness); if (HasLooseNearZeroMotion) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(LooseNearZeroMotion); if (HasOverlayMinRatio) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(OverlayMinRatio); if (HasOverlayMinFeatures) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(OverlayMinFeatures); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return hash; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override string ToString() { return pb::JsonFormatter.ToDiagnosticString(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else if (HasAnalysisMaskSize) { output.WriteRawTag(8); output.WriteInt32(AnalysisMaskSize); } if (HasStrictNearZeroMotion) { output.WriteRawTag(21); output.WriteFloat(StrictNearZeroMotion); } if (HasStrictMaxTranslationRatio) { output.WriteRawTag(29); output.WriteFloat(StrictMaxTranslationRatio); } if (HasLooseNearZeroMotion) { output.WriteRawTag(37); output.WriteFloat(LooseNearZeroMotion); } if (HasStrictMinTexturedness) { output.WriteRawTag(45); output.WriteFloat(StrictMinTexturedness); } if (HasOverlayMinRatio) { output.WriteRawTag(53); output.WriteFloat(OverlayMinRatio); } if (HasOverlayMinFeatures) { output.WriteRawTag(61); output.WriteFloat(OverlayMinFeatures); } if (_unknownFields != null) { _unknownFields.WriteTo(output); } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (HasAnalysisMaskSize) { output.WriteRawTag(8); output.WriteInt32(AnalysisMaskSize); } if (HasStrictNearZeroMotion) { output.WriteRawTag(21); output.WriteFloat(StrictNearZeroMotion); } if (HasStrictMaxTranslationRatio) { output.WriteRawTag(29); output.WriteFloat(StrictMaxTranslationRatio); } if (HasLooseNearZeroMotion) { output.WriteRawTag(37); output.WriteFloat(LooseNearZeroMotion); } if (HasStrictMinTexturedness) { output.WriteRawTag(45); output.WriteFloat(StrictMinTexturedness); } if (HasOverlayMinRatio) { output.WriteRawTag(53); output.WriteFloat(OverlayMinRatio); } if (HasOverlayMinFeatures) { output.WriteRawTag(61); output.WriteFloat(OverlayMinFeatures); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } } #endif [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; if (HasAnalysisMaskSize) { size += 1 + pb::CodedOutputStream.ComputeInt32Size(AnalysisMaskSize); } if (HasStrictNearZeroMotion) { size += 1 + 4; } if (HasStrictMaxTranslationRatio) { size += 1 + 4; } if (HasStrictMinTexturedness) { size += 1 + 4; } if (HasLooseNearZeroMotion) { size += 1 + 4; } if (HasOverlayMinRatio) { size += 1 + 4; } if (HasOverlayMinFeatures) { size += 1 + 4; } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } return size; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(OverlayDetectionOptions other) { if (other == null) { return; } if (other.HasAnalysisMaskSize) { AnalysisMaskSize = other.AnalysisMaskSize; } if (other.HasStrictNearZeroMotion) { StrictNearZeroMotion = other.StrictNearZeroMotion; } if (other.HasStrictMaxTranslationRatio) { StrictMaxTranslationRatio = other.StrictMaxTranslationRatio; } if (other.HasStrictMinTexturedness) { StrictMinTexturedness = other.StrictMinTexturedness; } if (other.HasLooseNearZeroMotion) { LooseNearZeroMotion = other.LooseNearZeroMotion; } if (other.HasOverlayMinRatio) { OverlayMinRatio = other.OverlayMinRatio; } if (other.HasOverlayMinFeatures) { OverlayMinFeatures = other.OverlayMinFeatures; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(pb::CodedInputStream input) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE input.ReadRawMessage(this); #else uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 8: { AnalysisMaskSize = input.ReadInt32(); break; } case 21: { StrictNearZeroMotion = input.ReadFloat(); break; } case 29: { StrictMaxTranslationRatio = input.ReadFloat(); break; } case 37: { LooseNearZeroMotion = input.ReadFloat(); break; } case 45: { StrictMinTexturedness = input.ReadFloat(); break; } case 53: { OverlayMinRatio = input.ReadFloat(); break; } case 61: { OverlayMinFeatures = input.ReadFloat(); break; } } } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 8: { AnalysisMaskSize = input.ReadInt32(); break; } case 21: { StrictNearZeroMotion = input.ReadFloat(); break; } case 29: { StrictMaxTranslationRatio = input.ReadFloat(); break; } case 37: { LooseNearZeroMotion = input.ReadFloat(); break; } case 45: { StrictMinTexturedness = input.ReadFloat(); break; } case 53: { OverlayMinRatio = input.ReadFloat(); break; } case 61: { OverlayMinFeatures = input.ReadFloat(); break; } } } } #endif } /// /// Shot boundaries are introduced in 3 different scenarios: /// a) Frame has zero tracked features w.r.t. previous frame /// b) Estimated motion is deemed invalid (CameraMotion::INVALID). /// c) Visual consistency is above threshold of two adjacent frames. /// public sealed partial class ShotBoundaryOptions : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ShotBoundaryOptions()); private pb::UnknownFieldSet _unknownFields; private int _hasBits0; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { get { return global::Mediapipe.MotionEstimationOptions.Descriptor.NestedTypes[10]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] pbr::MessageDescriptor pb::IMessage.Descriptor { get { return Descriptor; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public ShotBoundaryOptions() { OnConstruction(); } partial void OnConstruction(); [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public ShotBoundaryOptions(ShotBoundaryOptions other) : this() { _hasBits0 = other._hasBits0; motionConsistencyThreshold_ = other.motionConsistencyThreshold_; appearanceConsistencyThreshold_ = other.appearanceConsistencyThreshold_; _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public ShotBoundaryOptions Clone() { return new ShotBoundaryOptions(this); } /// Field number for the "motion_consistency_threshold" field. public const int MotionConsistencyThresholdFieldNumber = 1; private readonly static float MotionConsistencyThresholdDefaultValue = 0.02F; private float motionConsistencyThreshold_; /// /// After cases a & b are determined from features/camera motion, they /// are verified by ensuring visual consistency is above specified threshold, /// if visual consistency has been computed. Only if this is case will the /// frame be labeled as shot boundary. Motivation is, that there should /// always be some (even small) measurable increase in the frame difference /// at a shot boundary. /// Verification is only performed if visual_consistency has been evaluated /// (value >= 0). /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float MotionConsistencyThreshold { get { if ((_hasBits0 & 1) != 0) { return motionConsistencyThreshold_; } else { return MotionConsistencyThresholdDefaultValue; } } set { _hasBits0 |= 1; motionConsistencyThreshold_ = value; } } /// Gets whether the "motion_consistency_threshold" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasMotionConsistencyThreshold { get { return (_hasBits0 & 1) != 0; } } /// Clears the value of the "motion_consistency_threshold" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearMotionConsistencyThreshold() { _hasBits0 &= ~1; } /// Field number for the "appearance_consistency_threshold" field. public const int AppearanceConsistencyThresholdFieldNumber = 2; private readonly static float AppearanceConsistencyThresholdDefaultValue = 0.075F; private float appearanceConsistencyThreshold_; /// /// Threshold for case c). Sometimes, motion estimation will miss shot /// boundaries. We define shot boundaries for which the visual consistency is /// higher than the specified threshold for at least two adjacent frames. /// [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public float AppearanceConsistencyThreshold { get { if ((_hasBits0 & 2) != 0) { return appearanceConsistencyThreshold_; } else { return AppearanceConsistencyThresholdDefaultValue; } } set { _hasBits0 |= 2; appearanceConsistencyThreshold_ = value; } } /// Gets whether the "appearance_consistency_threshold" field is set [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool HasAppearanceConsistencyThreshold { get { return (_hasBits0 & 2) != 0; } } /// Clears the value of the "appearance_consistency_threshold" field [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void ClearAppearanceConsistencyThreshold() { _hasBits0 &= ~2; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { return Equals(other as ShotBoundaryOptions); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public bool Equals(ShotBoundaryOptions other) { if (ReferenceEquals(other, null)) { return false; } if (ReferenceEquals(other, this)) { return true; } if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MotionConsistencyThreshold, other.MotionConsistencyThreshold)) return false; if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(AppearanceConsistencyThreshold, other.AppearanceConsistencyThreshold)) return false; return Equals(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override int GetHashCode() { int hash = 1; if (HasMotionConsistencyThreshold) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MotionConsistencyThreshold); if (HasAppearanceConsistencyThreshold) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(AppearanceConsistencyThreshold); if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); } return hash; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override string ToString() { return pb::JsonFormatter.ToDiagnosticString(this); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void WriteTo(pb::CodedOutputStream output) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE output.WriteRawMessage(this); #else if (HasMotionConsistencyThreshold) { output.WriteRawTag(13); output.WriteFloat(MotionConsistencyThreshold); } if (HasAppearanceConsistencyThreshold) { output.WriteRawTag(21); output.WriteFloat(AppearanceConsistencyThreshold); } if (_unknownFields != null) { _unknownFields.WriteTo(output); } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { if (HasMotionConsistencyThreshold) { output.WriteRawTag(13); output.WriteFloat(MotionConsistencyThreshold); } if (HasAppearanceConsistencyThreshold) { output.WriteRawTag(21); output.WriteFloat(AppearanceConsistencyThreshold); } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } } #endif [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public int CalculateSize() { int size = 0; if (HasMotionConsistencyThreshold) { size += 1 + 4; } if (HasAppearanceConsistencyThreshold) { size += 1 + 4; } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } return size; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(ShotBoundaryOptions other) { if (other == null) { return; } if (other.HasMotionConsistencyThreshold) { MotionConsistencyThreshold = other.MotionConsistencyThreshold; } if (other.HasAppearanceConsistencyThreshold) { AppearanceConsistencyThreshold = other.AppearanceConsistencyThreshold; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public void MergeFrom(pb::CodedInputStream input) { #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE input.ReadRawMessage(this); #else uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); break; case 13: { MotionConsistencyThreshold = input.ReadFloat(); break; } case 21: { AppearanceConsistencyThreshold = input.ReadFloat(); break; } } } #endif } #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { uint tag; while ((tag = input.ReadTag()) != 0) { switch(tag) { default: _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); break; case 13: { MotionConsistencyThreshold = input.ReadFloat(); break; } case 21: { AppearanceConsistencyThreshold = input.ReadFloat(); break; } } } } #endif } } #endregion } #endregion } #endregion Designer generated code