Algorithms and utilities for SAR sensors

Related tags

Algorithmssarsen
Overview

WARNING: THIS CODE IS NOT READY FOR USE

Sarsen

Algorithms and utilities for SAR sensors

Objectives

Be faster and simpler than ESA SNAP and cloud native.

  • enable SAR data geocoding
    • fast mode: to terrain-correct images
    • accurate mode: for interferometric processing
  • enable radiometric terrain correction / flattening gamma
  • support cloud-native processing
    • enable parallel processing via xarray and dask
    • enable object storage access via fsspec
  • support Sentinel-1 SLC IW and GRD
  • support any DEM that GDAL / Proj can handle

Non-objectives

  • No attempt is done to support UTC leap seconds. Observations that include a leap second may crash the code or silently return wrong results. Caveat emptor

Usage

>>> import sarsen

Comments
  • sync with latest xarray

    sync with latest xarray

    sarsen is not compatible with the latest (unreleased) xarray. I was able to report and fix a couple of issues upstream (https://github.com/pydata/xarray/issues/6597, https://github.com/pydata/xarray/issues/6600), but we need to apply a few changes in sarsen as well.

    I tested with [email protected] commit c34ef8a60227720724e90aa11a6266c0026a812a, and all tests are successful.

    Let me know if you would like me to add an action that (periodically?) runs the CI using the xarray version under development.

    opened by malmans2 4
  • SARSEN Error

    SARSEN Error

    I have tested on both CentOS 7 and Windows 10. We are unable to use SARSEN because of this error: sarsen gtc S1A_IW_GRDH_1SDV_20210519T094926_20210519T094951_037955_047ACD_7336.zip "IW/VV" GLO20_WGS84_clipped.tif Traceback (most recent call last): File "/opt/anaconda3/envs/SARSEN/bin/sarsen", line 8, in sys.exit(app()) File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/typer/main.py", line 214, in call return get_command(self)(*args, **kwargs) File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/click/core.py", line 1128, in call return self.main(*args, **kwargs) File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/click/core.py", line 1053, in main rv = self.invoke(ctx) File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/click/core.py", line 1659, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/click/core.py", line 1395, in invoke return ctx.invoke(self.callback, **ctx.params) File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/click/core.py", line 754, in invoke return __callback(*args, **kwargs) File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/typer/main.py", line 500, in wrapper return callback(**use_params) # type: ignore File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/sarsen/main.py", line 17, in gtc apps.backward_geocode_sentinel1( File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/sarsen/apps.py", line 84, in backward_geocode_sentinel1 measurement_ds = xr.open_dataset( File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/xarray/backends/api.py", line 495, in open_dataset backend_ds = backend.open_dataset( File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/xarray_sentinel/xarray_backends.py", line 18, in open_dataset ds = sentinel1.open_sentinel1_dataset( File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/xarray_sentinel/sentinel1.py", line 715, in open_sentinel1_dataset product_attrs, product_files = esa_safe.parse_manifest_sentinel1(file) File "/opt/anaconda3/envs/SARSEN/lib/python3.10/site-packages/xarray_sentinel/esa_safe.py", line 111, in parse_manifest_sentinel1 manifest = ElementTree.parse(manifest_path) File "/opt/anaconda3/envs/SARSEN/lib/python3.10/xml/etree/ElementTree.py", line 1229, in parse tree.parse(source, parser) File "/opt/anaconda3/envs/SARSEN/lib/python3.10/xml/etree/ElementTree.py", line 580, in parse self._root = parser._parse_whole(source) xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 1, column 2

    opened by S0sh0rt 3
  • Use gamma-0 backscatter convention for RTC output

    Use gamma-0 backscatter convention for RTC output

    Hi all, I was wondering why you chose to stick to the beta-0 backscatter convention instead of gamma-0 for the RTC output? Isn't the entire point of applying David Small's RTC algorithm [1] to get a terrain-flattened, gamma-0 normalized backscatter product? Furthermore, you might have heard of the CEOS CARD4L Normalised Radar Backscatter specification [2], which also endorses the gamma-0 backscatter convention.

    Great software and I'm looking forward to hearing from you!

    [1] https://doi.org/10.1109/tgrs.2011.2120616 [2] https://ceos.org/ard/files/PFS/NRB/v5.5/CARD4L-PFS_NRB_v5.5.pdf

    opened by maawoo 2
  • Radiometric terrain-correction algorithm is slow and memory hungry

    Radiometric terrain-correction algorithm is slow and memory hungry

    At the minimum:

    • [x] review what step can be simplified
    • [x] review in what step we may reduce memory pressure by moving computations to dask out-of-core
    performance 
    opened by alexamici 2
  • Bump mamba-org/provision-with-micromamba from 13 to 14

    Bump mamba-org/provision-with-micromamba from 13 to 14

    Bumps mamba-org/provision-with-micromamba from 13 to 14.

    Release notes

    Sourced from mamba-org/provision-with-micromamba's releases.

    v14

    What's Changed

    New Contributors

    Full Changelog: https://github.com/mamba-org/provision-with-micromamba/compare/v13...v14

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump mamba-org/provision-with-micromamba from 12 to 13

    Bump mamba-org/provision-with-micromamba from 12 to 13

    Bumps mamba-org/provision-with-micromamba from 12 to 13.

    Release notes

    Sourced from mamba-org/provision-with-micromamba's releases.

    v13

    • Fix channels and channel-priority settings
    • Support linux-aarch64 and osx-arm64 runners
    • Support sel(unix)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Bump codecov/codecov-action from 3.1.0 to 3.1.1

    Bump codecov/codecov-action from 3.1.0 to 3.1.1

    Bumps codecov/codecov-action from 3.1.0 to 3.1.1.

    Release notes

    Sourced from codecov/codecov-action's releases.

    3.1.1

    What's Changed

    New Contributors

    Full Changelog: https://github.com/codecov/codecov-action/compare/v3.1.0...v3.1.1

    Changelog

    Sourced from codecov/codecov-action's changelog.

    3.1.1

    Fixes

    • #661 Update deprecation warning
    • #593 Create codeql-analysis.yml
    • #712 README: fix typo
    • #725 fix: Remove a blank row
    • #726 Update README.md with correct badge version
    • #633 Create scorecards-analysis.yml
    • #747 fix: add more verbosity to validation
    • #750 Regenerate scorecards-analysis.yml
    • #774 Switch to v3
    • #783 Fix network entry in table
    • #791 Trim arguments after splitting them
    • #769 Plumb failCi into verification function.

    Dependencies

    • #713 build(deps-dev): bump typescript from 4.6.3 to 4.6.4
    • #714 build(deps): bump node-fetch from 3.2.3 to 3.2.4
    • #724 build(deps): bump github/codeql-action from 1 to 2
    • #717 build(deps-dev): bump @​types/jest from 27.4.1 to 27.5.0
    • #729 build(deps-dev): bump @​types/node from 17.0.25 to 17.0.33
    • #734 build(deps-dev): downgrade @​types/node to 16.11.35
    • #723 build(deps): bump actions/checkout from 2 to 3
    • #733 build(deps): bump @​actions/github from 5.0.1 to 5.0.3
    • #732 build(deps): bump @​actions/core from 1.6.0 to 1.8.2
    • #737 build(deps-dev): bump @​types/node from 16.11.35 to 16.11.36
    • #749 build(deps): bump ossf/scorecard-action from 1.0.1 to 1.1.0
    • #755 build(deps-dev): bump typescript from 4.6.4 to 4.7.3
    • #759 build(deps-dev): bump @​types/node from 16.11.36 to 16.11.39
    • #762 build(deps-dev): bump @​types/node from 16.11.39 to 16.11.40
    • #746 build(deps-dev): bump @​vercel/ncc from 0.33.4 to 0.34.0
    • #757 build(deps): bump ossf/scorecard-action from 1.1.0 to 1.1.1
    • #760 build(deps): bump openpgp from 5.2.1 to 5.3.0
    • #748 build(deps): bump actions/upload-artifact from 2.3.1 to 3.1.0
    • #766 build(deps-dev): bump typescript from 4.7.3 to 4.7.4
    • #799 build(deps): bump openpgp from 5.3.0 to 5.4.0
    • #798 build(deps): bump @​actions/core from 1.8.2 to 1.9.1
    Commits
    • d9f34f8 release: update changelog and version to 3.1.1 (#828)
    • 0e9e7b4 Plumb failCi into verification function. (#769)
    • 7f20bd4 build(deps): bump @​actions/core from 1.8.2 to 1.9.1 (#798)
    • 13bc253 build(deps): bump openpgp from 5.3.0 to 5.4.0 (#799)
    • 5c0da1b Trim arguments after splitting them (#791)
    • 68d5f6d Fix network entry in table (#783)
    • 2a829b9 Switch to v3 (#774)
    • 8e09eaf build(deps-dev): bump typescript from 4.7.3 to 4.7.4 (#766)
    • 39e2229 build(deps): bump actions/upload-artifact from 2.3.1 to 3.1.0 (#748)
    • b2b7703 build(deps): bump openpgp from 5.2.1 to 5.3.0 (#760)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • Add option to save the simulated image in SAR and geographic geometries

    Add option to save the simulated image in SAR and geographic geometries

    This is primarily intended as a development tool, as artefacts are more easily detectable on the simulated image, than on the RTC. It may as well allow more precise coregistration between the DEM and the image.

    opened by alexamici 0
  • Make processing dask-friendly to allow larger-than-memory and parallel processing

    Make processing dask-friendly to allow larger-than-memory and parallel processing

    Almost all operations can be chunked via the DEM chunks (not the image ones).

    This includes:

    • [x] allow controlling the DEM chunks
    • [ ] use dask-friendly xarray-sentinel helpers
    • [ ] make internal functions (that need it) dask-friendly via xarray.map_blocks
    • [ ] add borders to the gamma flattening processing to avoid "seeing" the borders of the blocks

    The main source of dask-unfriendliness is the wide spread use of DataArray.interp with the target values on the DEM coordinates. All operations (except the gamma flattening) can be performed on ("x", "y") blocks exactly.

    enhancement 
    opened by alexamici 0
  • Bump codecov/codecov-action from 3.0.0 to 3.1.0

    Bump codecov/codecov-action from 3.0.0 to 3.1.0

    Bumps codecov/codecov-action from 3.0.0 to 3.1.0.

    Release notes

    Sourced from codecov/codecov-action's releases.

    v3.1.0

    3.1.0

    Features

    • #699 Incorporate xcode arguments for the Codecov uploader

    Dependencies

    • #694 build(deps-dev): bump @​vercel/ncc from 0.33.3 to 0.33.4
    • #696 build(deps-dev): bump @​types/node from 17.0.23 to 17.0.25
    • #698 build(deps-dev): bump jest-junit from 13.0.0 to 13.2.0
    Changelog

    Sourced from codecov/codecov-action's changelog.

    3.1.0

    Features

    • #699 Incorporate xcode arguments for the Codecov uploader

    Dependencies

    • #694 build(deps-dev): bump @​vercel/ncc from 0.33.3 to 0.33.4
    • #696 build(deps-dev): bump @​types/node from 17.0.23 to 17.0.25
    • #698 build(deps-dev): bump jest-junit from 13.0.0 to 13.2.0
    Commits
    • 81cd2dc Merge pull request #699 from codecov/feat-xcode
    • a03184e feat: add xcode support
    • 6a6a9ae Merge pull request #694 from codecov/dependabot/npm_and_yarn/vercel/ncc-0.33.4
    • 92a872a Merge pull request #696 from codecov/dependabot/npm_and_yarn/types/node-17.0.25
    • 43a9c18 Merge pull request #698 from codecov/dependabot/npm_and_yarn/jest-junit-13.2.0
    • 13ce822 Merge pull request #690 from codecov/ci-v3
    • 4d6dbaa build(deps-dev): bump jest-junit from 13.0.0 to 13.2.0
    • 98f0f19 build(deps-dev): bump @​types/node from 17.0.23 to 17.0.25
    • d3021d9 build(deps-dev): bump @​vercel/ncc from 0.33.3 to 0.33.4
    • 2c83f35 Update makefile to v3
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • QST: How to use sarsen functions on other SAR constellations than S1

    QST: How to use sarsen functions on other SAR constellations than S1

    Hello,

    I would like to use sarsen to avoid using ESA SNAP in eoreader, but since this library lacks an API documentation, I have some questions 😄

    I already have my own way to load agnostically these SAR constellations:

    | Constellations | | --- | | COSMO-SkyMed 1st Generation | | COSMO-SkyMed 2nd Generation | | ICEYE | | RADARSAT Constellation Mission | | RADARSAT-2 | | Sentinel-1 | | SAOCOM-1 | | TerraSAR-X, TanDEM-X, PAZ SAR|

    I would like to use your calibration, terrain correction (and so on) methods in order to avoid calling GPT. Is this already possible? (are they fundamentally sensor agnostic ?) Is this a good way to use of your library ? It seems your algorithms are based on xarray-sentinel, but is there a workaround to your functions that would allow anyone to give bands and metadata, allowing the user to easily use your library with other constellations ?

    opened by remi-braun 4
  • DEM format requirements / Reproducible example

    DEM format requirements / Reproducible example

    Hi all, I'm running into issues processing an SLC scene. Both GTC and RTC results are not really usable. I suspect my DEM is the problem and I'm wondering why, because I'm using the same DEM to successfully create an RTC product with SNAP. Here is the gdalinfo output if you're interested.

    Can you provide some guidelines on format requirements for the DEM? Or at least a reproducible example in the notebook section. download_data.sh could, for example, be extended by a section that downloads DEM tiles from an open source (e.g., here) and prepares it with GDAL in the way sarsen expects.

    Cheers, Marco

    opened by maawoo 2
  • Add an option to crop the original product to allow fast testing

    Add an option to crop the original product to allow fast testing

    At the moment GitHub Actions on simple operation fail with a memory error, apparently due to the large size of the input image, even when opened with blocks.

    enhancement 
    opened by alexamici 0
  • Local incidence angle images

    Local incidence angle images

    Hi, I recently discovered sarsen. This is a great tool that fills an important gap in the python geo/rs stack! Thanks!

    I have started to poke around to generate local incidence angle images for GRD products on a target CRS (the one of the DEM), the goal being to have a corrected (geometry and radiometry) SAR image + the local incidence angle (LIA) as a single stack with 3 channels (VV, VH, LIA).

    Actually, I would only need the incidence angle array extracted with xarray-sentinel1 (your other lib) orthorectified on the DEM and then I could use the DEM slope and aspect to compute the local angle.

    Could you give me some guidance in how to generate the incidence angle grid on the DEM geometry? I can't wrap my head around how to use the sarsen API once I get the incidence angles from the gcp subgroup from xarray-sentinel1.

    Thank you.

    opened by inglada 0
Releases(v0.9.3)
  • v0.9.3(Nov 1, 2022)

  • v0.9.2(Jul 27, 2022)

    Algorithms and utilities for Synthetic Aperture Radar (SAR) sensors. Enables cloud-native SAR processing via Xarray and Dask.

    This Open Source project is sponsored by B-Open - https://www.bopen.eu.

    Features and limitations

    Sarsen is a Python library and command line tool with the following functionalities:

    • provides algorithms to terrain-correct satellite SAR data
      • geometric terrain correction (geocoding)
        • fast mode: to terrain-correct images
        • accurate mode: for interferometric processing
      • radiometric terrain correction (gamma flattening)
    • accesses SAR data via xarray-sentinel:
      • supports most Sentinel-1 data products as distributed by ESA:
        • Sentinel-1 Single Look Complex (SLC) SM/IW/EW
        • Sentinel-1 Ground Range Detected (GRD) SM/IW/EW
      • reads uncompressed and compressed SAFE data products on the local computer or on a network via fsspec - depends on rasterio>=1.3
    • accesses DEM data via rioxarray:
      • reads local and remote data in virtually any raster format via rasterio / GDAL
    • supports larger-than-memory and distributed data access and processing via Dask
      • efficient geometric terrain-correction for a full GRD
      • efficient radiometric terrain-correction for a full GRD.

    Overall, the software is in the beta phase and the usual caveats apply.

    Source code(tar.gz)
    Source code(zip)
  • v0.9.0(Apr 26, 2022)

    Algorithms and utilities for Synthetic Aperture Radar (SAR) sensors. Enables cloud-native SAR processing via Xarray and Dask.

    This Open Source project is sponsored by B-Open - https://www.bopen.eu.

    Features and limitations

    Sarsen is a Python library and command line tool with the following functionalities:

    • provides algorithms to terrain-correct satellite SAR data
      • geometric terrain correction (geocoding)
        • fast mode: to terrain-correct images
        • accurate mode: for interferometric processing
      • radiometric terrain correction (gamma flattening)
    • accesses SAR data via xarray-sentinel:
      • supports most Sentinel-1 data products as distributed by ESA:
        • Sentinel-1 Single Look Complex (SLC) SM/IW/EW
        • Sentinel-1 Ground Range Detected (GRD) SM/IW/EW
      • reads uncompressed and compressed SAFE data products on the local computer or on a network via fsspec - depends on rasterio>=1.3a3
    • accesses DEM data via rioxarray:
      • reads local and remote data in virtually any raster format via rasterio / GDAL
    • supports larger-than-memory and distributed data access and processing via Dask

    Overall, the software is in the beta phase and the usual caveats apply.

    Source code(tar.gz)
    Source code(zip)
  • v0.1(Mar 21, 2022)

    Algorithms and utilities for Synthetic Aperture Radar (SAR) sensors. Enables cloud-native SAR processing via Xarray and Dask.

    This Open Source project is sponsored by B-Open - https://www.bopen.eu.

    Overall, the software is in the alpha phase and the usual caveats apply.

    Features and limitations

    Sarsen is a Python library and command line tool with the following functionalities:

    • provides algorithms to terrain-correct satellite SAR data
      • geometric terrain correction (geocoding)
        • fast mode: to terrain-correct images
        • accurate mode: for interferometric processing
      • radiometric terrain correction (gamma flattening)
    • accesses SAR data via xarray-sentinel:
      • supports all Sentinel-1 data products as distributed by ESA:
        • Sentinel-1 Single Look Complex (SLC) SM/IW/EW
        • Sentinel-1 Ground Range Detected (GRD) SM/IW/EW
      • reads uncompressed and compressed SAFE data products on the local computer or on a network via fsspec - depends on rasterio>=1.3a3
    • accesses DEM data via rioxarray:
      • reads local and remote data in virtually any raster format via rasterio / GDAL
    • supports larger-than-memory and distributed data access and processing via dask

    Current limitations and work-in-progress items:

    • little-to-no documentation. See #6.
    • radiometric terrain-correction algorithm slow and memory hungry. See #7.
    Source code(tar.gz)
    Source code(zip)
Owner
B-Open
B-Open
CLI Eight Puzzle mini-game featuring BFS, DFS, Greedy and A* searches as solver algorithms.

🕹 Eight Puzzle CLI Jogo do quebra-cabeças de 8 peças em linha de comando desenvolvido para a disciplina de Inteligência Artificial. Escrito em python

Lucas Nakahara 1 Jun 30, 2021
FingerPy is a algorithm to measure, analyse and monitor heart-beat using only a video of the user's finger on a mobile cellphone camera.

FingerPy is a algorithm using python, scipy and fft to measure, analyse and monitor heart-beat using only a video of the user's finger on a m

Thiago S. Brasil 37 Oct 21, 2022
Python-Strongest-Encrypter - Transform your text into encrypted symbols using their dictionary

How does the encrypter works? Transform your text into encrypted symbols using t

1 Jul 10, 2022
Leveraging Unique CPS Properties to Design Better Privacy-Enhancing Algorithms

Differential_Privacy_CPS Python implementation of the research paper Leveraging Unique CPS Properties to Design Better Privacy-Enhancing Algorithms Re

Shubhesh Anand 2 Dec 14, 2022
Python algorithm to determine the optimal elevation threshold of a GNSS receiver, by using a statistical test known as the Brown-Forsynthe test.

Levene and Brown-Forsynthe: Test for variances Application to Global Navigation Satellite Systems (GNSS) Python algorithm to determine the optimal ele

Nicolas Gachancipa 2 Aug 09, 2022
A Python project for optimizing the 8 Queens Puzzle using the Genetic Algorithm implemented in PyGAD.

8QueensGenetic A Python project for optimizing the 8 Queens Puzzle using the Genetic Algorithm implemented in PyGAD. The project uses the Kivy cross-p

Ahmed Gad 16 Nov 13, 2022
Path tracing obj - (taichi course final project) a path tracing renderer that can import and render obj files

Path tracing obj - (taichi course final project) a path tracing renderer that can import and render obj files

5 Sep 10, 2022
Better control of your asyncio tasks

quattro: task control for asyncio quattro is an Apache 2 licensed library, written in Python, for task control in asyncio applications. quattro is inf

Tin Tvrtković 37 Dec 28, 2022
The DarkRift2 networking framework written in Python 3

DarkRiftPy is Darkrift2 written in Python 3. The implementation is fully compatible with the original version. So you can write a client side on Python that connects to a Darkrift2 server written in

Anton Dobryakov 6 May 23, 2022
A fast, pure python implementation of the MuyGPs Gaussian process realization and training algorithm.

Fast implementation of the MuyGPs Gaussian process hyperparameter estimation algorithm MuyGPs is a GP estimation method that affords fast hyperparamet

Lawrence Livermore National Laboratory 13 Dec 02, 2022
Solving a card game with three search algorithms: BFS, IDS, and A*

Search Algorithms Overview In this project, we want to solve a card game with three search algorithms. In this card game, we have to sort our cards by

Korosh 5 Aug 04, 2022
Gnat - GNAT is NOT Algorithmic Trading

GNAT GNAT is NOT Algorithmic Trading! GNAT is a financial tool with two goals in

Sher Shah 2 Jan 09, 2022
Policy Gradient Algorithms (One Step Actor Critic & PPO) from scratch using Numpy

Policy Gradient Algorithms From Scratch (NumPy) This repository showcases two policy gradient algorithms (One Step Actor Critic and Proximal Policy Op

1 Jan 17, 2022
FPE - Format Preserving Encryption with FF3 in Python

ff3 - Format Preserving Encryption in Python An implementation of the NIST approved FF3 and FF3-1 Format Preserving Encryption (FPE) algorithms in Pyt

Privacy Logistics 42 Dec 16, 2022
marching Squares algorithm in python with clean code.

Marching Squares marching Squares algorithm in python with clean code. Tools Python 3 EasyDraw Creators Mohammad Dori Run the Code Installation Requir

Mohammad Dori 3 Jul 15, 2022
RRT algorithm and its optimization

RRT-Algorithm-Visualisation This is a project that aims to develop upon the RRT

Sarannya Bhattacharya 7 Mar 06, 2022
This is an Airport Scheduling Time table implemented using Genetic Algorithm

This is an Airport Scheduling Time table implemented using Genetic Algorithm In this The scheduling is performed on the basisi of that no two Air planes are arriving or departing at the same runway a

1 Jan 06, 2022
TikTok X-Gorgon & X-Khronos Generation Algorithm

TikTok X-Gorgon & X-Khronos Generation Algorithm X-Gorgon and X-Khronos headers are required to call tiktok api. I will provide you API as rental or s

TikTokMate 31 Dec 01, 2022
This python algorithm creates a simple house floor plan based on a user-provided CSV file.

This python algorithm creates a simple house floor plan based on a user-provided CSV file. The algorithm generates possible router placements and evaluates where a signal will be reached in every roo

Joshua Miller 1 Nov 12, 2021
Ralebel is an interpreted, Haitian Creole programming language that aims to help Haitians by starting with the fundamental algorithm

Ralebel is an interpreted, Haitian Creole programming language that aims to help Haitians by starting with the fundamental algorithm

Lub Lorry Lamysère 5 Dec 01, 2022