Skip to content

Commit

Permalink
raster: Add library function to ask for mask presence
Browse files Browse the repository at this point in the history
To avoid asking about presence of the MASK raster, add a library function which checks for presence of the raster hiding its name in the library.

This prepares way for OSGeo#2392.

This also changes the message from using MASK to simply mask. I'm open to suggestion on wording of 'mask is present' versus 'mask is active' etc.
  • Loading branch information
wenzeslaus committed Sep 27, 2024
1 parent ac66448 commit 1de5037
Show file tree
Hide file tree
Showing 13 changed files with 36 additions and 25 deletions.
10 changes: 10 additions & 0 deletions lib/raster/mask_info.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,13 @@ int Rast__mask_info(char *name, char *mapset)

return 1;
}

/**
* @brief Check presence of 2D raster mask
*
* @return true if mask is present, false otherwise
*/
bool Rast_mask_is_present()
{
return G_find_raster("MASK", G_mapset()) != NULL;
}
9 changes: 5 additions & 4 deletions raster/r.mfilter/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,10 +132,11 @@ int main(int argc, char **argv)
"threads setting."));
nprocs = 1;
#endif
if (nprocs > 1 && G_find_raster("MASK", G_mapset()) != NULL) {
G_warning(_("Parallel processing disabled due to active MASK."));
nprocs = 1;
}
if (nprocs > 1 && Rast_mask_is_present()) != NULL)
{
G_warning(_("Parallel processing disabled due to active mask."));
nprocs = 1;
}
out_name = opt2->answer;
filt_name = opt3->answer;

Expand Down
4 changes: 2 additions & 2 deletions raster/r.neighbors/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -310,8 +310,8 @@ int main(int argc, char *argv[])
"threads setting."));
ncb.threads = 1;
#endif
if (ncb.threads > 1 && G_find_raster("MASK", G_mapset()) != NULL) {
G_warning(_("Parallel processing disabled due to active MASK."));
if (ncb.threads > 1 && Rast_mask_is_present()) != NULL) {
G_warning(_("Parallel processing disabled due to active mask."));
ncb.threads = 1;
}
if (strcmp(parm.weighting_function->answer, "none") && flag.circle->answer)
Expand Down
4 changes: 2 additions & 2 deletions raster/r.patch/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -113,8 +113,8 @@ int main(int argc, char *argv[])
"threads setting."));
nprocs = 1;
#endif
if (nprocs > 1 && G_find_raster("MASK", G_mapset()) != NULL) {
G_warning(_("Parallel processing disabled due to active MASK."));
if (nprocs > 1 && Rast_mask_is_present()) != NULL) {
G_warning(_("Parallel processing disabled due to active mask."));
nprocs = 1;
}

Expand Down
4 changes: 2 additions & 2 deletions raster/r.resamp.filter/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -494,8 +494,8 @@ int main(int argc, char *argv[])
"threads setting."));
nprocs = 1;
#endif
if (nprocs > 1 && G_find_raster("MASK", G_mapset()) != NULL) {
G_warning(_("Parallel processing disabled due to active MASK."));
if (nprocs > 1 && Rast_mask_is_present()) != NULL) {
G_warning(_("Parallel processing disabled due to active make."));
nprocs = 1;
}
if (parm.radius->answer) {
Expand Down
4 changes: 2 additions & 2 deletions raster/r.resamp.interp/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,8 @@ int main(int argc, char *argv[])
"threads setting."));
threads = 1;
#endif
if (threads > 1 && G_find_raster("MASK", G_mapset()) != NULL) {
G_warning(_("Parallel processing disabled due to active MASK."));
if (threads > 1 && Rast_mask_is_present()) != NULL) {
G_warning(_("Parallel processing disabled due to active mask."));
threads = 1;
}
bufrows = atoi(memory->answer) * (((1 << 20) / sizeof(DCELL)) / dst_w.cols);
Expand Down
4 changes: 2 additions & 2 deletions raster/r.series/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -227,8 +227,8 @@ int main(int argc, char *argv[])
"threads setting."));
nprocs = 1;
#endif
if (nprocs > 1 && G_find_raster("MASK", G_mapset()) != NULL) {
G_warning(_("Parallel processing disabled due to active MASK."));
if (nprocs > 1 && Rast_mask_is_present()) != NULL) {
G_warning(_("Parallel processing disabled due to active mask."));
nprocs = 1;
}
lo = -INFINITY;
Expand Down
2 changes: 1 addition & 1 deletion raster/r.sim/r.sim.sediment/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ int main(int argc, char *argv[])
#else
threads = 1;
#endif
if (threads > 1 && G_find_raster("MASK", G_mapset()) != NULL) {
if (threads > 1 && Rast_mask_is_present()) != NULL) {
G_warning(_("Parallel processing disabled due to active MASK."));
threads = 1;
}
Expand Down
4 changes: 2 additions & 2 deletions raster/r.sim/r.sim.water/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -407,8 +407,8 @@ int main(int argc, char *argv[])
#else
threads = 1;
#endif
if (threads > 1 && G_find_raster("MASK", G_mapset()) != NULL) {
G_warning(_("Parallel processing disabled due to active MASK."));
if (threads > 1 && Rast_mask_is_present()) != NULL) {
G_warning(_("Parallel processing disabled due to active mask."));
threads = 1;
}
G_message(_("Number of threads: %d"), threads);
Expand Down
4 changes: 2 additions & 2 deletions raster/r.slope.aspect/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -305,8 +305,8 @@ int main(int argc, char *argv[])
"threads setting."));
nprocs = 1;
#endif
if (nprocs > 1 && G_find_raster("MASK", G_mapset()) != NULL) {
G_warning(_("Parallel processing disabled due to active MASK."));
if (nprocs > 1 && Rast_mask_is_present()) != NULL) {
G_warning(_("Parallel processing disabled due to active mask."));
nprocs = 1;
}
radians_to_degrees = 180.0 / M_PI;
Expand Down
4 changes: 2 additions & 2 deletions raster/r.sun/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -591,8 +591,8 @@ int main(int argc, char *argv[])
#else
threads = 1;
#endif
if (threads > 1 && G_find_raster("MASK", G_mapset()) != NULL) {
G_warning(_("Parallel processing disabled due to active MASK."));
if (threads > 1 && Rast_mask_is_present()) != NULL) {
G_warning(_("Parallel processing disabled due to active mask."));
threads = 1;
}
G_message(_("Number of threads <%d>"), threads);
Expand Down
4 changes: 2 additions & 2 deletions raster/r.univar/r.univar_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -192,8 +192,8 @@ int main(int argc, char *argv[])
sscanf(param.nprocs->answer, "%d", &nprocs);
if (nprocs < 1)
G_fatal_error(_("<%d> is not valid number of nprocs."), nprocs);
if (nprocs > 1 && G_find_raster("MASK", G_mapset()) != NULL) {
G_warning(_("Parallel processing disabled due to active MASK."));
if (nprocs > 1 && Rast_mask_is_present()) != NULL) {
G_warning(_("Parallel processing disabled due to active mask."));
nprocs = 1;
}
#if defined(_OPENMP)
Expand Down
4 changes: 2 additions & 2 deletions vector/v.surf.rst/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -419,8 +419,8 @@ int main(int argc, char *argv[])
G_warning(_("GRASS GIS is not compiled with OpenMP support, parallel "
"computation is disabled."));
#endif
if (threads > 1 && G_find_raster("MASK", G_mapset()) != NULL) {
G_warning(_("Parallel processing disabled due to active MASK."));
if (threads > 1 && Rast_mask_is_present()) != NULL) {
G_warning(_("Parallel processing disabled due to active mask."));
threads = 1;
}
if (devi) {
Expand Down

0 comments on commit 1de5037

Please sign in to comment.