Loading autocnet/io/keypoints.py +21 −5 Original line number Diff line number Diff line Loading @@ -120,7 +120,7 @@ def to_hdf(out_path, keypoints=None, descriptors=None, key=None): if descriptors is not None: # Strip the leading slash if outd[1:] in grps: del hdf[outd] # Prep to replace del hdf[outd] # pragma: no cover hdf.create_dataset(outd, data=descriptors, Loading @@ -129,7 +129,7 @@ def to_hdf(out_path, keypoints=None, descriptors=None, key=None): if keypoints is not None: if outk[1:] in grps: del hdf[outk] del hdf[outk] # pragma: no cover hdf.create_dataset(outk, data=hdf.df_to_sarray(keypoints.reset_index()), Loading Loading @@ -188,9 +188,25 @@ def to_npy(keypoints, descriptors, out_path): keypoints_idx=keypoints.index, keypoints_columns=keypoints.columns) def create_output_path(ds, outdir=None): image_name = os.path.basename(ds.file_name) image_path = os.path.dirname(ds.file_name) def create_output_path(filename, outdir=None): """ Given a filename for keypoints and descriptors, create an output directory with _kps.h5 appended. Parameters ---------- filename : str The filename or full path outdir : str An optional output path Returns ------- outh5 : str Path of the output h5 file """ image_name = os.path.basename(filename) image_path = os.path.dirname(filename) if outdir is None: outh5 = os.path.join(image_path, image_name + '_kps.h5') Loading autocnet/io/tests/test_keypoints.py +23 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,21 @@ def test_read_write_hdf(tmpdir, kd): assert reloaded_kps.equals(kps) np.testing.assert_array_equal(reloaded_desc, desc) reloaded_kps = keypoints.from_hdf(path.strpath, descriptors=False) assert reloaded_kps.equals(kps) reloaded_desc = keypoints.from_hdf(path.strpath, keypoints=False) np.testing.assert_array_equal(reloaded_desc, desc) def test_read_hdf_with_index(tmpdir, kd): kps, desc = kd path = tmpdir.join('out.h5') keypoints.to_hdf(path.strpath, keypoints=kps, descriptors=desc) reloaded_kps, reloaded_desc = keypoints.from_hdf(path.strpath, index=np.arange(10)) assert len(reloaded_kps) == len(reloaded_desc) == 10 np.testing.assert_array_equal(np.arange(10), reloaded_kps.index.values) def test_read_write_hdf_with_live_file(tmpdir, kd): kps, desc = kd path = tmpdir.join('live.h5') Loading @@ -40,3 +55,11 @@ def test_read_write_hdf_with_live_file(tmpdir, kd): assert reloaded_kps.equals(kps) np.testing.assert_array_equal(reloaded_desc, desc) @pytest.mark.parametrize("filename, outdir, expected", [('foo', None, 'foo_kps.h5'), ('/path/foo', None, '/path/foo_kps.h5'), ('foo', '/path', '/path/foo_kps.h5') ]) def test_create_output_path(filename, outdir, expected): assert keypoints.create_output_path(filename, outdir=outdir) == expected Loading
autocnet/io/keypoints.py +21 −5 Original line number Diff line number Diff line Loading @@ -120,7 +120,7 @@ def to_hdf(out_path, keypoints=None, descriptors=None, key=None): if descriptors is not None: # Strip the leading slash if outd[1:] in grps: del hdf[outd] # Prep to replace del hdf[outd] # pragma: no cover hdf.create_dataset(outd, data=descriptors, Loading @@ -129,7 +129,7 @@ def to_hdf(out_path, keypoints=None, descriptors=None, key=None): if keypoints is not None: if outk[1:] in grps: del hdf[outk] del hdf[outk] # pragma: no cover hdf.create_dataset(outk, data=hdf.df_to_sarray(keypoints.reset_index()), Loading Loading @@ -188,9 +188,25 @@ def to_npy(keypoints, descriptors, out_path): keypoints_idx=keypoints.index, keypoints_columns=keypoints.columns) def create_output_path(ds, outdir=None): image_name = os.path.basename(ds.file_name) image_path = os.path.dirname(ds.file_name) def create_output_path(filename, outdir=None): """ Given a filename for keypoints and descriptors, create an output directory with _kps.h5 appended. Parameters ---------- filename : str The filename or full path outdir : str An optional output path Returns ------- outh5 : str Path of the output h5 file """ image_name = os.path.basename(filename) image_path = os.path.dirname(filename) if outdir is None: outh5 = os.path.join(image_path, image_name + '_kps.h5') Loading
autocnet/io/tests/test_keypoints.py +23 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,21 @@ def test_read_write_hdf(tmpdir, kd): assert reloaded_kps.equals(kps) np.testing.assert_array_equal(reloaded_desc, desc) reloaded_kps = keypoints.from_hdf(path.strpath, descriptors=False) assert reloaded_kps.equals(kps) reloaded_desc = keypoints.from_hdf(path.strpath, keypoints=False) np.testing.assert_array_equal(reloaded_desc, desc) def test_read_hdf_with_index(tmpdir, kd): kps, desc = kd path = tmpdir.join('out.h5') keypoints.to_hdf(path.strpath, keypoints=kps, descriptors=desc) reloaded_kps, reloaded_desc = keypoints.from_hdf(path.strpath, index=np.arange(10)) assert len(reloaded_kps) == len(reloaded_desc) == 10 np.testing.assert_array_equal(np.arange(10), reloaded_kps.index.values) def test_read_write_hdf_with_live_file(tmpdir, kd): kps, desc = kd path = tmpdir.join('live.h5') Loading @@ -40,3 +55,11 @@ def test_read_write_hdf_with_live_file(tmpdir, kd): assert reloaded_kps.equals(kps) np.testing.assert_array_equal(reloaded_desc, desc) @pytest.mark.parametrize("filename, outdir, expected", [('foo', None, 'foo_kps.h5'), ('/path/foo', None, '/path/foo_kps.h5'), ('foo', '/path', '/path/foo_kps.h5') ]) def test_create_output_path(filename, outdir, expected): assert keypoints.create_output_path(filename, outdir=outdir) == expected