diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml
index 0cc29584856f3e41f64339013ce760f434c19706..e0e65c3d8007ab6ef86f5604bf05add84f545fc4 100644
--- a/.github/workflows/continuous_integration.yml
+++ b/.github/workflows/continuous_integration.yml
@@ -15,7 +15,7 @@ jobs:
       fail-fast: false
       matrix:
        os: [ubuntu-latest, macos-latest]
-       python-version: ["3.8", "3.9", "3.10", "3.11"]   
+       python-version: ["3.9", "3.10", "3.11", "3.12"]   
     defaults:
       run:
         shell: bash -l {0}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b86dca23d7b1a3435b07ba8b2df28529724fe5f1..bc32b2f3ac0b8ca7188ce220557e41b04f463994 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -40,6 +40,8 @@ release.
 
 ### Fixed
 - Fixed a bug where scale and offset were being applied backwards to GeoDataset objects.
+- Copied and pieced together .proto files from ISIS3/src/control/objs/ControlNetVersioner to plio/plio/io.
+  Regenerated _pb2.py files with protoc 28.2 to fix error with old-protoc-generated files. [#210](https://github.com/DOI-USGS/plio/issues/210)
 
 ## [1.5.5]()
 ### Fixed
diff --git a/environment.yml b/environment.yml
index 0af6ed890058f3f124a677fd1225196577f965af..c05a75e7d7e11dff6766ae322b89f0c063800fa5 100644
--- a/environment.yml
+++ b/environment.yml
@@ -18,4 +18,4 @@ dependencies:
   - pytest-cov 
   - coveralls 
   - nbsphinx
-  - sphinx=6.2.1
+  - sphinx
diff --git a/environment_docs.yml b/environment_docs.yml
index 896fe9c74b9b39b582ccce0c3a0d37985327eb4f..a3efe49834a39d6f51b26abfe1a31739fc8cc603 100644
--- a/environment_docs.yml
+++ b/environment_docs.yml
@@ -13,4 +13,5 @@ dependencies:
   - pvl
   - pyyaml
   - sphinx=6.2.1
-  - sqlalchemy
\ No newline at end of file
+  - sqlalchemy
+  - setuptools
\ No newline at end of file
diff --git a/plio/io/ControlNetFileHeaderV0005.proto b/plio/io/ControlNetFileHeaderV0005.proto
new file mode 100644
index 0000000000000000000000000000000000000000..ffb198402d16731eb13521f19d28fe97e30784cc
--- /dev/null
+++ b/plio/io/ControlNetFileHeaderV0005.proto
@@ -0,0 +1,21 @@
+// Protocol buffer header descriptor for Isis Control Networks
+//
+// 2018-06-13 Jesse Mapel - Added flag to indicate it is a protobuf 2 file
+// 2024-11-07 Jacob Cain  - Copied into Plio from ISIS3/src/control/objs/ControlNetVersioner
+//                          Generated new _pb2.py with protoc 28.2
+
+syntax="proto2";
+
+package Isis;
+
+message ControlNetFileHeaderV0005 {
+//  Some fields of ControlNet
+  required string networkId    = 1;
+  required string targetName   = 2;
+  optional string created      = 3;
+  optional string lastModified = 4;
+  optional string description  = 5;
+  optional string userName     = 6;
+  optional int32  numPoints    = 7;
+  repeated double targetRadii = 10;
+}
diff --git a/plio/io/ControlNetFileHeaderV0005_pb2.py b/plio/io/ControlNetFileHeaderV0005_pb2.py
index 26201ce1ad92e5b128e16ff8e8d36715d3834fb8..f8b63896c46d3516420ed882589850cf5db106f1 100644
--- a/plio/io/ControlNetFileHeaderV0005_pb2.py
+++ b/plio/io/ControlNetFileHeaderV0005_pb2.py
@@ -1,13 +1,22 @@
 # -*- coding: utf-8 -*-
 # Generated by the protocol buffer compiler.  DO NOT EDIT!
+# NO CHECKED-IN PROTOBUF GENCODE
 # source: ControlNetFileHeaderV0005.proto
-
-import sys
-_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+# Protobuf Python Version: 5.28.2
+"""Generated protocol buffer code."""
 from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
+from google.protobuf import descriptor_pool as _descriptor_pool
+from google.protobuf import runtime_version as _runtime_version
 from google.protobuf import symbol_database as _symbol_database
+from google.protobuf.internal import builder as _builder
+_runtime_version.ValidateProtobufRuntimeVersion(
+    _runtime_version.Domain.PUBLIC,
+    5,
+    28,
+    2,
+    '',
+    'ControlNetFileHeaderV0005.proto'
+)
 # @@protoc_insertion_point(imports)
 
 _sym_db = _symbol_database.Default()
@@ -15,105 +24,13 @@ _sym_db = _symbol_database.Default()
 
 
 
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='ControlNetFileHeaderV0005.proto',
-  package='Isis',
-  syntax='proto2',
-  serialized_options=None,
-  serialized_pb=_b('\n\x1f\x43ontrolNetFileHeaderV0005.proto\x12\x04Isis\"\xb8\x01\n\x19\x43ontrolNetFileHeaderV0005\x12\x11\n\tnetworkId\x18\x01 \x02(\t\x12\x12\n\ntargetName\x18\x02 \x02(\t\x12\x0f\n\x07\x63reated\x18\x03 \x01(\t\x12\x14\n\x0clastModified\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x10\n\x08userName\x18\x06 \x01(\t\x12\x11\n\tnumPoints\x18\x07 \x01(\x05\x12\x13\n\x0btargetRadii\x18\n \x03(\x01')
-)
-
-
-
-
-_CONTROLNETFILEHEADERV0005 = _descriptor.Descriptor(
-  name='ControlNetFileHeaderV0005',
-  full_name='Isis.ControlNetFileHeaderV0005',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='networkId', full_name='Isis.ControlNetFileHeaderV0005.networkId', index=0,
-      number=1, type=9, cpp_type=9, label=2,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='targetName', full_name='Isis.ControlNetFileHeaderV0005.targetName', index=1,
-      number=2, type=9, cpp_type=9, label=2,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='created', full_name='Isis.ControlNetFileHeaderV0005.created', index=2,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='lastModified', full_name='Isis.ControlNetFileHeaderV0005.lastModified', index=3,
-      number=4, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='description', full_name='Isis.ControlNetFileHeaderV0005.description', index=4,
-      number=5, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='userName', full_name='Isis.ControlNetFileHeaderV0005.userName', index=5,
-      number=6, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='numPoints', full_name='Isis.ControlNetFileHeaderV0005.numPoints', index=6,
-      number=7, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='targetRadii', full_name='Isis.ControlNetFileHeaderV0005.targetRadii', index=7,
-      number=10, type=1, cpp_type=5, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto2',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=42,
-  serialized_end=226,
-)
-
-DESCRIPTOR.message_types_by_name['ControlNetFileHeaderV0005'] = _CONTROLNETFILEHEADERV0005
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-ControlNetFileHeaderV0005 = _reflection.GeneratedProtocolMessageType('ControlNetFileHeaderV0005', (_message.Message,), dict(
-  DESCRIPTOR = _CONTROLNETFILEHEADERV0005,
-  __module__ = 'ControlNetFileHeaderV0005_pb2'
-  # @@protoc_insertion_point(class_scope:Isis.ControlNetFileHeaderV0005)
-  ))
-_sym_db.RegisterMessage(ControlNetFileHeaderV0005)
-
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x43ontrolNetFileHeaderV0005.proto\x12\x04Isis\"\xb8\x01\n\x19\x43ontrolNetFileHeaderV0005\x12\x11\n\tnetworkId\x18\x01 \x02(\t\x12\x12\n\ntargetName\x18\x02 \x02(\t\x12\x0f\n\x07\x63reated\x18\x03 \x01(\t\x12\x14\n\x0clastModified\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x10\n\x08userName\x18\x06 \x01(\t\x12\x11\n\tnumPoints\x18\x07 \x01(\x05\x12\x13\n\x0btargetRadii\x18\n \x03(\x01')
 
+_globals = globals()
+_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
+_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'ControlNetFileHeaderV0005_pb2', _globals)
+if not _descriptor._USE_C_DESCRIPTORS:
+  DESCRIPTOR._loaded_options = None
+  _globals['_CONTROLNETFILEHEADERV0005']._serialized_start=42
+  _globals['_CONTROLNETFILEHEADERV0005']._serialized_end=226
 # @@protoc_insertion_point(module_scope)
diff --git a/plio/io/ControlNetFileV0002.proto b/plio/io/ControlNetFileV0002.proto
new file mode 100644
index 0000000000000000000000000000000000000000..560a01038912b407cc3f411faa8d7c08922bf62b
--- /dev/null
+++ b/plio/io/ControlNetFileV0002.proto
@@ -0,0 +1,128 @@
+// 2024-11-07 Jacob Cain - Created by combining ControlNetFileHeaderV0002.proto
+//                         and ControlPointFileEntryV0002.proto from
+//                         ISIS3/src/control/objs/ControlNetVersioner
+//                         Generated new _pb2.py with protoc 28.2
+
+syntax="proto2";
+
+package Isis;
+
+message ControlNetFileHeaderV0002 {
+  //  Some fields of ControlNet
+  required string networkId    = 1;
+  required string targetName   = 2;
+  optional string created      = 3;
+  optional string lastModified = 4;
+  optional string description  = 5;
+  optional string userName     = 6;
+  repeated int32  pointMessageSizes = 7 [packed = true];
+}
+
+message ControlPointFileEntryV0002 {
+  enum PointType {
+    Free                 = 2; //  Image to Image
+    Constrained          = 3; //  Image to Ground
+    Fixed                = 4; //  Image to Ground
+    obsolete_Tie         = 0; //  Image to Image
+    obsolete_Ground      = 1; //  Image to Ground
+  }
+
+  enum AprioriSource {
+    None              = 0;
+    User              = 1;
+    AverageOfMeasures = 2;
+    Reference         = 3;
+    Ellipsoid         = 4;
+    DEM               = 5;
+    Basemap           = 6;
+    BundleSolution    = 7;
+  }
+
+  required string         id   = 1;
+  required PointType      type = 2;
+  optional string         chooserName = 3;
+  optional string         datetime = 4;
+  optional bool           editLock = 5;
+  optional bool           ignore   = 6;
+  optional bool           jigsawRejected = 7;
+  optional int32          referenceIndex = 8;
+
+  optional AprioriSource        aprioriSurfPointSource = 9;
+  optional string               aprioriSurfPointSourceFile = 10;
+  optional AprioriSource        aprioriRadiusSource = 11;
+  optional string               aprioriRadiusSourceFile = 12;
+  optional bool                 latitudeConstrained = 13;
+  optional bool                 longitudeConstrained = 14;
+  optional bool                 radiusConstrained = 15;
+  optional double               aprioriX = 16; // <meters>
+  optional double               aprioriY = 17; // <meters>
+  optional double               aprioriZ = 18; // <meters>
+
+  //  Accuracy of apriori coordinates from basemap, user or mission SPICE,
+  //    jigsaw weights based on these values. The sigmas are stored as a
+  //    3 x 3 variance-covariance matrix.
+  repeated double aprioriCovar = 19 [packed = true];
+
+  optional double adjustedX = 20;
+  optional double adjustedY = 21;
+  optional double adjustedZ = 22;
+
+  //  Set in jigsaw.  Accuracy of adjusted lat/lon from basemap, user or
+  //  mission SPICE stored as a 3 x 3 variance-covariance matrix.
+  repeated double adjustedCovar = 23 [packed = true];
+
+  message PointLogData {
+    optional int32   doubleDataType  = 1;
+    optional double  doubleDataValue = 2;
+    optional int32   boolDataType    = 3;
+    optional bool    boolDataValue   = 4;
+  }
+
+  repeated PointLogData log = 24;
+
+  // Start of ControlMeasure definition
+  message Measure {
+    enum MeasureType {
+      // predicted, unmeasured, unverified
+      Candidate           = 0;
+      // Hand Measured (e.g., qnet)
+      Manual              = 1;
+      // Automatically registered to whole pixel (e.g.,pointreg/qnet)
+      RegisteredPixel     = 2;
+      // Automatically registered to sub-pixel (e.g., pointreg/qnet)
+      RegisteredSubPixel  = 3;
+    }
+
+    message MeasureLogData {
+      optional int32   doubleDataType  = 1;
+      optional double  doubleDataValue = 2;
+      optional int32   boolDataType    = 3;
+      optional bool    boolDataValue   = 4;
+    }
+
+    required string       serialnumber   = 1;
+    required MeasureType  type           = 2;
+    optional double       sample         = 3;
+    optional double       line           = 4;
+    // Jigsaw info-solution error <pixels>
+    optional double       sampleResidual = 5;
+    optional double       lineResidual   = 6;
+    optional string       choosername    = 7;
+    optional string       datetime       = 8;
+    optional bool         editLock       = 9;
+    optional bool         ignore         = 10;
+    optional bool         jigsawRejected = 11;
+    optional double       diameter       = 12;
+    // The first identified location of measure
+    optional double       apriorisample  = 13;
+    optional double       aprioriline    = 14;
+
+    // Uncertainty/Sigma of current samp/line <pixels>
+    optional double       samplesigma    = 15;
+    optional double       linesigma      = 16;
+    repeated MeasureLogData log          = 17;
+  }
+
+  //  Actual declaration of variable number of ControlMeasures
+  repeated Measure measures = 25;
+}
diff --git a/plio/io/ControlNetFileV0002_pb2.py b/plio/io/ControlNetFileV0002_pb2.py
index 085aefc12b97c5c9503f4eb946d3ab82afb09fdd..89f23d7911ac23f8efb0500c8ba3e6f672b55bef 100644
--- a/plio/io/ControlNetFileV0002_pb2.py
+++ b/plio/io/ControlNetFileV0002_pb2.py
@@ -1,13 +1,22 @@
+# -*- coding: utf-8 -*-
 # Generated by the protocol buffer compiler.  DO NOT EDIT!
+# NO CHECKED-IN PROTOBUF GENCODE
 # source: ControlNetFileV0002.proto
-
-import sys
-_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+# Protobuf Python Version: 5.28.2
+"""Generated protocol buffer code."""
 from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
+from google.protobuf import descriptor_pool as _descriptor_pool
+from google.protobuf import runtime_version as _runtime_version
 from google.protobuf import symbol_database as _symbol_database
-from google.protobuf import descriptor_pb2
+from google.protobuf.internal import builder as _builder
+_runtime_version.ValidateProtobufRuntimeVersion(
+    _runtime_version.Domain.PUBLIC,
+    5,
+    28,
+    2,
+    '',
+    'ControlNetFileV0002.proto'
+)
 # @@protoc_insertion_point(imports)
 
 _sym_db = _symbol_database.Default()
@@ -15,704 +24,33 @@ _sym_db = _symbol_database.Default()
 
 
 
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='ControlNetFileV0002.proto',
-  package='Isis',
-  syntax='proto2',
-  serialized_pb=_b('\n\x19\x43ontrolNetFileV0002.proto\x12\x04Isis\"\xaf\x01\n\x19\x43ontrolNetFileHeaderV0002\x12\x11\n\tnetworkId\x18\x01 \x02(\t\x12\x12\n\ntargetName\x18\x02 \x02(\t\x12\x0f\n\x07\x63reated\x18\x03 \x01(\t\x12\x14\n\x0clastModified\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x10\n\x08userName\x18\x06 \x01(\t\x12\x1d\n\x11pointMessageSizes\x18\x07 \x03(\x05\x42\x02\x10\x01\"\x82\x0e\n\x1a\x43ontrolPointFileEntryV0002\x12\n\n\x02id\x18\x01 \x02(\t\x12\x38\n\x04type\x18\x02 \x02(\x0e\x32*.Isis.ControlPointFileEntryV0002.PointType\x12\x13\n\x0b\x63hooserName\x18\x03 \x01(\t\x12\x10\n\x08\x64\x61tetime\x18\x04 \x01(\t\x12\x10\n\x08\x65\x64itLock\x18\x05 \x01(\x08\x12\x0e\n\x06ignore\x18\x06 \x01(\x08\x12\x16\n\x0ejigsawRejected\x18\x07 \x01(\x08\x12\x16\n\x0ereferenceIndex\x18\x08 \x01(\x05\x12N\n\x16\x61prioriSurfPointSource\x18\t \x01(\x0e\x32..Isis.ControlPointFileEntryV0002.AprioriSource\x12\"\n\x1a\x61prioriSurfPointSourceFile\x18\n \x01(\t\x12K\n\x13\x61prioriRadiusSource\x18\x0b \x01(\x0e\x32..Isis.ControlPointFileEntryV0002.AprioriSource\x12\x1f\n\x17\x61prioriRadiusSourceFile\x18\x0c \x01(\t\x12\x1b\n\x13latitudeConstrained\x18\r \x01(\x08\x12\x1c\n\x14longitudeConstrained\x18\x0e \x01(\x08\x12\x19\n\x11radiusConstrained\x18\x0f \x01(\x08\x12\x10\n\x08\x61prioriX\x18\x10 \x01(\x01\x12\x10\n\x08\x61prioriY\x18\x11 \x01(\x01\x12\x10\n\x08\x61prioriZ\x18\x12 \x01(\x01\x12\x18\n\x0c\x61prioriCovar\x18\x13 \x03(\x01\x42\x02\x10\x01\x12\x11\n\tadjustedX\x18\x14 \x01(\x01\x12\x11\n\tadjustedY\x18\x15 \x01(\x01\x12\x11\n\tadjustedZ\x18\x16 \x01(\x01\x12\x19\n\radjustedCovar\x18\x17 \x03(\x01\x42\x02\x10\x01\x12:\n\x03log\x18\x18 \x03(\x0b\x32-.Isis.ControlPointFileEntryV0002.PointLogData\x12:\n\x08measures\x18\x19 \x03(\x0b\x32(.Isis.ControlPointFileEntryV0002.Measure\x1al\n\x0cPointLogData\x12\x16\n\x0e\x64oubleDataType\x18\x01 \x01(\x05\x12\x17\n\x0f\x64oubleDataValue\x18\x02 \x01(\x01\x12\x14\n\x0c\x62oolDataType\x18\x03 \x01(\x05\x12\x15\n\rboolDataValue\x18\x04 \x01(\x08\x1a\x83\x05\n\x07Measure\x12\x14\n\x0cserialnumber\x18\x01 \x02(\t\x12\x42\n\x04type\x18\x02 \x02(\x0e\x32\x34.Isis.ControlPointFileEntryV0002.Measure.MeasureType\x12\x0e\n\x06sample\x18\x03 \x01(\x01\x12\x0c\n\x04line\x18\x04 \x01(\x01\x12\x16\n\x0esampleResidual\x18\x05 \x01(\x01\x12\x14\n\x0clineResidual\x18\x06 \x01(\x01\x12\x13\n\x0b\x63hoosername\x18\x07 \x01(\t\x12\x10\n\x08\x64\x61tetime\x18\x08 \x01(\t\x12\x10\n\x08\x65\x64itLock\x18\t \x01(\x08\x12\x0e\n\x06ignore\x18\n \x01(\x08\x12\x16\n\x0ejigsawRejected\x18\x0b \x01(\x08\x12\x10\n\x08\x64iameter\x18\x0c \x01(\x01\x12\x15\n\rapriorisample\x18\r \x01(\x01\x12\x13\n\x0b\x61prioriline\x18\x0e \x01(\x01\x12\x13\n\x0bsamplesigma\x18\x0f \x01(\x01\x12\x11\n\tlinesigma\x18\x10 \x01(\x01\x12\x44\n\x03log\x18\x11 \x03(\x0b\x32\x37.Isis.ControlPointFileEntryV0002.Measure.MeasureLogData\x1an\n\x0eMeasureLogData\x12\x16\n\x0e\x64oubleDataType\x18\x01 \x01(\x05\x12\x17\n\x0f\x64oubleDataValue\x18\x02 \x01(\x01\x12\x14\n\x0c\x62oolDataType\x18\x03 \x01(\x05\x12\x15\n\rboolDataValue\x18\x04 \x01(\x08\"U\n\x0bMeasureType\x12\r\n\tCandidate\x10\x00\x12\n\n\x06Manual\x10\x01\x12\x13\n\x0fRegisteredPixel\x10\x02\x12\x16\n\x12RegisteredSubPixel\x10\x03\"X\n\tPointType\x12\x08\n\x04\x46ree\x10\x02\x12\x0f\n\x0b\x43onstrained\x10\x03\x12\t\n\x05\x46ixed\x10\x04\x12\x10\n\x0cobsolete_Tie\x10\x00\x12\x13\n\x0fobsolete_Ground\x10\x01\"\x82\x01\n\rAprioriSource\x12\x08\n\x04None\x10\x00\x12\x08\n\x04User\x10\x01\x12\x15\n\x11\x41verageOfMeasures\x10\x02\x12\r\n\tReference\x10\x03\x12\r\n\tEllipsoid\x10\x04\x12\x07\n\x03\x44\x45M\x10\x05\x12\x0b\n\x07\x42\x61semap\x10\x06\x12\x12\n\x0e\x42undleSolution\x10\x07')
-)
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-
-
-_CONTROLPOINTFILEENTRYV0002_MEASURE_MEASURETYPE = _descriptor.EnumDescriptor(
-  name='MeasureType',
-  full_name='Isis.ControlPointFileEntryV0002.Measure.MeasureType',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='Candidate', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='Manual', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='RegisteredPixel', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='RegisteredSubPixel', index=3, number=3,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=1700,
-  serialized_end=1785,
-)
-_sym_db.RegisterEnumDescriptor(_CONTROLPOINTFILEENTRYV0002_MEASURE_MEASURETYPE)
-
-_CONTROLPOINTFILEENTRYV0002_POINTTYPE = _descriptor.EnumDescriptor(
-  name='PointType',
-  full_name='Isis.ControlPointFileEntryV0002.PointType',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='Free', index=0, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='Constrained', index=1, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='Fixed', index=2, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='obsolete_Tie', index=3, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='obsolete_Ground', index=4, number=1,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=1787,
-  serialized_end=1875,
-)
-_sym_db.RegisterEnumDescriptor(_CONTROLPOINTFILEENTRYV0002_POINTTYPE)
-
-_CONTROLPOINTFILEENTRYV0002_APRIORISOURCE = _descriptor.EnumDescriptor(
-  name='AprioriSource',
-  full_name='Isis.ControlPointFileEntryV0002.AprioriSource',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='None', index=0, number=0,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='User', index=1, number=1,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='AverageOfMeasures', index=2, number=2,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='Reference', index=3, number=3,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='Ellipsoid', index=4, number=4,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='DEM', index=5, number=5,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='Basemap', index=6, number=6,
-      options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='BundleSolution', index=7, number=7,
-      options=None,
-      type=None),
-  ],
-  containing_type=None,
-  options=None,
-  serialized_start=1878,
-  serialized_end=2008,
-)
-_sym_db.RegisterEnumDescriptor(_CONTROLPOINTFILEENTRYV0002_APRIORISOURCE)
-
-
-_CONTROLNETFILEHEADERV0002 = _descriptor.Descriptor(
-  name='ControlNetFileHeaderV0002',
-  full_name='Isis.ControlNetFileHeaderV0002',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='networkId', full_name='Isis.ControlNetFileHeaderV0002.networkId', index=0,
-      number=1, type=9, cpp_type=9, label=2,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='targetName', full_name='Isis.ControlNetFileHeaderV0002.targetName', index=1,
-      number=2, type=9, cpp_type=9, label=2,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='created', full_name='Isis.ControlNetFileHeaderV0002.created', index=2,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='lastModified', full_name='Isis.ControlNetFileHeaderV0002.lastModified', index=3,
-      number=4, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='description', full_name='Isis.ControlNetFileHeaderV0002.description', index=4,
-      number=5, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='userName', full_name='Isis.ControlNetFileHeaderV0002.userName', index=5,
-      number=6, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='pointMessageSizes', full_name='Isis.ControlNetFileHeaderV0002.pointMessageSizes', index=6,
-      number=7, type=5, cpp_type=1, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto2',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=36,
-  serialized_end=211,
-)
-
-
-_CONTROLPOINTFILEENTRYV0002_POINTLOGDATA = _descriptor.Descriptor(
-  name='PointLogData',
-  full_name='Isis.ControlPointFileEntryV0002.PointLogData',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='doubleDataType', full_name='Isis.ControlPointFileEntryV0002.PointLogData.doubleDataType', index=0,
-      number=1, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='doubleDataValue', full_name='Isis.ControlPointFileEntryV0002.PointLogData.doubleDataValue', index=1,
-      number=2, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='boolDataType', full_name='Isis.ControlPointFileEntryV0002.PointLogData.boolDataType', index=2,
-      number=3, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='boolDataValue', full_name='Isis.ControlPointFileEntryV0002.PointLogData.boolDataValue', index=3,
-      number=4, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto2',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1031,
-  serialized_end=1139,
-)
-
-_CONTROLPOINTFILEENTRYV0002_MEASURE_MEASURELOGDATA = _descriptor.Descriptor(
-  name='MeasureLogData',
-  full_name='Isis.ControlPointFileEntryV0002.Measure.MeasureLogData',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='doubleDataType', full_name='Isis.ControlPointFileEntryV0002.Measure.MeasureLogData.doubleDataType', index=0,
-      number=1, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='doubleDataValue', full_name='Isis.ControlPointFileEntryV0002.Measure.MeasureLogData.doubleDataValue', index=1,
-      number=2, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='boolDataType', full_name='Isis.ControlPointFileEntryV0002.Measure.MeasureLogData.boolDataType', index=2,
-      number=3, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='boolDataValue', full_name='Isis.ControlPointFileEntryV0002.Measure.MeasureLogData.boolDataValue', index=3,
-      number=4, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto2',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1588,
-  serialized_end=1698,
-)
-
-_CONTROLPOINTFILEENTRYV0002_MEASURE = _descriptor.Descriptor(
-  name='Measure',
-  full_name='Isis.ControlPointFileEntryV0002.Measure',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='serialnumber', full_name='Isis.ControlPointFileEntryV0002.Measure.serialnumber', index=0,
-      number=1, type=9, cpp_type=9, label=2,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='type', full_name='Isis.ControlPointFileEntryV0002.Measure.type', index=1,
-      number=2, type=14, cpp_type=8, label=2,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='sample', full_name='Isis.ControlPointFileEntryV0002.Measure.sample', index=2,
-      number=3, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='line', full_name='Isis.ControlPointFileEntryV0002.Measure.line', index=3,
-      number=4, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='sampleResidual', full_name='Isis.ControlPointFileEntryV0002.Measure.sampleResidual', index=4,
-      number=5, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='lineResidual', full_name='Isis.ControlPointFileEntryV0002.Measure.lineResidual', index=5,
-      number=6, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='choosername', full_name='Isis.ControlPointFileEntryV0002.Measure.choosername', index=6,
-      number=7, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='datetime', full_name='Isis.ControlPointFileEntryV0002.Measure.datetime', index=7,
-      number=8, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='editLock', full_name='Isis.ControlPointFileEntryV0002.Measure.editLock', index=8,
-      number=9, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ignore', full_name='Isis.ControlPointFileEntryV0002.Measure.ignore', index=9,
-      number=10, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='jigsawRejected', full_name='Isis.ControlPointFileEntryV0002.Measure.jigsawRejected', index=10,
-      number=11, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='diameter', full_name='Isis.ControlPointFileEntryV0002.Measure.diameter', index=11,
-      number=12, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='apriorisample', full_name='Isis.ControlPointFileEntryV0002.Measure.apriorisample', index=12,
-      number=13, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='aprioriline', full_name='Isis.ControlPointFileEntryV0002.Measure.aprioriline', index=13,
-      number=14, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='samplesigma', full_name='Isis.ControlPointFileEntryV0002.Measure.samplesigma', index=14,
-      number=15, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='linesigma', full_name='Isis.ControlPointFileEntryV0002.Measure.linesigma', index=15,
-      number=16, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='log', full_name='Isis.ControlPointFileEntryV0002.Measure.log', index=16,
-      number=17, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[_CONTROLPOINTFILEENTRYV0002_MEASURE_MEASURELOGDATA, ],
-  enum_types=[
-    _CONTROLPOINTFILEENTRYV0002_MEASURE_MEASURETYPE,
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto2',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1142,
-  serialized_end=1785,
-)
-
-_CONTROLPOINTFILEENTRYV0002 = _descriptor.Descriptor(
-  name='ControlPointFileEntryV0002',
-  full_name='Isis.ControlPointFileEntryV0002',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='id', full_name='Isis.ControlPointFileEntryV0002.id', index=0,
-      number=1, type=9, cpp_type=9, label=2,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='type', full_name='Isis.ControlPointFileEntryV0002.type', index=1,
-      number=2, type=14, cpp_type=8, label=2,
-      has_default_value=False, default_value=2,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='chooserName', full_name='Isis.ControlPointFileEntryV0002.chooserName', index=2,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='datetime', full_name='Isis.ControlPointFileEntryV0002.datetime', index=3,
-      number=4, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='editLock', full_name='Isis.ControlPointFileEntryV0002.editLock', index=4,
-      number=5, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='ignore', full_name='Isis.ControlPointFileEntryV0002.ignore', index=5,
-      number=6, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='jigsawRejected', full_name='Isis.ControlPointFileEntryV0002.jigsawRejected', index=6,
-      number=7, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='referenceIndex', full_name='Isis.ControlPointFileEntryV0002.referenceIndex', index=7,
-      number=8, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='aprioriSurfPointSource', full_name='Isis.ControlPointFileEntryV0002.aprioriSurfPointSource', index=8,
-      number=9, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='aprioriSurfPointSourceFile', full_name='Isis.ControlPointFileEntryV0002.aprioriSurfPointSourceFile', index=9,
-      number=10, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='aprioriRadiusSource', full_name='Isis.ControlPointFileEntryV0002.aprioriRadiusSource', index=10,
-      number=11, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='aprioriRadiusSourceFile', full_name='Isis.ControlPointFileEntryV0002.aprioriRadiusSourceFile', index=11,
-      number=12, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='latitudeConstrained', full_name='Isis.ControlPointFileEntryV0002.latitudeConstrained', index=12,
-      number=13, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='longitudeConstrained', full_name='Isis.ControlPointFileEntryV0002.longitudeConstrained', index=13,
-      number=14, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='radiusConstrained', full_name='Isis.ControlPointFileEntryV0002.radiusConstrained', index=14,
-      number=15, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='aprioriX', full_name='Isis.ControlPointFileEntryV0002.aprioriX', index=15,
-      number=16, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='aprioriY', full_name='Isis.ControlPointFileEntryV0002.aprioriY', index=16,
-      number=17, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='aprioriZ', full_name='Isis.ControlPointFileEntryV0002.aprioriZ', index=17,
-      number=18, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='aprioriCovar', full_name='Isis.ControlPointFileEntryV0002.aprioriCovar', index=18,
-      number=19, type=1, cpp_type=5, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))),
-    _descriptor.FieldDescriptor(
-      name='adjustedX', full_name='Isis.ControlPointFileEntryV0002.adjustedX', index=19,
-      number=20, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='adjustedY', full_name='Isis.ControlPointFileEntryV0002.adjustedY', index=20,
-      number=21, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='adjustedZ', full_name='Isis.ControlPointFileEntryV0002.adjustedZ', index=21,
-      number=22, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='adjustedCovar', full_name='Isis.ControlPointFileEntryV0002.adjustedCovar', index=22,
-      number=23, type=1, cpp_type=5, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))),
-    _descriptor.FieldDescriptor(
-      name='log', full_name='Isis.ControlPointFileEntryV0002.log', index=23,
-      number=24, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-    _descriptor.FieldDescriptor(
-      name='measures', full_name='Isis.ControlPointFileEntryV0002.measures', index=24,
-      number=25, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      options=None),
-  ],
-  extensions=[
-  ],
-  nested_types=[_CONTROLPOINTFILEENTRYV0002_POINTLOGDATA, _CONTROLPOINTFILEENTRYV0002_MEASURE, ],
-  enum_types=[
-    _CONTROLPOINTFILEENTRYV0002_POINTTYPE,
-    _CONTROLPOINTFILEENTRYV0002_APRIORISOURCE,
-  ],
-  options=None,
-  is_extendable=False,
-  syntax='proto2',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=214,
-  serialized_end=2008,
-)
-
-_CONTROLPOINTFILEENTRYV0002_POINTLOGDATA.containing_type = _CONTROLPOINTFILEENTRYV0002
-_CONTROLPOINTFILEENTRYV0002_MEASURE_MEASURELOGDATA.containing_type = _CONTROLPOINTFILEENTRYV0002_MEASURE
-_CONTROLPOINTFILEENTRYV0002_MEASURE.fields_by_name['type'].enum_type = _CONTROLPOINTFILEENTRYV0002_MEASURE_MEASURETYPE
-_CONTROLPOINTFILEENTRYV0002_MEASURE.fields_by_name['log'].message_type = _CONTROLPOINTFILEENTRYV0002_MEASURE_MEASURELOGDATA
-_CONTROLPOINTFILEENTRYV0002_MEASURE.containing_type = _CONTROLPOINTFILEENTRYV0002
-_CONTROLPOINTFILEENTRYV0002_MEASURE_MEASURETYPE.containing_type = _CONTROLPOINTFILEENTRYV0002_MEASURE
-_CONTROLPOINTFILEENTRYV0002.fields_by_name['type'].enum_type = _CONTROLPOINTFILEENTRYV0002_POINTTYPE
-_CONTROLPOINTFILEENTRYV0002.fields_by_name['aprioriSurfPointSource'].enum_type = _CONTROLPOINTFILEENTRYV0002_APRIORISOURCE
-_CONTROLPOINTFILEENTRYV0002.fields_by_name['aprioriRadiusSource'].enum_type = _CONTROLPOINTFILEENTRYV0002_APRIORISOURCE
-_CONTROLPOINTFILEENTRYV0002.fields_by_name['log'].message_type = _CONTROLPOINTFILEENTRYV0002_POINTLOGDATA
-_CONTROLPOINTFILEENTRYV0002.fields_by_name['measures'].message_type = _CONTROLPOINTFILEENTRYV0002_MEASURE
-_CONTROLPOINTFILEENTRYV0002_POINTTYPE.containing_type = _CONTROLPOINTFILEENTRYV0002
-_CONTROLPOINTFILEENTRYV0002_APRIORISOURCE.containing_type = _CONTROLPOINTFILEENTRYV0002
-DESCRIPTOR.message_types_by_name['ControlNetFileHeaderV0002'] = _CONTROLNETFILEHEADERV0002
-DESCRIPTOR.message_types_by_name['ControlPointFileEntryV0002'] = _CONTROLPOINTFILEENTRYV0002
-
-ControlNetFileHeaderV0002 = _reflection.GeneratedProtocolMessageType('ControlNetFileHeaderV0002', (_message.Message,), dict(
-  DESCRIPTOR = _CONTROLNETFILEHEADERV0002,
-  __module__ = 'ControlNetFileV0002_pb2'
-  # @@protoc_insertion_point(class_scope:Isis.ControlNetFileHeaderV0002)
-  ))
-_sym_db.RegisterMessage(ControlNetFileHeaderV0002)
-
-ControlPointFileEntryV0002 = _reflection.GeneratedProtocolMessageType('ControlPointFileEntryV0002', (_message.Message,), dict(
-
-  PointLogData = _reflection.GeneratedProtocolMessageType('PointLogData', (_message.Message,), dict(
-    DESCRIPTOR = _CONTROLPOINTFILEENTRYV0002_POINTLOGDATA,
-    __module__ = 'ControlNetFileV0002_pb2'
-    # @@protoc_insertion_point(class_scope:Isis.ControlPointFileEntryV0002.PointLogData)
-    ))
-  ,
-
-  Measure = _reflection.GeneratedProtocolMessageType('Measure', (_message.Message,), dict(
-
-    MeasureLogData = _reflection.GeneratedProtocolMessageType('MeasureLogData', (_message.Message,), dict(
-      DESCRIPTOR = _CONTROLPOINTFILEENTRYV0002_MEASURE_MEASURELOGDATA,
-      __module__ = 'ControlNetFileV0002_pb2'
-      # @@protoc_insertion_point(class_scope:Isis.ControlPointFileEntryV0002.Measure.MeasureLogData)
-      ))
-    ,
-    DESCRIPTOR = _CONTROLPOINTFILEENTRYV0002_MEASURE,
-    __module__ = 'ControlNetFileV0002_pb2'
-    # @@protoc_insertion_point(class_scope:Isis.ControlPointFileEntryV0002.Measure)
-    ))
-  ,
-  DESCRIPTOR = _CONTROLPOINTFILEENTRYV0002,
-  __module__ = 'ControlNetFileV0002_pb2'
-  # @@protoc_insertion_point(class_scope:Isis.ControlPointFileEntryV0002)
-  ))
-_sym_db.RegisterMessage(ControlPointFileEntryV0002)
-_sym_db.RegisterMessage(ControlPointFileEntryV0002.PointLogData)
-_sym_db.RegisterMessage(ControlPointFileEntryV0002.Measure)
-_sym_db.RegisterMessage(ControlPointFileEntryV0002.Measure.MeasureLogData)
-
-
-_CONTROLNETFILEHEADERV0002.fields_by_name['pointMessageSizes'].has_options = True
-_CONTROLNETFILEHEADERV0002.fields_by_name['pointMessageSizes']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))
-_CONTROLPOINTFILEENTRYV0002.fields_by_name['aprioriCovar'].has_options = True
-_CONTROLPOINTFILEENTRYV0002.fields_by_name['aprioriCovar']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))
-_CONTROLPOINTFILEENTRYV0002.fields_by_name['adjustedCovar'].has_options = True
-_CONTROLPOINTFILEENTRYV0002.fields_by_name['adjustedCovar']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\020\001'))
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19\x43ontrolNetFileV0002.proto\x12\x04Isis\"\xaf\x01\n\x19\x43ontrolNetFileHeaderV0002\x12\x11\n\tnetworkId\x18\x01 \x02(\t\x12\x12\n\ntargetName\x18\x02 \x02(\t\x12\x0f\n\x07\x63reated\x18\x03 \x01(\t\x12\x14\n\x0clastModified\x18\x04 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x12\x10\n\x08userName\x18\x06 \x01(\t\x12\x1d\n\x11pointMessageSizes\x18\x07 \x03(\x05\x42\x02\x10\x01\"\x82\x0e\n\x1a\x43ontrolPointFileEntryV0002\x12\n\n\x02id\x18\x01 \x02(\t\x12\x38\n\x04type\x18\x02 \x02(\x0e\x32*.Isis.ControlPointFileEntryV0002.PointType\x12\x13\n\x0b\x63hooserName\x18\x03 \x01(\t\x12\x10\n\x08\x64\x61tetime\x18\x04 \x01(\t\x12\x10\n\x08\x65\x64itLock\x18\x05 \x01(\x08\x12\x0e\n\x06ignore\x18\x06 \x01(\x08\x12\x16\n\x0ejigsawRejected\x18\x07 \x01(\x08\x12\x16\n\x0ereferenceIndex\x18\x08 \x01(\x05\x12N\n\x16\x61prioriSurfPointSource\x18\t \x01(\x0e\x32..Isis.ControlPointFileEntryV0002.AprioriSource\x12\"\n\x1a\x61prioriSurfPointSourceFile\x18\n \x01(\t\x12K\n\x13\x61prioriRadiusSource\x18\x0b \x01(\x0e\x32..Isis.ControlPointFileEntryV0002.AprioriSource\x12\x1f\n\x17\x61prioriRadiusSourceFile\x18\x0c \x01(\t\x12\x1b\n\x13latitudeConstrained\x18\r \x01(\x08\x12\x1c\n\x14longitudeConstrained\x18\x0e \x01(\x08\x12\x19\n\x11radiusConstrained\x18\x0f \x01(\x08\x12\x10\n\x08\x61prioriX\x18\x10 \x01(\x01\x12\x10\n\x08\x61prioriY\x18\x11 \x01(\x01\x12\x10\n\x08\x61prioriZ\x18\x12 \x01(\x01\x12\x18\n\x0c\x61prioriCovar\x18\x13 \x03(\x01\x42\x02\x10\x01\x12\x11\n\tadjustedX\x18\x14 \x01(\x01\x12\x11\n\tadjustedY\x18\x15 \x01(\x01\x12\x11\n\tadjustedZ\x18\x16 \x01(\x01\x12\x19\n\radjustedCovar\x18\x17 \x03(\x01\x42\x02\x10\x01\x12:\n\x03log\x18\x18 \x03(\x0b\x32-.Isis.ControlPointFileEntryV0002.PointLogData\x12:\n\x08measures\x18\x19 \x03(\x0b\x32(.Isis.ControlPointFileEntryV0002.Measure\x1al\n\x0cPointLogData\x12\x16\n\x0e\x64oubleDataType\x18\x01 \x01(\x05\x12\x17\n\x0f\x64oubleDataValue\x18\x02 \x01(\x01\x12\x14\n\x0c\x62oolDataType\x18\x03 \x01(\x05\x12\x15\n\rboolDataValue\x18\x04 \x01(\x08\x1a\x83\x05\n\x07Measure\x12\x14\n\x0cserialnumber\x18\x01 \x02(\t\x12\x42\n\x04type\x18\x02 \x02(\x0e\x32\x34.Isis.ControlPointFileEntryV0002.Measure.MeasureType\x12\x0e\n\x06sample\x18\x03 \x01(\x01\x12\x0c\n\x04line\x18\x04 \x01(\x01\x12\x16\n\x0esampleResidual\x18\x05 \x01(\x01\x12\x14\n\x0clineResidual\x18\x06 \x01(\x01\x12\x13\n\x0b\x63hoosername\x18\x07 \x01(\t\x12\x10\n\x08\x64\x61tetime\x18\x08 \x01(\t\x12\x10\n\x08\x65\x64itLock\x18\t \x01(\x08\x12\x0e\n\x06ignore\x18\n \x01(\x08\x12\x16\n\x0ejigsawRejected\x18\x0b \x01(\x08\x12\x10\n\x08\x64iameter\x18\x0c \x01(\x01\x12\x15\n\rapriorisample\x18\r \x01(\x01\x12\x13\n\x0b\x61prioriline\x18\x0e \x01(\x01\x12\x13\n\x0bsamplesigma\x18\x0f \x01(\x01\x12\x11\n\tlinesigma\x18\x10 \x01(\x01\x12\x44\n\x03log\x18\x11 \x03(\x0b\x32\x37.Isis.ControlPointFileEntryV0002.Measure.MeasureLogData\x1an\n\x0eMeasureLogData\x12\x16\n\x0e\x64oubleDataType\x18\x01 \x01(\x05\x12\x17\n\x0f\x64oubleDataValue\x18\x02 \x01(\x01\x12\x14\n\x0c\x62oolDataType\x18\x03 \x01(\x05\x12\x15\n\rboolDataValue\x18\x04 \x01(\x08\"U\n\x0bMeasureType\x12\r\n\tCandidate\x10\x00\x12\n\n\x06Manual\x10\x01\x12\x13\n\x0fRegisteredPixel\x10\x02\x12\x16\n\x12RegisteredSubPixel\x10\x03\"X\n\tPointType\x12\x08\n\x04\x46ree\x10\x02\x12\x0f\n\x0b\x43onstrained\x10\x03\x12\t\n\x05\x46ixed\x10\x04\x12\x10\n\x0cobsolete_Tie\x10\x00\x12\x13\n\x0fobsolete_Ground\x10\x01\"\x82\x01\n\rAprioriSource\x12\x08\n\x04None\x10\x00\x12\x08\n\x04User\x10\x01\x12\x15\n\x11\x41verageOfMeasures\x10\x02\x12\r\n\tReference\x10\x03\x12\r\n\tEllipsoid\x10\x04\x12\x07\n\x03\x44\x45M\x10\x05\x12\x0b\n\x07\x42\x61semap\x10\x06\x12\x12\n\x0e\x42undleSolution\x10\x07')
+
+_globals = globals()
+_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
+_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'ControlNetFileV0002_pb2', _globals)
+if not _descriptor._USE_C_DESCRIPTORS:
+  DESCRIPTOR._loaded_options = None
+  _globals['_CONTROLNETFILEHEADERV0002'].fields_by_name['pointMessageSizes']._loaded_options = None
+  _globals['_CONTROLNETFILEHEADERV0002'].fields_by_name['pointMessageSizes']._serialized_options = b'\020\001'
+  _globals['_CONTROLPOINTFILEENTRYV0002'].fields_by_name['aprioriCovar']._loaded_options = None
+  _globals['_CONTROLPOINTFILEENTRYV0002'].fields_by_name['aprioriCovar']._serialized_options = b'\020\001'
+  _globals['_CONTROLPOINTFILEENTRYV0002'].fields_by_name['adjustedCovar']._loaded_options = None
+  _globals['_CONTROLPOINTFILEENTRYV0002'].fields_by_name['adjustedCovar']._serialized_options = b'\020\001'
+  _globals['_CONTROLNETFILEHEADERV0002']._serialized_start=36
+  _globals['_CONTROLNETFILEHEADERV0002']._serialized_end=211
+  _globals['_CONTROLPOINTFILEENTRYV0002']._serialized_start=214
+  _globals['_CONTROLPOINTFILEENTRYV0002']._serialized_end=2008
+  _globals['_CONTROLPOINTFILEENTRYV0002_POINTLOGDATA']._serialized_start=1031
+  _globals['_CONTROLPOINTFILEENTRYV0002_POINTLOGDATA']._serialized_end=1139
+  _globals['_CONTROLPOINTFILEENTRYV0002_MEASURE']._serialized_start=1142
+  _globals['_CONTROLPOINTFILEENTRYV0002_MEASURE']._serialized_end=1785
+  _globals['_CONTROLPOINTFILEENTRYV0002_MEASURE_MEASURELOGDATA']._serialized_start=1588
+  _globals['_CONTROLPOINTFILEENTRYV0002_MEASURE_MEASURELOGDATA']._serialized_end=1698
+  _globals['_CONTROLPOINTFILEENTRYV0002_MEASURE_MEASURETYPE']._serialized_start=1700
+  _globals['_CONTROLPOINTFILEENTRYV0002_MEASURE_MEASURETYPE']._serialized_end=1785
+  _globals['_CONTROLPOINTFILEENTRYV0002_POINTTYPE']._serialized_start=1787
+  _globals['_CONTROLPOINTFILEENTRYV0002_POINTTYPE']._serialized_end=1875
+  _globals['_CONTROLPOINTFILEENTRYV0002_APRIORISOURCE']._serialized_start=1878
+  _globals['_CONTROLPOINTFILEENTRYV0002_APRIORISOURCE']._serialized_end=2008
 # @@protoc_insertion_point(module_scope)
diff --git a/plio/io/ControlPointFileEntryV0005.proto b/plio/io/ControlPointFileEntryV0005.proto
new file mode 100644
index 0000000000000000000000000000000000000000..c26f6aa588f125118eeae609824fca8791539020
--- /dev/null
+++ b/plio/io/ControlPointFileEntryV0005.proto
@@ -0,0 +1,118 @@
+// Protocol buffer control point descriptor for Isis Control Networks
+//
+// 2018-06-13 Jesse Mapel - Added flag to indicate it is a protobuf 2 file
+// 2024-11-07 Jacob Cain  - Copied into Plio from ISIS3/src/control/objs/ControlNetVersioner
+//                          Generated new _pb2.py with protoc 28.2
+
+syntax="proto2";
+
+package Isis;
+
+message ControlPointFileEntryV0005 {
+  enum PointType {
+    Free                 = 2; //  Image to Image
+    Constrained          = 3; //  Image to Ground
+    Fixed                = 4; //  Image to Ground
+    obsolete_Tie         = 0; //  Image to Image
+    obsolete_Ground      = 1; //  Image to Ground
+  }
+
+  enum AprioriSource {
+    None              = 0;
+    User              = 1;
+    AverageOfMeasures = 2;
+    Reference         = 3;
+    Ellipsoid         = 4;
+    DEM               = 5;
+    Basemap           = 6;
+    BundleSolution    = 7;
+  }
+
+  required string         id   = 1;
+  required PointType      type = 2;
+  optional string         chooserName = 3;
+  optional string         datetime = 4;
+  optional bool           editLock = 5;
+  optional bool           ignore   = 6;
+  optional bool           jigsawRejected = 7;
+  optional int32          referenceIndex = 8;
+
+  optional AprioriSource        aprioriSurfPointSource = 9;
+  optional string               aprioriSurfPointSourceFile = 10;
+  optional AprioriSource        aprioriRadiusSource = 11;
+  optional string               aprioriRadiusSourceFile = 12;
+  optional bool                 latitudeConstrained = 13;
+  optional bool                 longitudeConstrained = 14;
+  optional bool                 radiusConstrained = 15;
+  optional double               aprioriX = 16; // <meters>
+  optional double               aprioriY = 17; // <meters>
+  optional double               aprioriZ = 18; // <meters>
+
+  //  Accuracy of apriori coordinates from basemap, user or mission SPICE,
+  //    jigsaw weights based on these values. The sigmas are stored as a
+  //    3 x 3 variance-covariance matrix.
+  repeated double aprioriCovar = 19 [packed = true];
+
+  optional double adjustedX = 20;
+  optional double adjustedY = 21;
+  optional double adjustedZ = 22;
+
+  //  Set in jigsaw.  Accuracy of adjusted lat/lon from basemap, user or
+  //  mission SPICE stored as a 3 x 3 variance-covariance matrix.
+  repeated double adjustedCovar = 23 [packed = true];
+
+  message PointLogData {
+    optional int32   doubleDataType  = 1;
+    optional double  doubleDataValue = 2;
+    optional int32   boolDataType    = 3;
+    optional bool    boolDataValue   = 4;
+  }
+
+  repeated PointLogData log = 24;
+
+// Start of ControlMeasure definition
+  message Measure {
+    enum MeasureType {
+      // predicted, unmeasured, unverified
+      Candidate           = 0;
+      // Hand Measured (e.g., qnet)
+      Manual              = 1;
+      // Automatically registered to whole pixel (e.g.,pointreg/qnet)
+      RegisteredPixel     = 2;
+      // Automatically registered to sub-pixel (e.g., pointreg/qnet)
+      RegisteredSubPixel  = 3;
+    }
+
+    message MeasureLogData {
+      optional int32   doubleDataType  = 1;
+      optional double  doubleDataValue = 2;
+      optional int32   boolDataType    = 3;
+      optional bool    boolDataValue   = 4;
+    }
+
+    required string       serialnumber   = 1;
+    required MeasureType  type           = 2;
+    optional double       sample         = 3;
+    optional double       line           = 4;
+    // Jigsaw info-solution error <pixels>
+    optional double       sampleResidual = 5;
+    optional double       lineResidual   = 6;
+    optional string       choosername    = 7;
+    optional string       datetime       = 8;
+    optional bool         editLock       = 9;
+    optional bool         ignore         = 10;
+    optional bool         jigsawRejected = 11;
+    optional double       diameter       = 12;
+    // The first identified location of measure
+    optional double       apriorisample  = 13;
+    optional double       aprioriline    = 14;
+
+    // Uncertainty/Sigma of current samp/line <pixels>
+    optional double       samplesigma    = 15;
+    optional double       linesigma      = 16;
+    repeated MeasureLogData log          = 17;
+  }
+
+  //  Actual declaration of variable number of ControlMeasures
+  repeated Measure measures = 25;
+}
diff --git a/plio/io/ControlPointFileEntryV0005_pb2.py b/plio/io/ControlPointFileEntryV0005_pb2.py
index 6b845df7b588d845ade6c72563ab8258804438ce..5776b73df840f913e4b69c2c8970cf46f8107407 100644
--- a/plio/io/ControlPointFileEntryV0005_pb2.py
+++ b/plio/io/ControlPointFileEntryV0005_pb2.py
@@ -1,13 +1,22 @@
 # -*- coding: utf-8 -*-
 # Generated by the protocol buffer compiler.  DO NOT EDIT!
+# NO CHECKED-IN PROTOBUF GENCODE
 # source: ControlPointFileEntryV0005.proto
-
-import sys
-_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
+# Protobuf Python Version: 5.28.2
+"""Generated protocol buffer code."""
 from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
+from google.protobuf import descriptor_pool as _descriptor_pool
+from google.protobuf import runtime_version as _runtime_version
 from google.protobuf import symbol_database as _symbol_database
+from google.protobuf.internal import builder as _builder
+_runtime_version.ValidateProtobufRuntimeVersion(
+    _runtime_version.Domain.PUBLIC,
+    5,
+    28,
+    2,
+    '',
+    'ControlPointFileEntryV0005.proto'
+)
 # @@protoc_insertion_point(imports)
 
 _sym_db = _symbol_database.Default()
@@ -15,620 +24,29 @@ _sym_db = _symbol_database.Default()
 
 
 
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='ControlPointFileEntryV0005.proto',
-  package='Isis',
-  syntax='proto2',
-  serialized_options=None,
-  serialized_pb=_b('\n ControlPointFileEntryV0005.proto\x12\x04Isis\"\x82\x0e\n\x1a\x43ontrolPointFileEntryV0005\x12\n\n\x02id\x18\x01 \x02(\t\x12\x38\n\x04type\x18\x02 \x02(\x0e\x32*.Isis.ControlPointFileEntryV0005.PointType\x12\x13\n\x0b\x63hooserName\x18\x03 \x01(\t\x12\x10\n\x08\x64\x61tetime\x18\x04 \x01(\t\x12\x10\n\x08\x65\x64itLock\x18\x05 \x01(\x08\x12\x0e\n\x06ignore\x18\x06 \x01(\x08\x12\x16\n\x0ejigsawRejected\x18\x07 \x01(\x08\x12\x16\n\x0ereferenceIndex\x18\x08 \x01(\x05\x12N\n\x16\x61prioriSurfPointSource\x18\t \x01(\x0e\x32..Isis.ControlPointFileEntryV0005.AprioriSource\x12\"\n\x1a\x61prioriSurfPointSourceFile\x18\n \x01(\t\x12K\n\x13\x61prioriRadiusSource\x18\x0b \x01(\x0e\x32..Isis.ControlPointFileEntryV0005.AprioriSource\x12\x1f\n\x17\x61prioriRadiusSourceFile\x18\x0c \x01(\t\x12\x1b\n\x13latitudeConstrained\x18\r \x01(\x08\x12\x1c\n\x14longitudeConstrained\x18\x0e \x01(\x08\x12\x19\n\x11radiusConstrained\x18\x0f \x01(\x08\x12\x10\n\x08\x61prioriX\x18\x10 \x01(\x01\x12\x10\n\x08\x61prioriY\x18\x11 \x01(\x01\x12\x10\n\x08\x61prioriZ\x18\x12 \x01(\x01\x12\x18\n\x0c\x61prioriCovar\x18\x13 \x03(\x01\x42\x02\x10\x01\x12\x11\n\tadjustedX\x18\x14 \x01(\x01\x12\x11\n\tadjustedY\x18\x15 \x01(\x01\x12\x11\n\tadjustedZ\x18\x16 \x01(\x01\x12\x19\n\radjustedCovar\x18\x17 \x03(\x01\x42\x02\x10\x01\x12:\n\x03log\x18\x18 \x03(\x0b\x32-.Isis.ControlPointFileEntryV0005.PointLogData\x12:\n\x08measures\x18\x19 \x03(\x0b\x32(.Isis.ControlPointFileEntryV0005.Measure\x1al\n\x0cPointLogData\x12\x16\n\x0e\x64oubleDataType\x18\x01 \x01(\x05\x12\x17\n\x0f\x64oubleDataValue\x18\x02 \x01(\x01\x12\x14\n\x0c\x62oolDataType\x18\x03 \x01(\x05\x12\x15\n\rboolDataValue\x18\x04 \x01(\x08\x1a\x83\x05\n\x07Measure\x12\x14\n\x0cserialnumber\x18\x01 \x02(\t\x12\x42\n\x04type\x18\x02 \x02(\x0e\x32\x34.Isis.ControlPointFileEntryV0005.Measure.MeasureType\x12\x0e\n\x06sample\x18\x03 \x01(\x01\x12\x0c\n\x04line\x18\x04 \x01(\x01\x12\x16\n\x0esampleResidual\x18\x05 \x01(\x01\x12\x14\n\x0clineResidual\x18\x06 \x01(\x01\x12\x13\n\x0b\x63hoosername\x18\x07 \x01(\t\x12\x10\n\x08\x64\x61tetime\x18\x08 \x01(\t\x12\x10\n\x08\x65\x64itLock\x18\t \x01(\x08\x12\x0e\n\x06ignore\x18\n \x01(\x08\x12\x16\n\x0ejigsawRejected\x18\x0b \x01(\x08\x12\x10\n\x08\x64iameter\x18\x0c \x01(\x01\x12\x15\n\rapriorisample\x18\r \x01(\x01\x12\x13\n\x0b\x61prioriline\x18\x0e \x01(\x01\x12\x13\n\x0bsamplesigma\x18\x0f \x01(\x01\x12\x11\n\tlinesigma\x18\x10 \x01(\x01\x12\x44\n\x03log\x18\x11 \x03(\x0b\x32\x37.Isis.ControlPointFileEntryV0005.Measure.MeasureLogData\x1an\n\x0eMeasureLogData\x12\x16\n\x0e\x64oubleDataType\x18\x01 \x01(\x05\x12\x17\n\x0f\x64oubleDataValue\x18\x02 \x01(\x01\x12\x14\n\x0c\x62oolDataType\x18\x03 \x01(\x05\x12\x15\n\rboolDataValue\x18\x04 \x01(\x08\"U\n\x0bMeasureType\x12\r\n\tCandidate\x10\x00\x12\n\n\x06Manual\x10\x01\x12\x13\n\x0fRegisteredPixel\x10\x02\x12\x16\n\x12RegisteredSubPixel\x10\x03\"X\n\tPointType\x12\x08\n\x04\x46ree\x10\x02\x12\x0f\n\x0b\x43onstrained\x10\x03\x12\t\n\x05\x46ixed\x10\x04\x12\x10\n\x0cobsolete_Tie\x10\x00\x12\x13\n\x0fobsolete_Ground\x10\x01\"\x82\x01\n\rAprioriSource\x12\x08\n\x04None\x10\x00\x12\x08\n\x04User\x10\x01\x12\x15\n\x11\x41verageOfMeasures\x10\x02\x12\r\n\tReference\x10\x03\x12\r\n\tEllipsoid\x10\x04\x12\x07\n\x03\x44\x45M\x10\x05\x12\x0b\n\x07\x42\x61semap\x10\x06\x12\x12\n\x0e\x42undleSolution\x10\x07')
-)
-
-
-
-_CONTROLPOINTFILEENTRYV0005_MEASURE_MEASURETYPE = _descriptor.EnumDescriptor(
-  name='MeasureType',
-  full_name='Isis.ControlPointFileEntryV0005.Measure.MeasureType',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='Candidate', index=0, number=0,
-      serialized_options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='Manual', index=1, number=1,
-      serialized_options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='RegisteredPixel', index=2, number=2,
-      serialized_options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='RegisteredSubPixel', index=3, number=3,
-      serialized_options=None,
-      type=None),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=1529,
-  serialized_end=1614,
-)
-_sym_db.RegisterEnumDescriptor(_CONTROLPOINTFILEENTRYV0005_MEASURE_MEASURETYPE)
-
-_CONTROLPOINTFILEENTRYV0005_POINTTYPE = _descriptor.EnumDescriptor(
-  name='PointType',
-  full_name='Isis.ControlPointFileEntryV0005.PointType',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='Free', index=0, number=2,
-      serialized_options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='Constrained', index=1, number=3,
-      serialized_options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='Fixed', index=2, number=4,
-      serialized_options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='obsolete_Tie', index=3, number=0,
-      serialized_options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='obsolete_Ground', index=4, number=1,
-      serialized_options=None,
-      type=None),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=1616,
-  serialized_end=1704,
-)
-_sym_db.RegisterEnumDescriptor(_CONTROLPOINTFILEENTRYV0005_POINTTYPE)
-
-_CONTROLPOINTFILEENTRYV0005_APRIORISOURCE = _descriptor.EnumDescriptor(
-  name='AprioriSource',
-  full_name='Isis.ControlPointFileEntryV0005.AprioriSource',
-  filename=None,
-  file=DESCRIPTOR,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='None', index=0, number=0,
-      serialized_options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='User', index=1, number=1,
-      serialized_options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='AverageOfMeasures', index=2, number=2,
-      serialized_options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='Reference', index=3, number=3,
-      serialized_options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='Ellipsoid', index=4, number=4,
-      serialized_options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='DEM', index=5, number=5,
-      serialized_options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='Basemap', index=6, number=6,
-      serialized_options=None,
-      type=None),
-    _descriptor.EnumValueDescriptor(
-      name='BundleSolution', index=7, number=7,
-      serialized_options=None,
-      type=None),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=1707,
-  serialized_end=1837,
-)
-_sym_db.RegisterEnumDescriptor(_CONTROLPOINTFILEENTRYV0005_APRIORISOURCE)
-
-
-_CONTROLPOINTFILEENTRYV0005_POINTLOGDATA = _descriptor.Descriptor(
-  name='PointLogData',
-  full_name='Isis.ControlPointFileEntryV0005.PointLogData',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='doubleDataType', full_name='Isis.ControlPointFileEntryV0005.PointLogData.doubleDataType', index=0,
-      number=1, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='doubleDataValue', full_name='Isis.ControlPointFileEntryV0005.PointLogData.doubleDataValue', index=1,
-      number=2, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='boolDataType', full_name='Isis.ControlPointFileEntryV0005.PointLogData.boolDataType', index=2,
-      number=3, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='boolDataValue', full_name='Isis.ControlPointFileEntryV0005.PointLogData.boolDataValue', index=3,
-      number=4, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto2',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=860,
-  serialized_end=968,
-)
-
-_CONTROLPOINTFILEENTRYV0005_MEASURE_MEASURELOGDATA = _descriptor.Descriptor(
-  name='MeasureLogData',
-  full_name='Isis.ControlPointFileEntryV0005.Measure.MeasureLogData',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='doubleDataType', full_name='Isis.ControlPointFileEntryV0005.Measure.MeasureLogData.doubleDataType', index=0,
-      number=1, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='doubleDataValue', full_name='Isis.ControlPointFileEntryV0005.Measure.MeasureLogData.doubleDataValue', index=1,
-      number=2, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='boolDataType', full_name='Isis.ControlPointFileEntryV0005.Measure.MeasureLogData.boolDataType', index=2,
-      number=3, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='boolDataValue', full_name='Isis.ControlPointFileEntryV0005.Measure.MeasureLogData.boolDataValue', index=3,
-      number=4, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto2',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1417,
-  serialized_end=1527,
-)
-
-_CONTROLPOINTFILEENTRYV0005_MEASURE = _descriptor.Descriptor(
-  name='Measure',
-  full_name='Isis.ControlPointFileEntryV0005.Measure',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='serialnumber', full_name='Isis.ControlPointFileEntryV0005.Measure.serialnumber', index=0,
-      number=1, type=9, cpp_type=9, label=2,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='type', full_name='Isis.ControlPointFileEntryV0005.Measure.type', index=1,
-      number=2, type=14, cpp_type=8, label=2,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='sample', full_name='Isis.ControlPointFileEntryV0005.Measure.sample', index=2,
-      number=3, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='line', full_name='Isis.ControlPointFileEntryV0005.Measure.line', index=3,
-      number=4, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='sampleResidual', full_name='Isis.ControlPointFileEntryV0005.Measure.sampleResidual', index=4,
-      number=5, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='lineResidual', full_name='Isis.ControlPointFileEntryV0005.Measure.lineResidual', index=5,
-      number=6, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='choosername', full_name='Isis.ControlPointFileEntryV0005.Measure.choosername', index=6,
-      number=7, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='datetime', full_name='Isis.ControlPointFileEntryV0005.Measure.datetime', index=7,
-      number=8, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='editLock', full_name='Isis.ControlPointFileEntryV0005.Measure.editLock', index=8,
-      number=9, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='ignore', full_name='Isis.ControlPointFileEntryV0005.Measure.ignore', index=9,
-      number=10, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='jigsawRejected', full_name='Isis.ControlPointFileEntryV0005.Measure.jigsawRejected', index=10,
-      number=11, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='diameter', full_name='Isis.ControlPointFileEntryV0005.Measure.diameter', index=11,
-      number=12, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='apriorisample', full_name='Isis.ControlPointFileEntryV0005.Measure.apriorisample', index=12,
-      number=13, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='aprioriline', full_name='Isis.ControlPointFileEntryV0005.Measure.aprioriline', index=13,
-      number=14, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='samplesigma', full_name='Isis.ControlPointFileEntryV0005.Measure.samplesigma', index=14,
-      number=15, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='linesigma', full_name='Isis.ControlPointFileEntryV0005.Measure.linesigma', index=15,
-      number=16, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='log', full_name='Isis.ControlPointFileEntryV0005.Measure.log', index=16,
-      number=17, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-  ],
-  extensions=[
-  ],
-  nested_types=[_CONTROLPOINTFILEENTRYV0005_MEASURE_MEASURELOGDATA, ],
-  enum_types=[
-    _CONTROLPOINTFILEENTRYV0005_MEASURE_MEASURETYPE,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto2',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=971,
-  serialized_end=1614,
-)
-
-_CONTROLPOINTFILEENTRYV0005 = _descriptor.Descriptor(
-  name='ControlPointFileEntryV0005',
-  full_name='Isis.ControlPointFileEntryV0005',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='id', full_name='Isis.ControlPointFileEntryV0005.id', index=0,
-      number=1, type=9, cpp_type=9, label=2,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='type', full_name='Isis.ControlPointFileEntryV0005.type', index=1,
-      number=2, type=14, cpp_type=8, label=2,
-      has_default_value=False, default_value=2,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='chooserName', full_name='Isis.ControlPointFileEntryV0005.chooserName', index=2,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='datetime', full_name='Isis.ControlPointFileEntryV0005.datetime', index=3,
-      number=4, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='editLock', full_name='Isis.ControlPointFileEntryV0005.editLock', index=4,
-      number=5, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='ignore', full_name='Isis.ControlPointFileEntryV0005.ignore', index=5,
-      number=6, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='jigsawRejected', full_name='Isis.ControlPointFileEntryV0005.jigsawRejected', index=6,
-      number=7, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='referenceIndex', full_name='Isis.ControlPointFileEntryV0005.referenceIndex', index=7,
-      number=8, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='aprioriSurfPointSource', full_name='Isis.ControlPointFileEntryV0005.aprioriSurfPointSource', index=8,
-      number=9, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='aprioriSurfPointSourceFile', full_name='Isis.ControlPointFileEntryV0005.aprioriSurfPointSourceFile', index=9,
-      number=10, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='aprioriRadiusSource', full_name='Isis.ControlPointFileEntryV0005.aprioriRadiusSource', index=10,
-      number=11, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='aprioriRadiusSourceFile', full_name='Isis.ControlPointFileEntryV0005.aprioriRadiusSourceFile', index=11,
-      number=12, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=_b("").decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='latitudeConstrained', full_name='Isis.ControlPointFileEntryV0005.latitudeConstrained', index=12,
-      number=13, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='longitudeConstrained', full_name='Isis.ControlPointFileEntryV0005.longitudeConstrained', index=13,
-      number=14, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='radiusConstrained', full_name='Isis.ControlPointFileEntryV0005.radiusConstrained', index=14,
-      number=15, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='aprioriX', full_name='Isis.ControlPointFileEntryV0005.aprioriX', index=15,
-      number=16, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='aprioriY', full_name='Isis.ControlPointFileEntryV0005.aprioriY', index=16,
-      number=17, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='aprioriZ', full_name='Isis.ControlPointFileEntryV0005.aprioriZ', index=17,
-      number=18, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='aprioriCovar', full_name='Isis.ControlPointFileEntryV0005.aprioriCovar', index=18,
-      number=19, type=1, cpp_type=5, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=_b('\020\001'), file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='adjustedX', full_name='Isis.ControlPointFileEntryV0005.adjustedX', index=19,
-      number=20, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='adjustedY', full_name='Isis.ControlPointFileEntryV0005.adjustedY', index=20,
-      number=21, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='adjustedZ', full_name='Isis.ControlPointFileEntryV0005.adjustedZ', index=21,
-      number=22, type=1, cpp_type=5, label=1,
-      has_default_value=False, default_value=float(0),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='adjustedCovar', full_name='Isis.ControlPointFileEntryV0005.adjustedCovar', index=22,
-      number=23, type=1, cpp_type=5, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=_b('\020\001'), file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='log', full_name='Isis.ControlPointFileEntryV0005.log', index=23,
-      number=24, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='measures', full_name='Isis.ControlPointFileEntryV0005.measures', index=24,
-      number=25, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
-  ],
-  extensions=[
-  ],
-  nested_types=[_CONTROLPOINTFILEENTRYV0005_POINTLOGDATA, _CONTROLPOINTFILEENTRYV0005_MEASURE, ],
-  enum_types=[
-    _CONTROLPOINTFILEENTRYV0005_POINTTYPE,
-    _CONTROLPOINTFILEENTRYV0005_APRIORISOURCE,
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto2',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=43,
-  serialized_end=1837,
-)
-
-_CONTROLPOINTFILEENTRYV0005_POINTLOGDATA.containing_type = _CONTROLPOINTFILEENTRYV0005
-_CONTROLPOINTFILEENTRYV0005_MEASURE_MEASURELOGDATA.containing_type = _CONTROLPOINTFILEENTRYV0005_MEASURE
-_CONTROLPOINTFILEENTRYV0005_MEASURE.fields_by_name['type'].enum_type = _CONTROLPOINTFILEENTRYV0005_MEASURE_MEASURETYPE
-_CONTROLPOINTFILEENTRYV0005_MEASURE.fields_by_name['log'].message_type = _CONTROLPOINTFILEENTRYV0005_MEASURE_MEASURELOGDATA
-_CONTROLPOINTFILEENTRYV0005_MEASURE.containing_type = _CONTROLPOINTFILEENTRYV0005
-_CONTROLPOINTFILEENTRYV0005_MEASURE_MEASURETYPE.containing_type = _CONTROLPOINTFILEENTRYV0005_MEASURE
-_CONTROLPOINTFILEENTRYV0005.fields_by_name['type'].enum_type = _CONTROLPOINTFILEENTRYV0005_POINTTYPE
-_CONTROLPOINTFILEENTRYV0005.fields_by_name['aprioriSurfPointSource'].enum_type = _CONTROLPOINTFILEENTRYV0005_APRIORISOURCE
-_CONTROLPOINTFILEENTRYV0005.fields_by_name['aprioriRadiusSource'].enum_type = _CONTROLPOINTFILEENTRYV0005_APRIORISOURCE
-_CONTROLPOINTFILEENTRYV0005.fields_by_name['log'].message_type = _CONTROLPOINTFILEENTRYV0005_POINTLOGDATA
-_CONTROLPOINTFILEENTRYV0005.fields_by_name['measures'].message_type = _CONTROLPOINTFILEENTRYV0005_MEASURE
-_CONTROLPOINTFILEENTRYV0005_POINTTYPE.containing_type = _CONTROLPOINTFILEENTRYV0005
-_CONTROLPOINTFILEENTRYV0005_APRIORISOURCE.containing_type = _CONTROLPOINTFILEENTRYV0005
-DESCRIPTOR.message_types_by_name['ControlPointFileEntryV0005'] = _CONTROLPOINTFILEENTRYV0005
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-ControlPointFileEntryV0005 = _reflection.GeneratedProtocolMessageType('ControlPointFileEntryV0005', (_message.Message,), dict(
-
-  PointLogData = _reflection.GeneratedProtocolMessageType('PointLogData', (_message.Message,), dict(
-    DESCRIPTOR = _CONTROLPOINTFILEENTRYV0005_POINTLOGDATA,
-    __module__ = 'ControlPointFileEntryV0005_pb2'
-    # @@protoc_insertion_point(class_scope:Isis.ControlPointFileEntryV0005.PointLogData)
-    ))
-  ,
-
-  Measure = _reflection.GeneratedProtocolMessageType('Measure', (_message.Message,), dict(
-
-    MeasureLogData = _reflection.GeneratedProtocolMessageType('MeasureLogData', (_message.Message,), dict(
-      DESCRIPTOR = _CONTROLPOINTFILEENTRYV0005_MEASURE_MEASURELOGDATA,
-      __module__ = 'ControlPointFileEntryV0005_pb2'
-      # @@protoc_insertion_point(class_scope:Isis.ControlPointFileEntryV0005.Measure.MeasureLogData)
-      ))
-    ,
-    DESCRIPTOR = _CONTROLPOINTFILEENTRYV0005_MEASURE,
-    __module__ = 'ControlPointFileEntryV0005_pb2'
-    # @@protoc_insertion_point(class_scope:Isis.ControlPointFileEntryV0005.Measure)
-    ))
-  ,
-  DESCRIPTOR = _CONTROLPOINTFILEENTRYV0005,
-  __module__ = 'ControlPointFileEntryV0005_pb2'
-  # @@protoc_insertion_point(class_scope:Isis.ControlPointFileEntryV0005)
-  ))
-_sym_db.RegisterMessage(ControlPointFileEntryV0005)
-_sym_db.RegisterMessage(ControlPointFileEntryV0005.PointLogData)
-_sym_db.RegisterMessage(ControlPointFileEntryV0005.Measure)
-_sym_db.RegisterMessage(ControlPointFileEntryV0005.Measure.MeasureLogData)
-
-
-_CONTROLPOINTFILEENTRYV0005.fields_by_name['aprioriCovar']._options = None
-_CONTROLPOINTFILEENTRYV0005.fields_by_name['adjustedCovar']._options = None
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n ControlPointFileEntryV0005.proto\x12\x04Isis\"\x82\x0e\n\x1a\x43ontrolPointFileEntryV0005\x12\n\n\x02id\x18\x01 \x02(\t\x12\x38\n\x04type\x18\x02 \x02(\x0e\x32*.Isis.ControlPointFileEntryV0005.PointType\x12\x13\n\x0b\x63hooserName\x18\x03 \x01(\t\x12\x10\n\x08\x64\x61tetime\x18\x04 \x01(\t\x12\x10\n\x08\x65\x64itLock\x18\x05 \x01(\x08\x12\x0e\n\x06ignore\x18\x06 \x01(\x08\x12\x16\n\x0ejigsawRejected\x18\x07 \x01(\x08\x12\x16\n\x0ereferenceIndex\x18\x08 \x01(\x05\x12N\n\x16\x61prioriSurfPointSource\x18\t \x01(\x0e\x32..Isis.ControlPointFileEntryV0005.AprioriSource\x12\"\n\x1a\x61prioriSurfPointSourceFile\x18\n \x01(\t\x12K\n\x13\x61prioriRadiusSource\x18\x0b \x01(\x0e\x32..Isis.ControlPointFileEntryV0005.AprioriSource\x12\x1f\n\x17\x61prioriRadiusSourceFile\x18\x0c \x01(\t\x12\x1b\n\x13latitudeConstrained\x18\r \x01(\x08\x12\x1c\n\x14longitudeConstrained\x18\x0e \x01(\x08\x12\x19\n\x11radiusConstrained\x18\x0f \x01(\x08\x12\x10\n\x08\x61prioriX\x18\x10 \x01(\x01\x12\x10\n\x08\x61prioriY\x18\x11 \x01(\x01\x12\x10\n\x08\x61prioriZ\x18\x12 \x01(\x01\x12\x18\n\x0c\x61prioriCovar\x18\x13 \x03(\x01\x42\x02\x10\x01\x12\x11\n\tadjustedX\x18\x14 \x01(\x01\x12\x11\n\tadjustedY\x18\x15 \x01(\x01\x12\x11\n\tadjustedZ\x18\x16 \x01(\x01\x12\x19\n\radjustedCovar\x18\x17 \x03(\x01\x42\x02\x10\x01\x12:\n\x03log\x18\x18 \x03(\x0b\x32-.Isis.ControlPointFileEntryV0005.PointLogData\x12:\n\x08measures\x18\x19 \x03(\x0b\x32(.Isis.ControlPointFileEntryV0005.Measure\x1al\n\x0cPointLogData\x12\x16\n\x0e\x64oubleDataType\x18\x01 \x01(\x05\x12\x17\n\x0f\x64oubleDataValue\x18\x02 \x01(\x01\x12\x14\n\x0c\x62oolDataType\x18\x03 \x01(\x05\x12\x15\n\rboolDataValue\x18\x04 \x01(\x08\x1a\x83\x05\n\x07Measure\x12\x14\n\x0cserialnumber\x18\x01 \x02(\t\x12\x42\n\x04type\x18\x02 \x02(\x0e\x32\x34.Isis.ControlPointFileEntryV0005.Measure.MeasureType\x12\x0e\n\x06sample\x18\x03 \x01(\x01\x12\x0c\n\x04line\x18\x04 \x01(\x01\x12\x16\n\x0esampleResidual\x18\x05 \x01(\x01\x12\x14\n\x0clineResidual\x18\x06 \x01(\x01\x12\x13\n\x0b\x63hoosername\x18\x07 \x01(\t\x12\x10\n\x08\x64\x61tetime\x18\x08 \x01(\t\x12\x10\n\x08\x65\x64itLock\x18\t \x01(\x08\x12\x0e\n\x06ignore\x18\n \x01(\x08\x12\x16\n\x0ejigsawRejected\x18\x0b \x01(\x08\x12\x10\n\x08\x64iameter\x18\x0c \x01(\x01\x12\x15\n\rapriorisample\x18\r \x01(\x01\x12\x13\n\x0b\x61prioriline\x18\x0e \x01(\x01\x12\x13\n\x0bsamplesigma\x18\x0f \x01(\x01\x12\x11\n\tlinesigma\x18\x10 \x01(\x01\x12\x44\n\x03log\x18\x11 \x03(\x0b\x32\x37.Isis.ControlPointFileEntryV0005.Measure.MeasureLogData\x1an\n\x0eMeasureLogData\x12\x16\n\x0e\x64oubleDataType\x18\x01 \x01(\x05\x12\x17\n\x0f\x64oubleDataValue\x18\x02 \x01(\x01\x12\x14\n\x0c\x62oolDataType\x18\x03 \x01(\x05\x12\x15\n\rboolDataValue\x18\x04 \x01(\x08\"U\n\x0bMeasureType\x12\r\n\tCandidate\x10\x00\x12\n\n\x06Manual\x10\x01\x12\x13\n\x0fRegisteredPixel\x10\x02\x12\x16\n\x12RegisteredSubPixel\x10\x03\"X\n\tPointType\x12\x08\n\x04\x46ree\x10\x02\x12\x0f\n\x0b\x43onstrained\x10\x03\x12\t\n\x05\x46ixed\x10\x04\x12\x10\n\x0cobsolete_Tie\x10\x00\x12\x13\n\x0fobsolete_Ground\x10\x01\"\x82\x01\n\rAprioriSource\x12\x08\n\x04None\x10\x00\x12\x08\n\x04User\x10\x01\x12\x15\n\x11\x41verageOfMeasures\x10\x02\x12\r\n\tReference\x10\x03\x12\r\n\tEllipsoid\x10\x04\x12\x07\n\x03\x44\x45M\x10\x05\x12\x0b\n\x07\x42\x61semap\x10\x06\x12\x12\n\x0e\x42undleSolution\x10\x07')
+
+_globals = globals()
+_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
+_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'ControlPointFileEntryV0005_pb2', _globals)
+if not _descriptor._USE_C_DESCRIPTORS:
+  DESCRIPTOR._loaded_options = None
+  _globals['_CONTROLPOINTFILEENTRYV0005'].fields_by_name['aprioriCovar']._loaded_options = None
+  _globals['_CONTROLPOINTFILEENTRYV0005'].fields_by_name['aprioriCovar']._serialized_options = b'\020\001'
+  _globals['_CONTROLPOINTFILEENTRYV0005'].fields_by_name['adjustedCovar']._loaded_options = None
+  _globals['_CONTROLPOINTFILEENTRYV0005'].fields_by_name['adjustedCovar']._serialized_options = b'\020\001'
+  _globals['_CONTROLPOINTFILEENTRYV0005']._serialized_start=43
+  _globals['_CONTROLPOINTFILEENTRYV0005']._serialized_end=1837
+  _globals['_CONTROLPOINTFILEENTRYV0005_POINTLOGDATA']._serialized_start=860
+  _globals['_CONTROLPOINTFILEENTRYV0005_POINTLOGDATA']._serialized_end=968
+  _globals['_CONTROLPOINTFILEENTRYV0005_MEASURE']._serialized_start=971
+  _globals['_CONTROLPOINTFILEENTRYV0005_MEASURE']._serialized_end=1614
+  _globals['_CONTROLPOINTFILEENTRYV0005_MEASURE_MEASURELOGDATA']._serialized_start=1417
+  _globals['_CONTROLPOINTFILEENTRYV0005_MEASURE_MEASURELOGDATA']._serialized_end=1527
+  _globals['_CONTROLPOINTFILEENTRYV0005_MEASURE_MEASURETYPE']._serialized_start=1529
+  _globals['_CONTROLPOINTFILEENTRYV0005_MEASURE_MEASURETYPE']._serialized_end=1614
+  _globals['_CONTROLPOINTFILEENTRYV0005_POINTTYPE']._serialized_start=1616
+  _globals['_CONTROLPOINTFILEENTRYV0005_POINTTYPE']._serialized_end=1704
+  _globals['_CONTROLPOINTFILEENTRYV0005_APRIORISOURCE']._serialized_start=1707
+  _globals['_CONTROLPOINTFILEENTRYV0005_APRIORISOURCE']._serialized_end=1837
 # @@protoc_insertion_point(module_scope)
diff --git a/plio/io/io_tes.py b/plio/io/io_tes.py
index 588900666283f69e1b5604395ff126a465d11b03..916794e66dcabb315fcb85ff1996a09fce739cb0 100644
--- a/plio/io/io_tes.py
+++ b/plio/io/io_tes.py
@@ -226,7 +226,8 @@ class Tes(object):
         with open(input_data, 'rb') as file:
             file.seek(data_start)
             buffer = file.read(nrecords*nbytes_per_rec)
-            array = np.frombuffer(buffer, dtype=numpy_dtypes[dataset.upper()]).byteswap().newbyteorder()
+            arrayFrBuf = np.frombuffer(buffer, dtype=numpy_dtypes[dataset.upper()])
+            array = arrayFrBuf.byteswap().view(arrayFrBuf.dtype.newbyteorder())
 
         df = pd.DataFrame(data=array, columns=columns[dataset.upper()])