Giter VIP home page Giter VIP logo

lcmap-pyccd's People

Contributors

caffeine-potent avatar davidvhill avatar htollerud-usgs avatar kelcy-smith avatar klsmith-usgs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lcmap-pyccd's Issues

Installation and pytest running failure

Hi,
I followed the installation guidelines and installed device and test dependencies, but got a red warning during the last part saying that 'pytest-profiling 1.6.0 has requirement pytest<4.0.0, but you'll have pytest 4.3.0 which is incompatible.' Then I ran the pytest and got below error. I also tried to run the Python Notebook but it failed to load module aniso8601, while it was installed in the site-packages. Could you please help me resolve this issue?

Traceback (most recent call last):
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\pluggy\manager.py", line 274, in load_setuptools_entrypoints
    plugin = ep.load()
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\pkg_resources\__init__.py", line 2410, in load
    self.require(*args, **kwargs)
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\pkg_resources\__init__.py", line 2433, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\pkg_resources\__init__.py", line 791, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (pytest 4.3.0 (c:\users\shhey\pyccd\.venv\lib\site-packages), Requirement.parse('pytest<4.0.0'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\python36\Lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\python36\Lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\shhey\pyccd\.venv\Scripts\pytest.exe\__main__.py", line 9, in <module>
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\_pytest\config\__init__.py", line 61, in main
    config = _prepareconfig(args, plugins)
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\_pytest\config\__init__.py", line 196, in _prepareconfig
    pluginmanager=pluginmanager, args=args
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\pluggy\hooks.py", line 289, in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\pluggy\manager.py", line 68, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\pluggy\manager.py", line 62, in <lambda>
    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\pluggy\callers.py", line 203, in _multicall
    gen.send(outcome)
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\_pytest\helpconfig.py", line 93, in pytest_cmdline_parse
    config = outcome.get_result()
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\pluggy\callers.py", line 80, in get_result
    raise ex[1].with_traceback(ex[2])
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\pluggy\callers.py", line 187, in _multicall
    res = hook_impl.function(*args)
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\_pytest\config\__init__.py", line 655, in pytest_cmdline_parse
    self.parse(args)
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\_pytest\config\__init__.py", line 871, in parse
    self._preparse(args, addopts=addopts)
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\_pytest\config\__init__.py", line 817, in _preparse
    self.pluginmanager.load_setuptools_entrypoints("pytest11")
  File "c:\users\shhey\pyccd\.venv\lib\site-packages\pluggy\manager.py", line 280, in load_setuptools_entrypoints
    message="Plugin %r could not be loaded: %s!" % (ep.name, e),
pluggy.manager.PluginValidationError: Plugin 'profiling' could not be loaded: (pytest 4.3.0 (c:\users\shhey\pyccd\.venv\lib\site-packages), Requirement.parse('pytest<4.0.0'))!

InputData

Dear,
Is there introductory user guide for pyccd?
I'm wondering if pyccd can be used by other data than ARD? if it's the case could please provide the input data specification?

Thanks
Mustapha

Can't get the same result using your dataset

Hi Kelcy Smith,

when i am running this code: https://github.com/USGS-EROS/lcmap-pyccd/blob/develop/notebooks/ccd_example.ipynb
I find i can't get the same result as you showed in this page. I am wondering why i can't get the same result even i use the default test data you used?

I still have one more question: how can i prepare my data for the CCD method? i am thinking get the scene list from Earthexplorer, and Download the dataset from ESPA. then input one pixel's time series data to this CCD method, and try to detect the break as you showed in this page: https://github.com/USGS-EROS/lcmap-pyccd/blob/develop/notebooks/ccd_example.ipynb

Thanks

ratio_clear function in lcmap-pyccd/blob/develop/ccd/qa.py returns incorrect values

It's int-casting count_clear_or_water(quality)/count_total(quality)

This means that a value like 0.99 evaluates to 0, IE. The unexpected result is that everything that doesn't have 100% clear coverage is now classified as insufficient coverage.

Quickest fix would be:

return np.float16(count_clear_or_water(quality))/np.float16(count_total(quality))

I'll make a PR shortly.

LinAlgError, 'Singular matrix'

I've run into a rare case that throws a
numpy.linalg.linalg.LinAlgError: Singular matrix error.

To my understanding:

  • The fit function uses a closed form regression technique to calculate the best fit.
  • This regression technique relies on matrix inversion.
  • Singular matrices do not have inverses.
  • X' dot X might be singular.
  • Hence this error is thrown.

My suggestion would be including a try catch that switches over to SGD if a closed form fails. I'll also need to revisit my data to see what sort of values are causing this error.

Input_data & pyccd_user_guide

Dear,
Is there introductory user guide for pyccd?
I'm wondering if pyccd can be used by other data than ARD? if it's the case could please provide the input data specification?

Thanks
Mustapha

Install dev dependencies

Dear,
when I followed the installation guidelines to install the device and test dependencies,it tell me

File "setup.py" not found. Directory cannot be installed in editable mode: /home/hanlele/pyccd
Could help me to solve this problem?
thank you very much!

Running pyccd on larger areas

I'm working on generating a "change-density" heat-map visualization using pyccd. Each pixel in this map is assigned a value equivalent to the number of change-models generated for that pixel using pyccd.

Here is a profile of my results:

  • 15 years of landsat imagery (~220 acquisitions)
  • 10km^2 extent (~300px ~300px)
  • takes approximately 2.1 hrs on 8 cores
  • single pyccd process takes .18 seconds (or 180 ms)

I was wondering what strategies USGS-EROS uses to run pyccd based analysis on larger areas?

ccd.detect returns empty change models on Test Data

ccd.detect doesn't seem to be working on your test data.

Here is the output that I'm getting:

{'algorithm': 'lcmap-pyccd:1.1.0', 'change_models': [], 'procedure': 'standard_procedure', 'processing_mask': array([False, True, False, True, True, False, False, True, False, True, True, True, True, True, False, False, False, True, False, True, False, False], dtype=bool)}

I would suggest reformatting the test data such that there is little chance that my "Formatting it to make it work in python" is the source of error.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.