marcosbr / predictive-geology-maps Goto Github PK
View Code? Open in Web Editor NEWGenerate the predictive geology maps automatically to use in CPRM projects of anomaly charts.
Generate the predictive geology maps automatically to use in CPRM projects of anomaly charts.
Checklist for the main input/output operations necessary for the implementation of the project:
Is your feature request related to a problem? Please describe.
Some of the parameters of the program are currently hard-coded, such as:
Litologia
(filename)SIGLA_UNID
(in Litologia
)OBJECTID
(in Litologia
)Describe the solution you'd like
The program could allow users to select these parameters according to their input.
The UI should have a checkbox (previously selected) that the user chooses to run the PCA on the multi-band raster (default value: True) variable name:
self.run_pca
Results in #57 show that the stochastic component of the program has the potential to create different outputs. The program could have an option to allow users to automatically generate multiple realizations with the same hyperparameters, but with likely different starting points in their random components (sampling, model fitting). The results then could be averaged as the prediction of multiple models are generally better than the prediciton of a single model. The option to generate (and average) multiple realizations of the same model could also help interpreters evaluate the probability classes with a higher confidence.
Feedback from the first workshop. Put together a small project with the necessary inputs so users can have a working example to test the program.
Currently the program creates the SIGLA_UNID.csv
file in the same input folder from where the lithology file is located. I think this should be written in the self.dir_out
so everything the program generates is at the same location
The color.csv
output stopped working at some point. It's printing empty colors right now:
1,,,,,
2,,,,,
3,,,,,
4,,,,,
5,,,,,
6,,,,,
7,,,,,
8,,,,,
Describe the bug
#26 and #27 introduced the windows_set_bat.py
that is also used by windows_installer.py
(introduced in #28). The current windows_set_bat.py
does not check for multiple activate
found in the system:
# find conda's activate (and strip breakline):
activate = os.popen("where activate").read().rstrip('\n')
so the created predictive_mapping.bat
fails when multiple activate
are found.
To Reproduce
Steps to reproduce the behavior:
Run windows_set_bat.py
on a machine with multiple activate
in the PATH.
Expected behavior
The predictive_mapping.bat
should have a single activate
result.
Is your feature request related to a problem? Please describe.
Feedback from the first workshop. The program should be able to make use of "stations" vector files (points?) as that is hard evidence of the lythology at that location.
Describe the solution you'd like
The program should be able to read a point vector file (or isolated polygons?) and use those stations as training samples.
Additional context
This would help with what I consider to be one of the major drawbacks of the current methodology. As of now, the training points are randomly selected from the mapped geology and there is no control on their location. Such strategy can lead to highly biased training samples.
Is your feature request related to a problem? Please describe.
The terminal does not give any updates while fitting the models during cross-validation. Most first-time users don't know what is going on, if the program is finished or hung.
Describe the solution you'd like
We should add some messages to keep the users updated.
The README is outdated after new modifications (specially after #37, #42, #45, etc.). The text and figures should be updated. The README should also contain a link for the youtube video containing the interpretation discussion (in Portuguese).
We could also add a step-by-step "installation guide" (from #26 and #27) to help users that don't want to use the terminal.
Is your feature request related to a problem? Please describe.
Feedback from the first workshop. #14 introduced code to generate a file that can be used to automatically create a colormap that converts the integer values of theclass.tif
output to the categories listed in SIGLA_UNID
, including the standardized colors, that can be used in QGIS. The program could generate a similar file to be used with ArcGIS.
Describe the solution you'd like
Create a colormap file that will allow ArcGIS users to quickly convert integer to lithology.
Describe alternatives you've considered
Generate a vectorized class.shp
based on class.tif
? Then users should be able to have the same configuration for both Litologia.shp
and the output of the program.
Is your feature request related to a problem? Please describe.
Feedback from the first workshop. Users might want to explore different input features (rasters). Geochemical maps, for example, might be very helpul for identifying geology. As of now, the program is very limited on filenaming structure and features used for training and prediction, making it very cumbersome for users that want to try something different.
Describe the solution you'd like
The program should be able to accept any number of input features (rasters), independent of filename.
The output from SHAP might be very useful for many users!
When users select a "fully interpreted" region (i.e., a map) as target, the program randomly selects points from the rasterized target. However, the user has no control or information where the samples are coming from.
The program could generate another output, maybe named sample_locations.tif
so users would know exactly which points are used for training the model. That could help their interpretation.
Is your feature request related to a problem? Please describe.
The current environment.yml does not list library versions. We should pin them.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.