# Two questions

The preview is accurate enough to show this in the UI. You can just download the image I posted above, set it to manual engrave, vary power, and if you set “min power” to something like 50%, you’ll see there are “holes” in the result wherever the file is pure white. Regardless of what you set the minimum to, it will skip over white areas. So if you want to do something like 5% minimum to ensure you burn through the masking, it’s imperative to make sure there’s no white-white in your image.

I realize this is now probably belaboring the point, but it might help people in the future who stumble across this topic in a search.

3 Likes

This thread is an example of how incredibly valuable the entire GlowForge Experience is. I feel like I am in a master class. Thank you all for taking the time to share your valuable experience.

Now I just need another cup of coffee and to reread about half a dozen times to wrap my brain around it all

2 Likes

Another thing learned today. Thanks!

I hope he is…because I fear we’ll never find that.

To paraphrase something Dan said to me one time…to the laser, white is like looking for a sheep in a snowbank.

2 Likes

I am so smart in many ways, but this is not one of them. There are some things that I just cannot wrap my head around …try as I may. I’m going to read and study this thread and hope to hell a light bulb comes on over my head.

So on my drive home I started thinking…

By setting minimum to 5, you’ve not said:
0=5
1=5
2=5
3=5
4=5
5=5
6=6
7=7
etc…

0=5.0
1=5.5
2=6.1
3=6.8
4=7.5
5=8.2
6=9.0
7=9.9
etc…

NOTE: That’s not real math… it’s just an arbitrary example. I’ll leave the real math to @palmercr.

My point is, one ends up altering everything by setting the minimum or maximum. So every gradient becomes exaggerated.

I’ll admit, this is only a halfway-formed thought. But I think it might be somewhat significant.

3 Likes

Correct. And you do the same by establishing a maximum. It works both ways.

1 Like

Your first question should be how dark and/or deep do I want the lightest-colored elements. Then, how dark/deep do I want the darkest elements.

1 Like

But it’s more than that… It becomes, how dark/light do I want the mid-tones. And how much variance (contrast) do I want overall.

If that helps to explain it, then add in 0=0 always, per the other fork of this discussion. (and using a scale where lower numbers are lighter, hence 0 = white)

And then after all of that thinking, seeing something beautiful in your mind - that’s so perfect - you realize that you’ve really overthought it and made it more difficult.

3 Likes

I don’t get how those settings work either.

4 Likes

But according to @jamesdhatch that’s not true, right? white = white (always), but 0 = some level of gray (never white).

Well that speaks volumes. Perhaps somebody should be writing something up so we Muggles can properly take advantage of this mysterious set of features?

2 Likes

Really? The CEO, brand sponsor, puts out updates with no instructions and “wonders” how they work. Great job. Get an intern to start figuring it out and publish an official Glowforge manual.

2 Likes

What number is “white” in your system?

Not sure what you mean by “my system.” I’d always believed that white was 0. But now I come to find that’s not the case. It’s more like -1. Where 0 power gets applied seems to be somewhere around 254,254,254.

By “your system”, I meant the numbering system you had devised earlier in this topic. I think we are having a communication issue due to a differing mental model of how this works. I assumed that when you wrote those numbers down (0=5.0, 1=5.5, etc.) you were describing a mapping between levels of gray on the left to laser power on the right, and from the fact that the power level was increasing with the numbers, I derived that higher numbers are darker, therefore the scale starts at 0 with pure white and goes up to I-don’t-know-call-it-100 for pure black. Now you’re introducing negative numbers and triplets, and it’s starting to get really complicated.

So I propose an alternative view. I am a computer guy, so it’s more comfortable for me to use something closer to what’s actually going on. 8-bit grayscale is a thing, so we’ll go with that and keep it simple (so there are exceptions for what I’m going to say but we’ll ignore them). Each pixel is represented by a number from 0 to 255. 0 is completely black, 255 is completely white, and there’s a smooth ramp in between. Hopefully that’s pretty straightforward.

Now the question is how to convert those grayscale numbers into laser power. Let’s invent some terminology, which we’ll call “pews”. 0 pews is switched off completely (making no mark), and 100 pews full-on, making the darkest possible mark. Again, let’s ignore LPI, multiple passes, and the mysterious “full power” switch for the moment. A straightforward ramp from off to on, like a light dimmer.

Now here’s the model I have in my head for how this dialog works. I’m going to call the box at the top (Precision Power) “Power”, and the box at the bottom (Min Power) “Min”, to make it easier to say.

Simply, Power specifies the maximum pews, and Min specifies the minimum pews. The grayscale levels from your file are mapped linearly into this range, with the exception that pure white (255) is always 0 pews.

For example, as in the picture, where Power = 100 and Min = 0, the mapping is as follows. There will be a tiny bit of math here because we need to scale the gray range (0-255) to the pew range (0-100). Here is the formula: (255-Gray)*((Power-Min)/255)+Min. In this case, Power is 100 and Min is 0, so we’ll simplify it to (255-Gray)*(100/255).

``````Gray 0 (black)          -> 100.0 pews [math: (255-0)*(100/255)]
Gray 1 (almost black)   ->  99.6 pews [math: (255-1)*(100/255)]
Gray 2                  ->  99.2 pews [math: (255-2)*(100/255)]
[...]
Gray 128 (midpoint)     ->  49.8 pews [math: (255-128)*(100/255)]
[...]
Gray 254 (almost white) ->   0.4 pews [math: (255-254)*(100/255)]
Gray 255 (white)        ->     0 pews [no math, white is always ignored]
``````

Hopefully by this point those numbers look sensible to you. Full black is full power laser, and full white is don’t fire the laser at all. In between, the darker the color, the more laser power.

Now what happens if we do something interesting, like keep Power at 100 but set Min to 10? Remember the formula: (255-Gray)*((Power-Min)/255)+Min. This becomes (255-Gray)*(90/255)+10, and our mapping changes as follows:

``````Gray 0 (black)          -> 100.0 pews [math: (255-0)*(90/255)+10]
Gray 1 (almost black)   ->  99.6 pews [math: (255-1)*(90/255)+10]
Gray 2                  ->  99.3 pews [math: (255-2)*(90/255)+10]
[...]
Gray 128 (midpoint)     ->  54.8 pews [math: (255-128)*(90/255)+10]
[...]
Gray 254 (almost white) ->  10.4 pews [math: (255-254)*(90/255)+10]
Gray 255 (white)        ->     0 pews [no math, white is always ignored]
``````

Notice how everything is squeezed up just a bit so that it all falls between 10 and 100 pews, with a sudden jump at the end because of the “ignore white” rule. Mathematically, white would be 10, but the rule says we use white to represent transparency, and that overrides the minimum power calculation.

One last example, what happens if we change the Power setting? That controls the maximum power, and everything scales accordingly. To make the numbers more interesting, let’s say Power = 60 and Min = 50. Back to our old friend (255-Gray)*((Power-Min)/255)+Min, which becomes (255-Gray)*(10/255)+50. And the table:

``````Gray 0 (black)          ->  60.0 pews [math: (255-0)*(10/255)+50]
Gray 1 (almost black)   ->  60.0 pews [math: (255-1)*(10/255)+50]
Gray 2                  ->  59.9 pews [math: (255-2)*(10/255)+50]
[...]
Gray 128 (midpoint)     ->  55.0 pews [math: (255-128)*(10/255)+50]
[...]
Gray 254 (almost white) ->  50.0 pews [math: (255-254)*(10/255)+50]
Gray 255 (white)        ->     0 pews [no math, white is always ignored]
``````

As before, we take the same range of source gray levels and now we squeeze them in between 50 and 60 pews, except it suddenly jumps from 50 to 0 when it hits white, because (say it with me) white represents transparent.

I’ve tried really hard to make this absolutely crystal clear. I hope I have had some level of success. If I have, the following should make sense:

If you crank up the contrast on your files so that they use all the gray levels from 0 to 255, as in the image I posted above, and you engrave with Min set to something higher than 0, there will be a jump from “almost white” to “white”, which might cause your resulting engrave to have what I’m calling “bald spots” in it. Areas where you expected “Min”, but got 0 instead. The workaround for this right now is to use your photo editor to remap the colors so there’s no 255 in the part you want engraved.

Some, but not all, file formats (like PNG and SVG) have extra information in them that makes it possible to say that certain parts are actually transparent. Not “pretend white is transparent”, but “there’s nothing drawn here”. And this is why some of us are making the suggestion that there should be a checkbox to toggle whether white is treated as transparent or not. Because we can use transparent to mean transparent and don’t need the extra step to prevent Amy’s hat from disappearing.

I hope that covers everything on this subject.

7 Likes

I really appreciate your write-up. It’s exactly how I thought it should work. However, there are a couple of issues that I see, and please correct me if I’ve missed something.

1. We know that Power goes from 0 to Full and Full>100.
2. We know power is not linear.
3. We know from @jamesdhatch that 0 does not represent white (255) but some level of gray. Let’s say 254. Which sets white apart. I guess -1 wasn’t the best. Let’s call it -∞.

Nice write up. Perhaps an additional graphic or two would add to clarity.

1 Like