insarviz issueshttps://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues2024-03-14T11:37:07+01:00https://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/114Zoom range + slider2024-03-14T11:37:07+01:00Colin ThomasZoom range + sliderMapView should have a minimum / maximum zoom range (linked to the width / height of data), and maybe provide a slider to change the zoom (on the footer ?). It would help user to keep zooming under control and to fix zooming if it went o...MapView should have a minimum / maximum zoom range (linked to the width / height of data), and maybe provide a slider to change the zoom (on the footer ?). It would help user to keep zooming under control and to fix zooming if it went out of control.Colin ThomasColin Thomashttps://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/113Feature : insarviz projects2024-03-06T11:18:18+01:00Colin ThomasFeature : insarviz projectsAllow user to save the current layers:
- order, filepath, option of current layers
- all the current selection items
User should also be able to close / load projects.
When a project is closed, all textures / shaders need to be destroy...Allow user to save the current layers:
- order, filepath, option of current layers
- all the current selection items
User should also be able to close / load projects.
When a project is closed, all textures / shaders need to be destroyed for each closed layer:
_Proper cleanup is especially important due to context sharing. Even though each QOpenGLWidget's associated context is destroyed together with the QOpenGLWidget, the sharable resources in that context, like textures, will stay valid until the top-level window, in which the QOpenGLWidget lived, is destroyed. Additionally, settings like Qt::AA_ShareOpenGLContexts and some Qt modules may trigger an even wider scope for sharing contexts, potentially leading to keeping the resources in question alive for the entire lifetime of the application._ [(QOpenGLWidget doc)](https://doc.qt.io/qt-6/qopenglwidget.html#resource-initialization-and-cleanup)https://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/112PlotView : set axis limits and add autoscale button2024-02-16T09:48:44+01:00Colin ThomasPlotView : set axis limits and add autoscale buttonFor example, on the date axis user should not be allowed to go beyond the time period +/- 20%For example, on the date axis user should not be allowed to go beyond the time period +/- 20%Colin ThomasColin Thomashttps://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/110Spatial PlotView : add a bar marker2024-02-16T09:43:42+01:00Colin ThomasSpatial PlotView : add a bar markerThe bar marker is a vertical line like PlotView.DateMarker, that represents where the point is spatially along the profile. A corresponding tick is displayed on the profile in MapView.The bar marker is a vertical line like PlotView.DateMarker, that represents where the point is spatially along the profile. A corresponding tick is displayed on the profile in MapView.Colin ThomasColin Thomashttps://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/109Link MapView LayerView and PlotView2024-02-16T09:28:21+01:00Colin ThomasLink MapView LayerView and PlotViewClicking on a point/profile/ref in MapView should also select it in LayerView/PlotView, and reversely.Clicking on a point/profile/ref in MapView should also select it in LayerView/PlotView, and reversely.Colin ThomasColin Thomashttps://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/108Information to footer of MainWindow2024-01-25T14:48:04+01:00Colin ThomasInformation to footer of MainWindowMove the information widget (x,y,val) to the footer of MainWindow => (date, (x, y), (long, lat), val \hfill insarviz.logo insarviz.version)
It will give space for the layer manager widgetMove the information widget (x,y,val) to the footer of MainWindow => (date, (x, y), (long, lat), val \hfill insarviz.logo insarviz.version)
It will give space for the layer manager widgetColin ThomasColin Thomashttps://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/105Profile should only display the profile of current band2024-02-16T09:46:17+01:00Colin ThomasProfile should only display the profile of current bandWhen doing a spatial profile, only the profile for the current band should be displayed (and average profile for all dates ?)When doing a spatial profile, only the profile for the current band should be displayed (and average profile for all dates ?)Colin ThomasColin Thomashttps://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/104Scales unit2024-02-16T09:46:52+01:00Colin ThomasScales unitFor Flatsim data, the conversion between rad and cm is in metadata (Check it is the case, otherwise make an issue to NSBAS), allow to switch between rad and cm in palette unit and plots unit.
Also check why palette unit display (krad, r...For Flatsim data, the conversion between rad and cm is in metadata (Check it is the case, otherwise make an issue to NSBAS), allow to switch between rad and cm in palette unit and plots unit.
Also check why palette unit display (krad, rad).Colin ThomasColin Thomashttps://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/103Date slider should reflect temporal linearity2024-02-16T09:40:16+01:00Colin ThomasDate slider should reflect temporal linearityCheck in the dataset the version of flatsim, if it matches a version that store the date in the description field of the band, then use it as date (like it is already the case). When dates are provided, the date slider should reflect the...Check in the dataset the version of flatsim, if it matches a version that store the date in the description field of the band, then use it as date (like it is already the case). When dates are provided, the date slider should reflect the time gap between bands (12 days should be represented as a gap 2 times bigger than 6 days for example). Also always give the option to use the date slider as a band number slider (like currently).Colin ThomasColin Thomashttps://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/102Make the band slider start at 1 not 02024-02-16T09:46:00+01:00Colin ThomasMake the band slider start at 1 not 0Only for displayOnly for displayColin ThomasColin Thomashttps://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/101Improve documentation (Installation)2024-01-23T16:37:39+01:00Colin ThomasImprove documentation (Installation)It can be difficult to install insarviz for an user that is geeky:
- [ ] how to install conda (and explain why we need it), add link to [installation doc](https://docs.anaconda.com/free/anaconda/install/), explain the difference between ...It can be difficult to install insarviz for an user that is geeky:
- [ ] how to install conda (and explain why we need it), add link to [installation doc](https://docs.anaconda.com/free/anaconda/install/), explain the difference between conda and anaconda ?
- [ ] explain that a gitlab account is required to clone (as we provide the clone ssh version), or provide a clone command via HTTPS
- [ ] in "Install according to your usage" add the information that _pip install ._ must be done in insarviz folder, and put "navigate to within the top-level insarviz folder" in bold
- [ ] pour windows specifier de lancer un prompt anaconda (anaconda powershell prompt) avant de faire les commandes condahttps://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/98Clicking on band slider is clunky2024-01-25T11:12:07+01:00Colin ThomasClicking on band slider is clunkyPerforming a click on the band slider line performs a jump 10 bands in the direction of the click. Making the jump to the nearest clicked band would be more responsive.Performing a click on the band slider line performs a jump 10 bands in the direction of the click. Making the jump to the nearest clicked band would be more responsive.https://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/95textures dict in MapModel contains redundant information ?2024-01-11T14:32:37+01:00Colin Thomastextures dict in MapModel contains redundant information ?The texture dict in MapModel class contains band_index:(tex_id, tex_width, tex_height, tex_vi, tex_v5, tex_v95, tex_va). But at least tex_width and tex_height should be constant within the dataset (otherwise I believe that we don't curre...The texture dict in MapModel class contains band_index:(tex_id, tex_width, tex_height, tex_vi, tex_v5, tex_v95, tex_va). But at least tex_width and tex_height should be constant within the dataset (otherwise I believe that we don't currently know how to compute profiles). If it is the case maybe the texture dict should only be band_index:tex_id.https://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/94Colobar computed only for the current band2024-02-06T14:18:11+01:00Colin ThomasColobar computed only for the current bandThe colorbar is computed for the first band displayed, and then is used for the other bands unless recomputed again. But the first band displayed may not be representative of the global histogram of the dataset. Maybe it would be better ...The colorbar is computed for the first band displayed, and then is used for the other bands unless recomputed again. But the first band displayed may not be representative of the global histogram of the dataset. Maybe it would be better to compute the colorbar from the whole dataset ?https://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/92Load profile data even without displaying it2024-02-20T14:50:15+01:00Colin ThomasLoad profile data even without displaying itWhen hovering the map, load_profile is called even if profile is not plotted.When hovering the map, load_profile is called even if profile is not plotted.Colin ThomasColin Thomashttps://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/90feature radar vs ground geometry2024-02-16T09:35:05+01:00Margaux Mouchenefeature radar vs ground geometryradar geometry vs ground geometry: allow user to locate equivalent positions in both geometries
can be:
- image display in radar, geographic coordinates shown as pointer hovers over image
- 2 separate windows with synced navigation and ...radar geometry vs ground geometry: allow user to locate equivalent positions in both geometries
can be:
- image display in radar, geographic coordinates shown as pointer hovers over image
- 2 separate windows with synced navigation and pointer
- ...
use coordinate conversion tables available in nsbas productshttps://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/89feature add layers to map2024-02-06T14:19:59+01:00Margaux Mouchenefeature add layers to map
- [ ] add DEM (shading)
- [ ] add other products (for quality control) -> vertical bar slider (like before/after comparison tools)
- [ ] add them to layer manager (left panel), with option to show/hide (checkbox)
- [ ] add DEM (shading)
- [ ] add other products (for quality control) -> vertical bar slider (like before/after comparison tools)
- [ ] add them to layer manager (left panel), with option to show/hide (checkbox)https://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/85feature: undo/redo buttons2023-12-13T10:08:51+01:00Margaux Mouchenefeature: undo/redo buttonsfor profiling tools actionsfor profiling tools actionshttps://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/83feature progress indicator when loading new band2023-12-14T09:34:42+01:00Margaux Mouchenefeature progress indicator when loading new bandadd a visual progress indicator (wheel, bar?) to show band loading progress, to ensure process not stuck/abortedadd a visual progress indicator (wheel, bar?) to show band loading progress, to ensure process not stuck/abortedhttps://gricad-gitlab.univ-grenoble-alpes.fr/deformvis/insarviz/-/issues/79generalize loading to other gdal formats2024-01-19T11:45:07+01:00Margaux Mouchenegeneralize loading to other gdal formatsCurrently, loading files that are loadable with gdal (e.g.: netCDF) and that have suitable characteristics (cube-type, time series, with consistent spatial extent) returns error(s)
possibly because metadata have different formats/names/...Currently, loading files that are loadable with gdal (e.g.: netCDF) and that have suitable characteristics (cube-type, time series, with consistent spatial extent) returns error(s)
possibly because metadata have different formats/names/...
e.g. loading a netCDF MNT (or cube of MNTs) returns:
```
Traceback (most recent call last):
File "/opt/anaconda3/bin/ts_viz", line 33, in <module>
sys.exit(load_entry_point('insarviz', 'console_scripts', 'ts_viz')())
File "/Users/mouchenm/Documents/GitHub/insarviz/insarviz/ts_viz.py", line 724, in main
ex = MainWindow(filename=args.i,
File "/Users/mouchenm/Documents/GitHub/insarviz/insarviz/ts_viz.py", line 54, in __init__
self.initUI(filename)
File "/Users/mouchenm/Documents/GitHub/insarviz/insarviz/ts_viz.py", line 362, in initUI
self.load_data(self.current_filename)
File "/Users/mouchenm/Documents/GitHub/insarviz/insarviz/ts_viz.py", line 387, in load_data
self.plot_model.on_data_loaded()
File "/Users/mouchenm/Documents/GitHub/insarviz/insarviz/PlotModel.py", line 83, in on_data_loaded
self.timestamps = [
File "/Users/mouchenm/Documents/GitHub/insarviz/insarviz/PlotModel.py", line 84, in <listcomp>
datetime.datetime.strptime(x, "%Y%m%d").timestamp()
File "/opt/anaconda3/lib/python3.8/_strptime.py", line 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
File "/opt/anaconda3/lib/python3.8/_strptime.py", line 349, in _strptime
raise ValueError("time data %r does not match format %r" %
ValueError: time data 'levation' does not match format '%Y%m%d'
```