Commit 98042f8e authored by jay's avatar jay
Browse files

Increasing coverage on io

parent cf3537ea
Loading
Loading
Loading
Loading
+21 −5
Original line number Diff line number Diff line
@@ -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,
@@ -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()),
@@ -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')                   
+23 −0
Original line number Diff line number Diff line
@@ -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')
@@ -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