[GRASS5] i.composite problems verified

I have verified that there is a problem on Linux with i.composite.

I can run i.composite on an image group, and it will run forever, LONG
after the output has been generated.

Every thing _seems_ to be ok after you force the software to exit.

Problems: i.composite will not exit after completeing output.
  : continues to consume processesor time after output has been
completed.

Any ideas on why this might be?

I have looked at the generated output in every way I can think of, and
have seen no errors. It does not seem to be incomplete in anyway.

Thanks,
Matt

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

On Tue, Apr 17, 2001 at 04:38:51PM -0400, mberglund wrote:

I have verified that there is a problem on Linux with i.composite.

I can run i.composite on an image group, and it will run forever, LONG
after the output has been generated.

Every thing _seems_ to be ok after you force the software to exit.

Problems: i.composite will not exit after completeing output.
  : continues to consume processesor time after output has been
completed.

Any ideas on why this might be?

I have looked at the generated output in every way I can think of, and
have seen no errors. It does not seem to be incomplete in anyway.

Looking at a running version of i.composite, I see the gen_colors()
routine near the end calls G_set_color() for the number of color levels
set. This eventually results in a call to add_color_rule() in libgis
(color_rule.c). Within add_color_rule, there's a loop that iterates
through all of the color rules in order to remove duplicates. So, as
the number of color levels is increased for i.composite, running time
increases by n^3 or some such. I suppose it eventually will finish even
for large color rule sets, but there should be no need for the pruning
to begin with. However, I don't see any color rule function in
color_rule.c that doesn't end up calling add_color_rule(). Maybe we
need some color rule functions that don't check for duplicates?

--
Eric G. Miller <egm2@jps.net>

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

Eric G. Miller wrote:

> I have verified that there is a problem on Linux with i.composite.
>
> I can run i.composite on an image group, and it will run forever, LONG
> after the output has been generated.
>
> Every thing _seems_ to be ok after you force the software to exit.
>
> Problems: i.composite will not exit after completeing output.
> : continues to consume processesor time after output has been
> completed.
>
> Any ideas on why this might be?
>
> I have looked at the generated output in every way I can think of, and
> have seen no errors. It does not seem to be incomplete in anyway.

Looking at a running version of i.composite, I see the gen_colors()
routine near the end calls G_set_color() for the number of color levels
set. This eventually results in a call to add_color_rule() in libgis
(color_rule.c). Within add_color_rule, there's a loop that iterates
through all of the color rules in order to remove duplicates. So, as
the number of color levels is increased for i.composite, running time
increases by n^3 or some such. I suppose it eventually will finish even
for large color rule sets, but there should be no need for the pruning
to begin with. However, I don't see any color rule function in
color_rule.c that doesn't end up calling add_color_rule(). Maybe we
need some color rule functions that don't check for duplicates?

What purpose does i.composite serve?

Trying to merge multi-channel raster data into a single channel by
creating a colour table with N^3 entries seems, to me, to be a classic
case of square-peg-round-hole syndrome.

What kind of operations might be performed upon the resulting layer?

From what I can tell, GRASS seems to be oriented towards handling

either scalar quantities or discrete categories. The cell values
resulting from i.composite certainly aren't scalars, and as categories
they don't really have much meaning.

AFAICT, GRASS would be much happier if the data was just kept as three
separate channels. For the future, it might be worth considering a
mechanism whereby all applicable GRASS operations would be able to
handle "groups" of layers, so you wouldn't need to triplicate
commands.

Is this a just a kludge for getting around the fact that the r.out.*
commands which generate image formats can't read multiple channels
(similar, well opposite, to r.in.ppm's "-b" switch)?

Multi-channel data can already be displayed on the monitor with d.rgb;
Is there any equivalent for the "paint" driver?

--
Glynn Clements <glynn.clements@virgin.net>

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

On Sat, Apr 28, 2001 at 11:12:42PM +0100, Glynn Clements wrote:

Eric G. Miller wrote:

[snip]

> Looking at a running version of i.composite, I see the gen_colors()
> routine near the end calls G_set_color() for the number of color levels
> set. This eventually results in a call to add_color_rule() in libgis
> (color_rule.c). Within add_color_rule, there's a loop that iterates
> through all of the color rules in order to remove duplicates. So, as
> the number of color levels is increased for i.composite, running time
> increases by n^3 or some such. I suppose it eventually will finish even
> for large color rule sets, but there should be no need for the pruning
> to begin with. However, I don't see any color rule function in
> color_rule.c that doesn't end up calling add_color_rule(). Maybe we
> need some color rule functions that don't check for duplicates?

What purpose does i.composite serve?

It tries to make a color composite image...

Trying to merge multi-channel raster data into a single channel by
creating a colour table with N^3 entries seems, to me, to be a classic
case of square-peg-round-hole syndrome.

Agreed.

What kind of operations might be performed upon the resulting layer?
>From what I can tell, GRASS seems to be oriented towards handling
either scalar quantities or discrete categories. The cell values
resulting from i.composite certainly aren't scalars, and as categories
they don't really have much meaning.

Purpose would mostly be for display and map making.

AFAICT, GRASS would be much happier if the data was just kept as three
separate channels. For the future, it might be worth considering a
mechanism whereby all applicable GRASS operations would be able to
handle "groups" of layers, so you wouldn't need to triplicate
commands.

Yes. I think GRASS needs a generic method for handling image types
where the cell values denote the colors rather than having a separate
lookup. I looked around the color table functions in libgis, and if
there was a way to squeeze in a color rule of type RGBENCODED (for
instance) and a way to associate a function for "parsing" a cell value
into red, blue, and green parts, then I think most modules could go
unchanged after a recompilation. It'd take some reorganizing of the
color rule functions though...

Is this a just a kludge for getting around the fact that the r.out.*
commands which generate image formats can't read multiple channels
(similar, well opposite, to r.in.ppm's "-b" switch)?

Problem is to use color imagery in everyday GRASS display and map
making. Say I want to use a color composite for a back drop to
v.digit. I don't want some crappy 8-bit color, but 24-bit color.

As an aside, I had previously looked at how the XDRIVER handles
TrueColor visuals and its colormap. It seems to me there should be a
way to bypass the allocation of a colormap if a TrueColor visual is
present (the red, green, blue components passed for pixel values should
map directly to the TrueColor visual). Having the XDRIVER allocate a
colormap of 256*256*256 colors is an extreme use of memory. I couldn't
quite figure out how to get the color functions to do this in the
XDRIVER...

Multi-channel data can already be displayed on the monitor with d.rgb;
Is there any equivalent for the "paint" driver?

d.rgb does something similar to i.composite, though it builds in a limit
on the number of color levels (10 per band, I think). I believe
i.composite also uses a histogram for each band individually, which I
think produces crummy color images in addition to the colormap limits.

--
Eric G. Miller <egm2@jps.net>

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

Eric G. Miller wrote:

> What kind of operations might be performed upon the resulting layer?
> >From what I can tell, GRASS seems to be oriented towards handling
> either scalar quantities or discrete categories. The cell values
> resulting from i.composite certainly aren't scalars, and as categories
> they don't really have much meaning.

Purpose would mostly be for display and map making.

For display, there's already d.rgb; I don't know about paint drivers.

> AFAICT, GRASS would be much happier if the data was just kept as three
> separate channels. For the future, it might be worth considering a
> mechanism whereby all applicable GRASS operations would be able to
> handle "groups" of layers, so you wouldn't need to triplicate
> commands.

Yes. I think GRASS needs a generic method for handling image types
where the cell values denote the colors rather than having a separate
lookup. I looked around the color table functions in libgis, and if
there was a way to squeeze in a color rule of type RGBENCODED (for
instance) and a way to associate a function for "parsing" a cell value
into red, blue, and green parts, then I think most modules could go
unchanged after a recompilation. It'd take some reorganizing of the
color rule functions though...

Again, this sounds like the square-peg-round-hole scenario. The
existing "colour table" stuff seems oriented towards enabling visual
interpretation of categories or scalar values (d.legend and stuff).

If the notion of a "cell" is to be extended to vector data, it strikes
me that it may as well be aimed at the arbitrary N-channel case
(i.tape.tm implies that LANDSAT data may have 7 bands).

That leads on to the question of whether it would be better to have
"vector cells", or "layer groups" (i.e. whether the bands are separate
or interleaved pixel-by-pixel).

> Is this a just a kludge for getting around the fact that the r.out.*
> commands which generate image formats can't read multiple channels
> (similar, well opposite, to r.in.ppm's "-b" switch)?

Problem is to use color imagery in everyday GRASS display and map
making. Say I want to use a color composite for a back drop to
v.digit. I don't want some crappy 8-bit color, but 24-bit color.

Can't d.rgb handle that? [OK; d.rgb appears to have been omitted from
the release; but the manual page is still there. I will look into this
ASAP].

As an aside, I had previously looked at how the XDRIVER handles
TrueColor visuals and its colormap. It seems to me there should be a
way to bypass the allocation of a colormap if a TrueColor visual is
present (the red, green, blue components passed for pixel values should
map directly to the TrueColor visual). Having the XDRIVER allocate a
colormap of 256*256*256 colors is an extreme use of memory. I couldn't
quite figure out how to get the color functions to do this in the
XDRIVER...

I suspect that the problem is that certain programs assume that the
monitor has a limited set of colours. It would appear that this was a
safe assumption until recently. The only real problem with writing a
driver which supports 24-bit RGB is that it might break existing
clients.

Any fix would needs to start with a decision that a driver does not
have a limited set of colours, and that any client which assumes
otherwise is broken. Once that's done, writing a true RGB driver is
simple.

[Note: I don't know this for a fact; the colour model is one thing
that I've steered clear of so far; but, from what I can tell, it looks
that way.]

> Multi-channel data can already be displayed on the monitor with d.rgb;
> Is there any equivalent for the "paint" driver?

d.rgb does something similar to i.composite,

When I wrote that, I hadn't noticed that d.rgb can also output a
composite layer. I was referring to it purely in the context of
actually displaying the data. (I hadn't noticed it had been removed,
either :wink: ).

though it builds in a limit
on the number of color levels (10 per band, I think).

Which presumably derives from having explicit colour tables.

I believe
i.composite also uses a histogram for each band individually, which I
think produces crummy color images in addition to the colormap limits.

IMHO, any actual solution to these limitations has to avoid colour
tables altogether. Even if you can afford to use a colour table with
2^24 entries, that isn't necessarily enough. 256 levels may be enough
to satisfy the human eye, but it seems quite conceivable that raster
data could have more levels.

My take is this: right now, GRASS has no real support for
multi-channel data; all that it does have are:

a) some hacks which create a large number of discrete categories and
an equally large colour table, and

b) the ability store and process each channel separately.

In terms of adding multi-channel support, b) looks like a better
foundation on which to build.

The raster library does have an R_RGB_raster() operation, although
presently this is implemented (in the generic driver code) by
converting to colour indices.

I will look into:

a) Having XDRIVER implement R_RGB_raster() natively on a TrueColor
display.

b) Getting d.rgb back into the release, and supporting a).

c) Getting r.out.ppm to support writing three layers as an RGB image,
analogous to 'r.in.ppm -b' (maybe some other formats as well, but PPM
is the easiest case).

--
Glynn Clements <glynn.clements@virgin.net>

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

On Sun, Apr 29, 2001 at 07:59:19AM +0100, Glynn Clements wrote:

Eric G. Miller wrote:

> > What kind of operations might be performed upon the resulting layer?
> > >From what I can tell, GRASS seems to be oriented towards handling
> > either scalar quantities or discrete categories. The cell values
> > resulting from i.composite certainly aren't scalars, and as categories
> > they don't really have much meaning.
>
> Purpose would mostly be for display and map making.

For display, there's already d.rgb; I don't know about paint drivers.

The d.rgb is not in release branch as it's color quality was
very poor. The i.composite produces much better results, unfortunately
it cannot be used scripted.

If we could have d.rgb back (fixed), it would be fine :slight_smile:

Regards

Markus

> > AFAICT, GRASS would be much happier if the data was just kept as three
> > separate channels. For the future, it might be worth considering a
> > mechanism whereby all applicable GRASS operations would be able to
> > handle "groups" of layers, so you wouldn't need to triplicate
> > commands.
>
> Yes. I think GRASS needs a generic method for handling image types
> where the cell values denote the colors rather than having a separate
> lookup. I looked around the color table functions in libgis, and if
> there was a way to squeeze in a color rule of type RGBENCODED (for
> instance) and a way to associate a function for "parsing" a cell value
> into red, blue, and green parts, then I think most modules could go
> unchanged after a recompilation. It'd take some reorganizing of the
> color rule functions though...

Again, this sounds like the square-peg-round-hole scenario. The
existing "colour table" stuff seems oriented towards enabling visual
interpretation of categories or scalar values (d.legend and stuff).

If the notion of a "cell" is to be extended to vector data, it strikes
me that it may as well be aimed at the arbitrary N-channel case
(i.tape.tm implies that LANDSAT data may have 7 bands).

That leads on to the question of whether it would be better to have
"vector cells", or "layer groups" (i.e. whether the bands are separate
or interleaved pixel-by-pixel).

> > Is this a just a kludge for getting around the fact that the r.out.*
> > commands which generate image formats can't read multiple channels
> > (similar, well opposite, to r.in.ppm's "-b" switch)?
>
> Problem is to use color imagery in everyday GRASS display and map
> making. Say I want to use a color composite for a back drop to
> v.digit. I don't want some crappy 8-bit color, but 24-bit color.

Can't d.rgb handle that? [OK; d.rgb appears to have been omitted from
the release; but the manual page is still there. I will look into this
ASAP].

> As an aside, I had previously looked at how the XDRIVER handles
> TrueColor visuals and its colormap. It seems to me there should be a
> way to bypass the allocation of a colormap if a TrueColor visual is
> present (the red, green, blue components passed for pixel values should
> map directly to the TrueColor visual). Having the XDRIVER allocate a
> colormap of 256*256*256 colors is an extreme use of memory. I couldn't
> quite figure out how to get the color functions to do this in the
> XDRIVER...

I suspect that the problem is that certain programs assume that the
monitor has a limited set of colours. It would appear that this was a
safe assumption until recently. The only real problem with writing a
driver which supports 24-bit RGB is that it might break existing
clients.

Any fix would needs to start with a decision that a driver does not
have a limited set of colours, and that any client which assumes
otherwise is broken. Once that's done, writing a true RGB driver is
simple.

[Note: I don't know this for a fact; the colour model is one thing
that I've steered clear of so far; but, from what I can tell, it looks
that way.]

> > Multi-channel data can already be displayed on the monitor with d.rgb;
> > Is there any equivalent for the "paint" driver?
>
> d.rgb does something similar to i.composite,

When I wrote that, I hadn't noticed that d.rgb can also output a
composite layer. I was referring to it purely in the context of
actually displaying the data. (I hadn't noticed it had been removed,
either :wink: ).

> though it builds in a limit
> on the number of color levels (10 per band, I think).

Which presumably derives from having explicit colour tables.

> I believe
> i.composite also uses a histogram for each band individually, which I
> think produces crummy color images in addition to the colormap limits.

IMHO, any actual solution to these limitations has to avoid colour
tables altogether. Even if you can afford to use a colour table with
2^24 entries, that isn't necessarily enough. 256 levels may be enough
to satisfy the human eye, but it seems quite conceivable that raster
data could have more levels.

My take is this: right now, GRASS has no real support for
multi-channel data; all that it does have are:

a) some hacks which create a large number of discrete categories and
an equally large colour table, and

b) the ability store and process each channel separately.

In terms of adding multi-channel support, b) looks like a better
foundation on which to build.

The raster library does have an R_RGB_raster() operation, although
presently this is implemented (in the generic driver code) by
converting to colour indices.

I will look into:

a) Having XDRIVER implement R_RGB_raster() natively on a TrueColor
display.

b) Getting d.rgb back into the release, and supporting a).

c) Getting r.out.ppm to support writing three layers as an RGB image,
analogous to 'r.in.ppm -b' (maybe some other formats as well, but PPM
is the easiest case).

--
Glynn Clements <glynn.clements@virgin.net>

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

--
Markus Neteler * University of Hannover
Institute of Physical Geography and Landscape Ecology
Schneiderberg 50 * D-30167 Hannover * Germany
Tel: ++49-(0)511-762-4494 Fax: -3984

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

Markus Neteler wrote:

> > > What kind of operations might be performed upon the resulting layer?
> > > >From what I can tell, GRASS seems to be oriented towards handling
> > > either scalar quantities or discrete categories. The cell values
> > > resulting from i.composite certainly aren't scalars, and as categories
> > > they don't really have much meaning.
> >
> > Purpose would mostly be for display and map making.
>
> For display, there's already d.rgb; I don't know about paint drivers.

The d.rgb is not in release branch as it's color quality was
very poor. The i.composite produces much better results, unfortunately
it cannot be used scripted.

If we could have d.rgb back (fixed), it would be fine :slight_smile:

I wasn't thinking about supporting generating composite images (the
"out=" parameter), just for rendering (using R_RGB_raster()).

--
Glynn Clements <glynn.clements@virgin.net>

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

Glynn Clements wrote:

> > > > What kind of operations might be performed upon the resulting layer?
> > > > >From what I can tell, GRASS seems to be oriented towards handling
> > > > either scalar quantities or discrete categories. The cell values
> > > > resulting from i.composite certainly aren't scalars, and as categories
> > > > they don't really have much meaning.
> > >
> > > Purpose would mostly be for display and map making.
> >
> > For display, there's already d.rgb; I don't know about paint drivers.
>
> The d.rgb is not in release branch as it's color quality was
> very poor. The i.composite produces much better results, unfortunately
> it cannot be used scripted.
>
> If we could have d.rgb back (fixed), it would be fine :slight_smile:

I wasn't thinking about supporting generating composite images (the
"out=" parameter), just for rendering (using R_RGB_raster()).

I've now implemented an RGB rendering path which doesn't suffer from
the need to create a colour table with N^3 entries. The main points
are:

1. XDRIVER now supports the RGB_RASTER operation natively; if it's
using a TrueColor or DirectColor visual, it uses logical operations to
convert the data (tested on a 5:6:5 display). No Colormaps,
lookup-tables or similar.

2. libdisplay contains some new functions for RGB raster operations:

  D_draw_raster_RGB
  D_draw_d_raster_RGB
  D_draw_f_raster_RGB
  D_draw_c_raster_RGB
  D_draw_cell_RGB
  D_cell_draw_setup_RGB
  D_raster_of_type_RGB
  D_set_colors_RGB

These are all more or less analogous to the corresponding functions
without the _RGB suffix, the main difference being that they take
three sets of raster data instead of one.

These functions all use the RGB_RASTER operation, so there are no
colour tables involved. The CELL/FCELL/DCELL values are converted to
bytes using the appropriate channel[1] from the specified colour table
(typically the one from the layer).

[1] I.e. the red components are used for the red layer, etc. If the
layers have suitable grey-scale colour tables, that'll work.

3. I've added a new d.rgb program which uses these functions. It
*doesn't* support the "out=" parameter for generating a composite
layer; it just takes three separate R/G/B layers and displays them on
the monitor. If anyone plans on resurrecting the "out=" code, please
turn it into a separate program (e.g. "r.rgb").

So, if you import a 24-bit image with "r.in.ppm -b", then display the
resulting layers with "d.rgb" on a 24-bit display, there should be no
loss of data.

--
Glynn Clements <glynn.clements@virgin.net>

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

Glynn Clements wrote:

3. I've added a new d.rgb program which uses these functions. It
*doesn't* support the "out=" parameter for generating a composite
layer; it just takes three separate R/G/B layers and displays them on
the monitor. If anyone plans on resurrecting the "out=" code, please
turn it into a separate program (e.g. "r.rgb").

So, if you import a 24-bit image with "r.in.ppm -b", then display the
resulting layers with "d.rgb" on a 24-bit display, there should be no
loss of data.

I've also added "r.out.ppm3", which creates a PPM image from red,
green and blue map layers.

The main components which are still missing[1] are RGB versions of the
"raster" command for p.map and ps.map. I'll look into ps.map next.

The paint system seems to only support paletted raster data, and only
256 colours at that. Is it still in widespread use? There aren't many
drivers (13, or 9 if you exclude NULL, ppm, preview and preview2).

Wouldn't it be better to scrap "paint" and just point people at
Ghostscript? Any updates to the paint architecture would presumably
require developers who have access to the technical specs of all of
these printers (or, at least, all of the ones which would still work
after an interface change).

--
Glynn Clements <glynn.clements@virgin.net>

[1] In the sense of being able to input, process and output RGB data
without having to squash it into GRASS' indexed-colour model.

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

Glynn Clements wrote:

The main components which are still missing[1] are RGB versions of the
"raster" command for p.map and ps.map. I'll look into ps.map next.

Done that; ps.map now has two more commands: "group" is similar to
"raster" but takes the name of an imagery group of three layers. This
command was there already, but non-functional; I've fixed and
documented it. "rgb" is similar, but takes three separate raster map
layers (analogous to d.rgb).

What else needs doing in this regard? (I'm not particularly concerned
about the various r.out.foo exporters unless they provide some
specific advantage over using "r.out.ppm3 ... | ppmtofoo").

--
Glynn Clements <glynn.clements@virgin.net>

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

On Mon, Apr 30, 2001 at 03:58:49AM +0100, Glynn Clements wrote:

I've also added "r.out.ppm3", which creates a PPM image from red,
green and blue map layers.

The main components which are still missing[1] are RGB versions of the
"raster" command for p.map and ps.map. I'll look into ps.map next.

The paint system seems to only support paletted raster data, and only
256 colours at that. Is it still in widespread use? There aren't many
drivers (13, or 9 if you exclude NULL, ppm, preview and preview2).

Wouldn't it be better to scrap "paint" and just point people at
Ghostscript? Any updates to the paint architecture would presumably
require developers who have access to the technical specs of all of
these printers (or, at least, all of the ones which would still work
after an interface change).

I'd vote for scrapping the "paint" routines and putting efforts into
ps.map. But maybe it'd be good to poll the user community first...

--
Eric G. Miller <egm2@jps.net>

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

Eric G. Miller wrote:

> I've also added "r.out.ppm3", which creates a PPM image from red,
> green and blue map layers.
>
> The main components which are still missing[1] are RGB versions of the
> "raster" command for p.map and ps.map. I'll look into ps.map next.
>
> The paint system seems to only support paletted raster data, and only
> 256 colours at that. Is it still in widespread use? There aren't many
> drivers (13, or 9 if you exclude NULL, ppm, preview and preview2).
>
> Wouldn't it be better to scrap "paint" and just point people at
> Ghostscript? Any updates to the paint architecture would presumably
> require developers who have access to the technical specs of all of
> these printers (or, at least, all of the ones which would still work
> after an interface change).

I'd vote for scrapping the "paint" routines and putting efforts into
ps.map. But maybe it'd be good to poll the user community first...

In the slightly longer term, it would be nice to go a step further,
and have a single architecture for display and hardcopy output.

--
Glynn Clements <glynn.clements@virgin.net>

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

Hi Glynn and Eric,

i vote for removing the paint drivers. But i noticed that some functions
are implemented in the paint driver that are currently missing in the
ps.map program, e. g. point, setpat, defpat. And i think that site and
raster legends (slegend, rlegend) are missing (compare vlegend
command!).

One general consideration should be that creating printed maps and
creating maps for screen viewing/world wide web is very different. So a
single architecture for display and hardcopy output has drawbacks.

I currently have some problems with ps.map ps output and ps2pdf on linux
(on cygwin it works!). Will work on this later on.

cu,

Andreas

Glynn Clements wrote:

Eric G. Miller wrote:

> > I've also added "r.out.ppm3", which creates a PPM image from red,
> > green and blue map layers.
> >
> > The main components which are still missing[1] are RGB versions of the
> > "raster" command for p.map and ps.map. I'll look into ps.map next.
> >
> > The paint system seems to only support paletted raster data, and only
> > 256 colours at that. Is it still in widespread use? There aren't many
> > drivers (13, or 9 if you exclude NULL, ppm, preview and preview2).
> >
> > Wouldn't it be better to scrap "paint" and just point people at
> > Ghostscript? Any updates to the paint architecture would presumably
> > require developers who have access to the technical specs of all of
> > these printers (or, at least, all of the ones which would still work
> > after an interface change).
>
> I'd vote for scrapping the "paint" routines and putting efforts into
> ps.map. But maybe it'd be good to poll the user community first...

In the slightly longer term, it would be nice to go a step further,
and have a single architecture for display and hardcopy output.

--
Glynn Clements <glynn.clements@virgin.net>

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

--
Andreas Lange, 65187 Wiesbaden, Germany, Tel. +49 611 807850
Andreas.Lange@Rhein-Main.de - A.C.Lange@GMX.net

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'