Git Product home page Git Product logo

gefolki's Introduction

GeFolki is a coregistration software that has been developped in the framework of the MEDUSA project, first for SAR/SAR co-registration, then for other cases of remote sensing image coregistration, including hetergeneous image co-registration (ex LIDAR/SAR, optics/SAR, hyperspectral/optics and so on)

We hope this code will be helpful and we remain to your disposal and we are interested in getting back your remarks.

Citations for {ge ,e, _}Folki algorithms :

If you are using the result of GeFolki in your project, we kindly ask you to cite :

  • for SAR/SAR coregistration (interferometry, change detection, and so on)

Aurélien Plyer, Elise Colin-Koeniguer, Flora Weissgerber, "A New Coregistration Algorithm for Recent Applications on Urban SAR Images", Geoscience and Remote Sensing Letters, IEEE , vol.12, no.11, pp. 2198 – 2202, nov 2015

  • for other geosensing cases (optics/SAR, optics/hyperspectral, LIDAR/SAR, etc.)

Guillaume Brigot, Elise Colin-Koeniguer, Aurélien Plyer, Fabrice Janez, "Adaptation and Evaluation of an Optical Flow Method Applied to Coregistration of Forest Remote Sensing Images", IEEE Journal of Selected Topics in Applied Earth Observations ans Remote Sensing, Volume 9, Issue 7, July 2016

  • for measurement applications (ex : PIV, material deformation, ...) :

Champagnat, F., Plyer, A., Le Besnerais, G., Leclaire, B., & Le Sant, Y. (2009, August). How to calculate dense piv vector fields at video rate. In Proceedings of 8th International Symposium on Particle Image Velocimetry-PIV09 (Vol. 11, pp. 15-20).

  • for computer vision (ex : robotics) :

Plyer, A., Le Besnerais, G., & Champagnat, F. (2016). Massively parallel Lucas Kanade optical flow for real-time video processing applications. Journal of Real-Time Image Processing, 11(4), 713-730.

help

The source code is provided here in matlab and python under a GPL license.

After decompression, this directory contains:

  • a directory "datasets" that are used in the demonstration file "main.{m, py}". Origins of the different datasets are described in the readme.txt
  • the different matlab source codes. The demonstration are proposed in the main.m file.
  • the different python source codes. The demonstration are proposed in the main.py file.

In python you find a part of folki optical flow familly (folki, efolki, gefolki).

Image Mining

In python, you can find also a "mining" function, that enables to find a slave pattern within a bigger Master Image (Sentinel 1) To use this functionality, test

python3 mining.py --input_master '../datasets/S1_Jacksonville_GEE.tif' --input_slave '../datasets/JacksonvilleNavalAirStation_sandiaKu.png'

Or have a look at the notebook python Mining.ipynb

gefolki's People

Contributors

aplyer avatar fjanez avatar lnicola avatar rcdaudt avatar sjerdmann 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  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  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

gefolki's Issues

python3

Cher Dr Aurélien Plyer,
Seriez-vous intéressé de recevoir une "pull request" pour rendre les codes python conformes à python3 ?

Merci d'avance de considérer la demande
Cordialement,
Ashlin Richardson

How to calculate Phase values from AKAZE matched keypoints?

Hi ,
I am new to SAR technology. I am working on coregistration(Terrasarx images) using SIFT/AKAZE feature extraction techniques. I extracted matched key points from master and slave images and also calculated homography/RANSAC.
How to calculate phase values? I also want to do measure the error (pixel level) and compared to Geofloki results?
can anyone help me in this regard?

Installation documentation and requirements

Hi,

I received a query to deploy this project on a workstation, it would be nice to have an installation documentation or at least, a simple requirements.txt or using Poetry to manage and declare dependencies.

Thank you in advance

IndexError: arrays used as indices must be of integer (or boolean) type

I am trying to run the example OPTIC to RADAR registration (line 54 of main.py) but when running GEFOLKI (line 71 of main.py) I get error:


IndexError Traceback (most recent call last)
Input In [5], in <cell line: 1>()
----> 1 u, v = GEFolki(Iradar, Ioptique, iteration=2, radius=range(32, 4, -4), rank=4, levels=6)
3 N = np.sqrt(u2+v2)
4 pl.figure()

File /srv/conda/envs/env_snap/lib/python3.8/site-packages/gefolki/pyramid.py:32, in BurtOF.call(self, I0, I1, **kparams)
30 kparams['uinit'] = u
31 kparams['vinit'] = v
---> 32 u, v = self.flow(Py0[i], Py1[i], **kparams)
33 if i > 0:
34 col, row = Py0[i-1].shape[1], Py0[i-1].shape[0]

File /srv/conda/envs/env_snap/lib/python3.8/site-packages/gefolki/folki.py:130, in GEFolkiIter(I0, I1, iteration, radius, rank, uinit, vinit)
128 toto = toto*255
129 toto = toto.astype(np.uint8)
--> 130 H0 = equalize_adapthist(toto, 8, clip_limit=1, nbins=256)
132 if res_x > 0 or res_y > 0:
133 H0 = resize(H0, (y, x), order=1)

File /srv/conda/envs/env_snap/lib/python3.8/site-packages/gefolki/adapthist.py:82, in equalize_adapthist(image, ntiles_x, ntiles_y, clip_limit, nbins)
80 image = skimage.img_as_uint(image)
81 args[0] = rescale_intensity(image, out_range=(0, NR_OF_GREY - 1))
---> 82 out = _clahe(*args)
83 image[:out.shape[0], :out.shape[1]] = out
84 image = rescale_intensity(image)

File /srv/conda/envs/env_snap/lib/python3.8/site-packages/gefolki/adapthist.py:156, in _clahe(image, ntiles_x, ntiles_y, clip_limit, nbins)
154 for x in range(ntiles_x):
155 sub_img = img_blocks[y, x]
--> 156 hist = aLUT[sub_img.ravel()]
157 hist = np.bincount(hist)
158 hist = np.append(hist, np.zeros(nbins - hist.size, dtype=int))

IndexError: arrays used as indices must be of integer (or boolean) type

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.