Coder Social home page Coder Social logo

Comments (11)

Esteban82 avatar Esteban82 commented on June 19, 2024

Yes, but (as Yvonne said on the post) how GMT would know at what z value should paint the NaN? At the bottom of the 3D block? at the top? in the middle? So, the modifier must include a z value.

from gmt.

PaulWessel avatar PaulWessel commented on June 19, 2024

from gmt.

Esteban82 avatar Esteban82 commented on June 19, 2024

As I understand, grdview works with two grids: reliefgrid (sets the shape) and drapregrid (sets the colors).

We can set the color of NaN for the drapregrid. This is easy.

But we also need a value for the reliefgrid. I think this is why grdview can't paint the NaN nodes.

from gmt.

PaulWessel avatar PaulWessel commented on June 19, 2024

HM, OK there are several issues with grdview that we have addressed in grdview so now there are differences in syntax, docs, and maybe internal operations. Back from GMT4 we used to allow grdimage to accept three grids (red.grd, green.grd, blue.grd). We still do so under the hood but usage and documentation only discusses single grid and single image (grid | image). In fact, grdimage handles those 3 grids as three consecutive files given on input. This differs in grdview.

In grdview.c we list the single relief grid but under -G for drape grid we still list the option for three grids (-Gdrapegrid | -Gred.grd -Ggreen.grd -Bblue.grd). So here, -G is repeated 3 times. This all looks ugly to me. Apart from the NaN-color issue, I think grdview needs to modernise its documentation and usage and hide this ugliness but accept it via backwards compatibility. Our preferred way of images is passing an RGB image, not 3 grids from an era before @joa-quim worked to include images. We might even consider a GMT_Call_Module to grdmix if we get 3 color grids and return the image.

In the presence of draping, the relief grid just provides geometry/shape and there is nothing to paint. COlor is determined by the draping and that grid may have NaNs to be coloured or it is an image. grdimage image has many ways to handle NaN color - not sure if we want to replicate all that in grdview.

I think I may want to work on a PR that fixes the oldfashinoned -Gred -Ggreen -Gblue syntax first.

from gmt.

Esteban82 avatar Esteban82 commented on June 19, 2024

BTW, I just post in the forum a way to do it (that maybe is clearer).

from gmt.

PaulWessel avatar PaulWessel commented on June 19, 2024

I think @joa-quim might recall we had a rgb2grd module a long time ago? So that is how people made those 3 grids. Better to expect -Ggrid|image and leave some stuff under the hood in case someone runs an old script with three -G drape grids.

from gmt.

PaulWessel avatar PaulWessel commented on June 19, 2024

Also @joa-quim you added this in the grdview parser:

case 'z': /* One image. This is an undocumented fake option but one that lets externals pass both images and grids for draping. */

We will see but perhaps there wont be a need for this once -Gimage works, but no biggie.

from gmt.

Esteban82 avatar Esteban82 commented on June 19, 2024

What do you think is grdview would work (under the hood) as my script? It creates a 2D image and then drop it over the relief. This is simpler to do (I suspect) and would have the advantage that we grdview won't plot things that should be hidden by the relief (that could happened in more complex figures).

from gmt.

PaulWessel avatar PaulWessel commented on June 19, 2024

Sorry, a bit early to know - I am in the middle of stuff. Not quite sure of what you are asking.

from gmt.

joa-quim avatar joa-quim commented on June 19, 2024

Also @joa-quim you added this in the grdview parser:

case 'z': /* One image. This is an undocumented fake option but one that lets externals pass both images and grids for draping. */

We will see but perhaps there wont be a need for this once -Gimage works, but no biggie.

Hmm, I'm not finding any use of that hidden case z: in GMT.jl

from gmt.

PaulWessel avatar PaulWessel commented on June 19, 2024

Hmm, I'm not finding any use of that hidden case z: in GMT.jl

Think we can remove it. We learn that one image is passed and that is all that is needed I think.

from gmt.

Related Issues (20)

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.