Loading autocnet/control/control.py +2 −4 Changes for autocnet/control/control.py: 2 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ import pandas as pd POINT_TYPE = 2 MEASURE_TYPE = 2 class CSeries(pd.Series): """ A custom pandas series that can accept additional methods Loading @@ -16,10 +17,7 @@ class CSeries(pd.Series): class C(pd.DataFrame): """ Control network. Parameters ---------- Control network designed in the ISIS format. Attributes ---------- Loading autocnet/fileio/ControlNetFileV0002.pydeleted 100644 → 0 +0 −100 Changes for autocnet/fileio/ControlNetFileV0002.py: 0 added lines, 100 removed lines. Original line number Diff line number Diff line from protobuf3.fields import MessageField, EnumField, StringField, BoolField, Int32Field, DoubleField from enum import Enum from protobuf3.message import Message class ControlNetFileHeaderV0002(Message): pass class ControlPointFileEntryV0002(Message): class PointType(Enum): Free = 2 Constrained = 3 Fixed = 4 obsolete_Tie = 0 obsolete_Ground = 1 class AprioriSource(Enum): NA = 0 User = 1 AverageOfMeasures = 2 Reference = 3 Ellipsoid = 4 DEM = 5 Basemap = 6 BundleSolution = 7 class PointLogData(Message): pass class Measure(Message): class MeasureType(Enum): Candidate = 0 Manual = 1 RegisteredPixel = 2 RegisteredSubPixel = 3 class MeasureLogData(Message): pass ControlNetFileHeaderV0002.add_field('networkId', StringField(field_number=1, required=True)) ControlNetFileHeaderV0002.add_field('targetName', StringField(field_number=2, required=True)) ControlNetFileHeaderV0002.add_field('created', StringField(field_number=3, optional=True)) ControlNetFileHeaderV0002.add_field('lastModified', StringField(field_number=4, optional=True)) ControlNetFileHeaderV0002.add_field('description', StringField(field_number=5, optional=True)) ControlNetFileHeaderV0002.add_field('userName', StringField(field_number=6, optional=True)) ControlNetFileHeaderV0002.add_field('pointMessageSizes', Int32Field(field_number=7, repeated=True)) ControlPointFileEntryV0002.PointLogData.add_field('doubleDataType', Int32Field(field_number=1, optional=True)) ControlPointFileEntryV0002.PointLogData.add_field('doubleDataValue', DoubleField(field_number=2, optional=True)) ControlPointFileEntryV0002.PointLogData.add_field('boolDataType', Int32Field(field_number=3, optional=True)) ControlPointFileEntryV0002.PointLogData.add_field('boolDataValue', BoolField(field_number=4, optional=True)) ControlPointFileEntryV0002.Measure.MeasureLogData.add_field('doubleDataType', Int32Field(field_number=1, optional=True)) ControlPointFileEntryV0002.Measure.MeasureLogData.add_field('doubleDataValue', DoubleField(field_number=2, optional=True)) ControlPointFileEntryV0002.Measure.MeasureLogData.add_field('boolDataType', Int32Field(field_number=3, optional=True)) ControlPointFileEntryV0002.Measure.MeasureLogData.add_field('boolDataValue', BoolField(field_number=4, optional=True)) ControlPointFileEntryV0002.Measure.add_field('serialnumber', StringField(field_number=1, required=True)) ControlPointFileEntryV0002.Measure.add_field('type', EnumField(field_number=2, required=True, enum_cls=ControlPointFileEntryV0002.Measure.MeasureType)) ControlPointFileEntryV0002.Measure.add_field('sample', DoubleField(field_number=3, optional=True)) ControlPointFileEntryV0002.Measure.add_field('line', DoubleField(field_number=4, optional=True)) ControlPointFileEntryV0002.Measure.add_field('sampleResidual', DoubleField(field_number=5, optional=True)) ControlPointFileEntryV0002.Measure.add_field('lineResidual', DoubleField(field_number=6, optional=True)) ControlPointFileEntryV0002.Measure.add_field('choosername', StringField(field_number=7, optional=True)) ControlPointFileEntryV0002.Measure.add_field('datetime', StringField(field_number=8, optional=True)) ControlPointFileEntryV0002.Measure.add_field('editLock', BoolField(field_number=9, optional=True)) ControlPointFileEntryV0002.Measure.add_field('ignore', BoolField(field_number=10, optional=True)) ControlPointFileEntryV0002.Measure.add_field('jigsawRejected', BoolField(field_number=11, optional=True)) ControlPointFileEntryV0002.Measure.add_field('diameter', DoubleField(field_number=12, optional=True)) ControlPointFileEntryV0002.Measure.add_field('apriorisample', DoubleField(field_number=13, optional=True)) ControlPointFileEntryV0002.Measure.add_field('aprioriline', DoubleField(field_number=14, optional=True)) ControlPointFileEntryV0002.Measure.add_field('samplesigma', DoubleField(field_number=15, optional=True)) ControlPointFileEntryV0002.Measure.add_field('linesigma', DoubleField(field_number=16, optional=True)) ControlPointFileEntryV0002.Measure.add_field('log', MessageField(field_number=17, repeated=True, message_cls=ControlPointFileEntryV0002.Measure.MeasureLogData)) ControlPointFileEntryV0002.add_field('id', StringField(field_number=1, required=True)) ControlPointFileEntryV0002.add_field('type', EnumField(field_number=2, required=True, enum_cls=ControlPointFileEntryV0002.PointType)) ControlPointFileEntryV0002.add_field('chooserName', StringField(field_number=3, optional=True)) ControlPointFileEntryV0002.add_field('datetime', StringField(field_number=4, optional=True)) ControlPointFileEntryV0002.add_field('editLock', BoolField(field_number=5, optional=True)) ControlPointFileEntryV0002.add_field('ignore', BoolField(field_number=6, optional=True)) ControlPointFileEntryV0002.add_field('jigsawRejected', BoolField(field_number=7, optional=True)) ControlPointFileEntryV0002.add_field('referenceIndex', Int32Field(field_number=8, optional=True)) ControlPointFileEntryV0002.add_field('aprioriSurfPointSource', EnumField(field_number=9, optional=True, enum_cls=ControlPointFileEntryV0002.AprioriSource)) ControlPointFileEntryV0002.add_field('aprioriSurfPointSourceFile', StringField(field_number=10, optional=True)) ControlPointFileEntryV0002.add_field('aprioriRadiusSource', EnumField(field_number=11, optional=True, enum_cls=ControlPointFileEntryV0002.AprioriSource)) ControlPointFileEntryV0002.add_field('aprioriRadiusSourceFile', StringField(field_number=12, optional=True)) ControlPointFileEntryV0002.add_field('latitudeConstrained', BoolField(field_number=13, optional=True)) ControlPointFileEntryV0002.add_field('longitudeConstrained', BoolField(field_number=14, optional=True)) ControlPointFileEntryV0002.add_field('radiusConstrained', BoolField(field_number=15, optional=True)) ControlPointFileEntryV0002.add_field('aprioriX', DoubleField(field_number=16, optional=True)) ControlPointFileEntryV0002.add_field('aprioriY', DoubleField(field_number=17, optional=True)) ControlPointFileEntryV0002.add_field('aprioriZ', DoubleField(field_number=18, optional=True)) ControlPointFileEntryV0002.add_field('aprioriCovar', DoubleField(field_number=19, repeated=True)) ControlPointFileEntryV0002.add_field('adjustedX', DoubleField(field_number=20, optional=True)) ControlPointFileEntryV0002.add_field('adjustedY', DoubleField(field_number=21, optional=True)) ControlPointFileEntryV0002.add_field('adjustedZ', DoubleField(field_number=22, optional=True)) ControlPointFileEntryV0002.add_field('adjustedCovar', DoubleField(field_number=23, repeated=True)) ControlPointFileEntryV0002.add_field('log', MessageField(field_number=24, repeated=True, message_cls=ControlPointFileEntryV0002.PointLogData)) ControlPointFileEntryV0002.add_field('measures', MessageField(field_number=25, repeated=True, message_cls=ControlPointFileEntryV0002.Measure)) autocnet/fileio/io_controlnetwork.py +4 −1 Changes for autocnet/fileio/io_controlnetwork.py: 4 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -161,12 +161,15 @@ class IsisStore(object): point_spec.id = str(pid) point_spec.type = POINT_TYPE # The reference index should always be the image with the lowest index point_spec.referenceIndex = 0 # A single extend call is cheaper than many add calls to pack points measure_iterable = [] for name, row in point.iterrows(): measure_spec = point_spec.Measure() measure_spec.serialnumber = row.nid measure_spec.type = MEASURE_TYPE measure_spec.type = row.point_type measure_spec.sample = row.x measure_spec.line = row.y Loading autocnet/fileio/io_spectral_profiler.py +3 −2 Changes for autocnet/fileio/io_spectral_profiler.py: 3 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ class Spectral_Profiler(object): """ Attributes ========== ---------- spectra : dict A dictionary with k as the integer observation id and value Loading @@ -29,10 +29,11 @@ class Spectral_Profiler(object): Read the .spc file, parse the label, and extract the spectra Parameters ========== ---------- input_data : string The PATH to the input .spc file cleaned : boolean If True, mask the data based on the QA array. """ Loading autocnet/fileio/tests/test_io_controlnetwork.py +5 −5 Changes for autocnet/fileio/tests/test_io_controlnetwork.py: 5 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -38,10 +38,10 @@ class TestWriteIsisControlNetwork(unittest.TestCase): self.serials[2], self.serials[3]] columns = ['x', 'y', 'idx', 'pid', 'nid'] columns = ['x', 'y', 'idx', 'pid', 'nid', 'point_type'] self.data_length = 5 data = [x,y, idx, pid, serials] data = [x,y, idx, pid, serials, [2] * self.data_length] self.creation_time = strftime("%Y-%m-%d %H:%M:%S", gmtime()) cnet = C(data, index=columns).T Loading Loading @@ -69,14 +69,14 @@ class TestWriteIsisControlNetwork(unittest.TestCase): self.assertEqual('Not modified', header_protocol.lastModified) #Repeating self.assertEqual([133, 197], header_protocol.pointMessageSizes) self.assertEqual([135, 199], header_protocol.pointMessageSizes) def test_create_point(self): with open('test.net', 'rb') as f: with open('test.net', 'rb') as f: f.seek(self.point_start_byte) for i, length in enumerate([133, 197]): for i, length in enumerate([135, 199]): point_protocol = cnf.ControlPointFileEntryV0002() raw_point = f.read(length) point_protocol.ParseFromString(raw_point) Loading @@ -96,7 +96,7 @@ class TestWriteIsisControlNetwork(unittest.TestCase): self.assertEqual(5, mpoints) points_bytes = find_in_dict(pvl_header, 'PointsBytes') self.assertEqual(330, points_bytes) self.assertEqual(334, points_bytes) points_start_byte = find_in_dict(pvl_header, 'PointsStartByte') self.assertEqual(65621, points_start_byte) Loading Loading
autocnet/control/control.py +2 −4 Changes for autocnet/control/control.py: 2 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ import pandas as pd POINT_TYPE = 2 MEASURE_TYPE = 2 class CSeries(pd.Series): """ A custom pandas series that can accept additional methods Loading @@ -16,10 +17,7 @@ class CSeries(pd.Series): class C(pd.DataFrame): """ Control network. Parameters ---------- Control network designed in the ISIS format. Attributes ---------- Loading
autocnet/fileio/ControlNetFileV0002.pydeleted 100644 → 0 +0 −100 Changes for autocnet/fileio/ControlNetFileV0002.py: 0 added lines, 100 removed lines. Original line number Diff line number Diff line from protobuf3.fields import MessageField, EnumField, StringField, BoolField, Int32Field, DoubleField from enum import Enum from protobuf3.message import Message class ControlNetFileHeaderV0002(Message): pass class ControlPointFileEntryV0002(Message): class PointType(Enum): Free = 2 Constrained = 3 Fixed = 4 obsolete_Tie = 0 obsolete_Ground = 1 class AprioriSource(Enum): NA = 0 User = 1 AverageOfMeasures = 2 Reference = 3 Ellipsoid = 4 DEM = 5 Basemap = 6 BundleSolution = 7 class PointLogData(Message): pass class Measure(Message): class MeasureType(Enum): Candidate = 0 Manual = 1 RegisteredPixel = 2 RegisteredSubPixel = 3 class MeasureLogData(Message): pass ControlNetFileHeaderV0002.add_field('networkId', StringField(field_number=1, required=True)) ControlNetFileHeaderV0002.add_field('targetName', StringField(field_number=2, required=True)) ControlNetFileHeaderV0002.add_field('created', StringField(field_number=3, optional=True)) ControlNetFileHeaderV0002.add_field('lastModified', StringField(field_number=4, optional=True)) ControlNetFileHeaderV0002.add_field('description', StringField(field_number=5, optional=True)) ControlNetFileHeaderV0002.add_field('userName', StringField(field_number=6, optional=True)) ControlNetFileHeaderV0002.add_field('pointMessageSizes', Int32Field(field_number=7, repeated=True)) ControlPointFileEntryV0002.PointLogData.add_field('doubleDataType', Int32Field(field_number=1, optional=True)) ControlPointFileEntryV0002.PointLogData.add_field('doubleDataValue', DoubleField(field_number=2, optional=True)) ControlPointFileEntryV0002.PointLogData.add_field('boolDataType', Int32Field(field_number=3, optional=True)) ControlPointFileEntryV0002.PointLogData.add_field('boolDataValue', BoolField(field_number=4, optional=True)) ControlPointFileEntryV0002.Measure.MeasureLogData.add_field('doubleDataType', Int32Field(field_number=1, optional=True)) ControlPointFileEntryV0002.Measure.MeasureLogData.add_field('doubleDataValue', DoubleField(field_number=2, optional=True)) ControlPointFileEntryV0002.Measure.MeasureLogData.add_field('boolDataType', Int32Field(field_number=3, optional=True)) ControlPointFileEntryV0002.Measure.MeasureLogData.add_field('boolDataValue', BoolField(field_number=4, optional=True)) ControlPointFileEntryV0002.Measure.add_field('serialnumber', StringField(field_number=1, required=True)) ControlPointFileEntryV0002.Measure.add_field('type', EnumField(field_number=2, required=True, enum_cls=ControlPointFileEntryV0002.Measure.MeasureType)) ControlPointFileEntryV0002.Measure.add_field('sample', DoubleField(field_number=3, optional=True)) ControlPointFileEntryV0002.Measure.add_field('line', DoubleField(field_number=4, optional=True)) ControlPointFileEntryV0002.Measure.add_field('sampleResidual', DoubleField(field_number=5, optional=True)) ControlPointFileEntryV0002.Measure.add_field('lineResidual', DoubleField(field_number=6, optional=True)) ControlPointFileEntryV0002.Measure.add_field('choosername', StringField(field_number=7, optional=True)) ControlPointFileEntryV0002.Measure.add_field('datetime', StringField(field_number=8, optional=True)) ControlPointFileEntryV0002.Measure.add_field('editLock', BoolField(field_number=9, optional=True)) ControlPointFileEntryV0002.Measure.add_field('ignore', BoolField(field_number=10, optional=True)) ControlPointFileEntryV0002.Measure.add_field('jigsawRejected', BoolField(field_number=11, optional=True)) ControlPointFileEntryV0002.Measure.add_field('diameter', DoubleField(field_number=12, optional=True)) ControlPointFileEntryV0002.Measure.add_field('apriorisample', DoubleField(field_number=13, optional=True)) ControlPointFileEntryV0002.Measure.add_field('aprioriline', DoubleField(field_number=14, optional=True)) ControlPointFileEntryV0002.Measure.add_field('samplesigma', DoubleField(field_number=15, optional=True)) ControlPointFileEntryV0002.Measure.add_field('linesigma', DoubleField(field_number=16, optional=True)) ControlPointFileEntryV0002.Measure.add_field('log', MessageField(field_number=17, repeated=True, message_cls=ControlPointFileEntryV0002.Measure.MeasureLogData)) ControlPointFileEntryV0002.add_field('id', StringField(field_number=1, required=True)) ControlPointFileEntryV0002.add_field('type', EnumField(field_number=2, required=True, enum_cls=ControlPointFileEntryV0002.PointType)) ControlPointFileEntryV0002.add_field('chooserName', StringField(field_number=3, optional=True)) ControlPointFileEntryV0002.add_field('datetime', StringField(field_number=4, optional=True)) ControlPointFileEntryV0002.add_field('editLock', BoolField(field_number=5, optional=True)) ControlPointFileEntryV0002.add_field('ignore', BoolField(field_number=6, optional=True)) ControlPointFileEntryV0002.add_field('jigsawRejected', BoolField(field_number=7, optional=True)) ControlPointFileEntryV0002.add_field('referenceIndex', Int32Field(field_number=8, optional=True)) ControlPointFileEntryV0002.add_field('aprioriSurfPointSource', EnumField(field_number=9, optional=True, enum_cls=ControlPointFileEntryV0002.AprioriSource)) ControlPointFileEntryV0002.add_field('aprioriSurfPointSourceFile', StringField(field_number=10, optional=True)) ControlPointFileEntryV0002.add_field('aprioriRadiusSource', EnumField(field_number=11, optional=True, enum_cls=ControlPointFileEntryV0002.AprioriSource)) ControlPointFileEntryV0002.add_field('aprioriRadiusSourceFile', StringField(field_number=12, optional=True)) ControlPointFileEntryV0002.add_field('latitudeConstrained', BoolField(field_number=13, optional=True)) ControlPointFileEntryV0002.add_field('longitudeConstrained', BoolField(field_number=14, optional=True)) ControlPointFileEntryV0002.add_field('radiusConstrained', BoolField(field_number=15, optional=True)) ControlPointFileEntryV0002.add_field('aprioriX', DoubleField(field_number=16, optional=True)) ControlPointFileEntryV0002.add_field('aprioriY', DoubleField(field_number=17, optional=True)) ControlPointFileEntryV0002.add_field('aprioriZ', DoubleField(field_number=18, optional=True)) ControlPointFileEntryV0002.add_field('aprioriCovar', DoubleField(field_number=19, repeated=True)) ControlPointFileEntryV0002.add_field('adjustedX', DoubleField(field_number=20, optional=True)) ControlPointFileEntryV0002.add_field('adjustedY', DoubleField(field_number=21, optional=True)) ControlPointFileEntryV0002.add_field('adjustedZ', DoubleField(field_number=22, optional=True)) ControlPointFileEntryV0002.add_field('adjustedCovar', DoubleField(field_number=23, repeated=True)) ControlPointFileEntryV0002.add_field('log', MessageField(field_number=24, repeated=True, message_cls=ControlPointFileEntryV0002.PointLogData)) ControlPointFileEntryV0002.add_field('measures', MessageField(field_number=25, repeated=True, message_cls=ControlPointFileEntryV0002.Measure))
autocnet/fileio/io_controlnetwork.py +4 −1 Changes for autocnet/fileio/io_controlnetwork.py: 4 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -161,12 +161,15 @@ class IsisStore(object): point_spec.id = str(pid) point_spec.type = POINT_TYPE # The reference index should always be the image with the lowest index point_spec.referenceIndex = 0 # A single extend call is cheaper than many add calls to pack points measure_iterable = [] for name, row in point.iterrows(): measure_spec = point_spec.Measure() measure_spec.serialnumber = row.nid measure_spec.type = MEASURE_TYPE measure_spec.type = row.point_type measure_spec.sample = row.x measure_spec.line = row.y Loading
autocnet/fileio/io_spectral_profiler.py +3 −2 Changes for autocnet/fileio/io_spectral_profiler.py: 3 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ class Spectral_Profiler(object): """ Attributes ========== ---------- spectra : dict A dictionary with k as the integer observation id and value Loading @@ -29,10 +29,11 @@ class Spectral_Profiler(object): Read the .spc file, parse the label, and extract the spectra Parameters ========== ---------- input_data : string The PATH to the input .spc file cleaned : boolean If True, mask the data based on the QA array. """ Loading
autocnet/fileio/tests/test_io_controlnetwork.py +5 −5 Changes for autocnet/fileio/tests/test_io_controlnetwork.py: 5 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -38,10 +38,10 @@ class TestWriteIsisControlNetwork(unittest.TestCase): self.serials[2], self.serials[3]] columns = ['x', 'y', 'idx', 'pid', 'nid'] columns = ['x', 'y', 'idx', 'pid', 'nid', 'point_type'] self.data_length = 5 data = [x,y, idx, pid, serials] data = [x,y, idx, pid, serials, [2] * self.data_length] self.creation_time = strftime("%Y-%m-%d %H:%M:%S", gmtime()) cnet = C(data, index=columns).T Loading Loading @@ -69,14 +69,14 @@ class TestWriteIsisControlNetwork(unittest.TestCase): self.assertEqual('Not modified', header_protocol.lastModified) #Repeating self.assertEqual([133, 197], header_protocol.pointMessageSizes) self.assertEqual([135, 199], header_protocol.pointMessageSizes) def test_create_point(self): with open('test.net', 'rb') as f: with open('test.net', 'rb') as f: f.seek(self.point_start_byte) for i, length in enumerate([133, 197]): for i, length in enumerate([135, 199]): point_protocol = cnf.ControlPointFileEntryV0002() raw_point = f.read(length) point_protocol.ParseFromString(raw_point) Loading @@ -96,7 +96,7 @@ class TestWriteIsisControlNetwork(unittest.TestCase): self.assertEqual(5, mpoints) points_bytes = find_in_dict(pvl_header, 'PointsBytes') self.assertEqual(330, points_bytes) self.assertEqual(334, points_bytes) points_start_byte = find_in_dict(pvl_header, 'PointsStartByte') self.assertEqual(65621, points_start_byte) Loading