How to use the porespy.filters.porosimetry function in porespy

To help you get started, we’ve selected a few porespy examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github PMEAL / porespy / test / unit / test_metrics.py View on Github external
def test_pore_size_distribution(self):
        mip = ps.filters.porosimetry(self.im3D)
        psd = ps.metrics.pore_size_distribution(mip)
        assert sp.sum(psd.satn) == 1.0
github PMEAL / porespy / test / unit / test_filters.py View on Github external
def test_porosimetry_npts_10(self):
        mip = ps.filters.porosimetry(im=self.im, sizes=10)
        steps = sp.unique(mip)
        ans = sp.array([0.00000000, 1.00000000, 1.37871571, 1.61887041,
                        1.90085700, 2.23196205, 2.62074139, 3.07724114,
                        3.61325732, 4.24264069])
        assert sp.allclose(steps, ans)
github PMEAL / porespy / test / unit / test_filters.py View on Github external
def test_porosimetry_with_sizes(self):
        s = sp.logspace(0.01, 0.6, 5)
        mip = ps.filters.porosimetry(im=self.im, sizes=s)
        assert sp.allclose(sp.unique(mip)[1:], s)
github PMEAL / porespy / test / unit / test_filters.py View on Github external
def test_porosimetry_compare_modes_3D(self):
        im = self.im
        sizes = sp.arange(25, 1, -1)
        fft = ps.filters.porosimetry(im, sizes=sizes, mode='hybrid')
        mio = ps.filters.porosimetry(im, sizes=sizes, mode='mio')
        dt = ps.filters.porosimetry(im, sizes=sizes, mode='dt')
        assert sp.all(fft == dt)
        assert sp.all(fft == mio)
github PMEAL / porespy / test / unit / test_filters.py View on Github external
def test_porosimetry_compare_modes_2D(self):
        im = self.im[:, :, 50]
        sizes = sp.arange(25, 1, -1)
        fft = ps.filters.porosimetry(im, mode='hybrid', sizes=sizes)
        mio = ps.filters.porosimetry(im, mode='mio', sizes=sizes)
        dt = ps.filters.porosimetry(im, mode='dt', sizes=sizes)
        assert sp.all(fft == dt)
        assert sp.all(fft == mio)
github PMEAL / porespy / test / unit / test_filters.py View on Github external
def test_porosimetry_compare_modes_3D(self):
        im = self.im
        sizes = sp.arange(25, 1, -1)
        fft = ps.filters.porosimetry(im, sizes=sizes, mode='hybrid')
        mio = ps.filters.porosimetry(im, sizes=sizes, mode='mio')
        dt = ps.filters.porosimetry(im, sizes=sizes, mode='dt')
        assert sp.all(fft == dt)
        assert sp.all(fft == mio)
github PMEAL / porespy / test / unit / test_filters.py View on Github external
def test_porosimetry(self):
        im2d = self.im[:, :, 50]
        lt = ps.filters.local_thickness(im2d)
        sizes = np.unique(lt)
        mip = ps.filters.porosimetry(im2d,
                                     sizes=len(sizes),
                                     access_limited=False)
        assert mip.max() <= sizes.max()
github PMEAL / porespy / porespy / simulations / __Porosimetry__.py View on Github external
def run(self, npts=25, sizes=None, inlets=None, access_limited=True):
        temp = porosimetry(im=self.im, npts=npts, sizes=sizes, inlets=inlets,
                           access_limited=access_limited)
        self._result = temp
        return temp
github PMEAL / porespy / porespy / simulations / __Porosimetry__.py View on Github external
def _get_result(self):
        if not hasattr(self, '_result'):
            print('Simulation has not been run, wait while result is computed')
            self.run()
        return self._result

    result = property(fget=_get_result)

    def run(self, npts=25, sizes=None, inlets=None, access_limited=True):
        temp = porosimetry(im=self.im, npts=npts, sizes=sizes, inlets=inlets,
                           access_limited=access_limited)
        self._result = temp
        return temp

    run.__doc__ = porosimetry.__doc__

    def plot_drainage_curve(self, fig=None, **kwargs):
        r"""
        """
        d = self.get_drainage_data()
        if fig is None:
            fig = plt.figure()
            ax = fig.add_subplot(111)
        else:
            try:
                ax = fig.get_axes()[0]
            finally:
                ax = fig.get_axes()
        ax.plot(d.radius, d.saturation, **kwargs)
        return fig