Can you match color levels of semi-overlapping layers in GIMP using a single pixel color?

I am putting together fluorescent images taken on a microscope. I have taken sequential images that overlap for anywhere between 20 – 50 pixels at the edges. I have set up grids so that I have perfect overlap between them. These images are taken at different focus depths because our slide holder is slightly bent (cannot get it fixed just yet) so the overlapping colors are slightly different.

I was wondering if there is a method in GIMP to take a single pixel (or several) in the overlapping region from one layer and match it in the same pixel to an adjacent layer so that the entire color level of the adjacent layer matches the first layer based on that pixel selection?

First image is my whole image with guides removed. You can see the change in color between the various overlapping layers.

Second image are two overlapping layers I separated. The thing rectangle on the right side of the left image, and the thin rectangle on the left side of the right image will overlap when put together. I would like to take one bright spot in one of these rectangular regions to alter my colors in the other layer using the same spot.

I only recently started using GIMP and I am poorly experienced in image editing in general.

Whole image, guides removed

Overlapping layers separated

Multiply lists: element-wise but matrix-like in the last 2 levels

How can I do the following computation more efficiently? We have nested lists and want to multiply element-wise, where the ‘element’ is the deepest 2 levels treated like normal matrix multiplication. And then we Total all but the last 2 levels. In reality I need to deal with larger size (like d1=300 but still small d2) lists many many times. Probably the following is not the optimal way to program it.

d1 = 10; d2 = 2;
mat1 = RandomComplex(1 + I, {d1, d1, d2, d2});
mat2 = RandomComplex(1 + I, {d1, d1, d2, d2});
mat3 = ConjugateTranspose(mat1);
data = Table(mat1((i, j)) . mat2((i, j)) . mat3((i, j)), {i, d1}, {j, d1});
Total(data, 2);

dnd 5e – Are Arcane Tricksters still limited to Enchantment/Illusion spell schools when multiclassing with a Wizard at higher levels?

There are a couple of parts here. The short answer is that you’re still limited to illusion/enchantment spells when taking Rogue levels, but can copy any spell you can find (within level constraints) to your wizard spellbook.

Arcane Trickster spells
When you take a level in Rogue and get new spells, you can only choose spells from the Enchantment or Illusion schools (with exceptions at certain levels – see Thomas Markov’s answer or PHB p.98 for the full text). These spells are not recorded in a spellbook. Per the multiclassing rules (PHB p.164), you determine the spells you know and prepare for each class individually. As a level 10 Arcane Trickster you’ll know 7 spells of 1st or 2nd level.

Wizard spells
When you take a level in Wizard, you can learn spells from any school of magic. Additionally, you can record spells from any school of magic in your spellbook, provided that they’re of a level that you could cast as a wizard. As a level 6 wizard, these spells can be from 1st to 3rd level.

Multiclassing spell slots
As a wizard 6 / AT 10, you are effectively a 9th level spell caster. This gives you access to a pool of spell slots up to 5th level. Provided a large enough slot is available, these can be used to cast any spells you know, regardless of the school or which class you learned it from.

dnd 5e – Are Arcane Arcane Tricksters still limited to Enchantment/Illusion spell schools when multiclassing with a Wizard At higher levels?

Yes, the limitation still applies.

The Arcane Trickster’s “Spell Known of 1st-Level and Higher” feature says:

The Spells Known column of the Arcane Trickster Spellcasting table shows when you learn more wizard spells of 1st level or higher. Each of these spells must be an enchantment or illusion spell of your choice, and must be of a level for which you have spell slots. For instance, when you reach 7th level in this class, you can learn one new spell of 1st or 2nd level.

The spells you learn at 8th, 14th, and 20th level can come from any school of magic.

Whenever you gain a level in this class, you can replace one of the wizard spells you know with another spell of your choice from the wizard spell list. The new spell must be of a level for which you have spell slots, and it must be an enchantment or illusion spell, unless you’re replacing the spell you gained at 3rd, 8th, 14th, or 20th level from any school of magic.

Being a Wizard does not change this in any way. Arcane Trickster levels only get you what the feature says they get you.

You only have one pool of spell slots.

Spell slots are spell slots. Multiclassing or not. See this question: Multiclass Spellcaster: Do the involved classes share the same pool of spell slots?

In partiuclar, Please Stop Being Evil writes:

You only have one pool of slots

You cast whatever spells you can cast, in whatever manner you cast them. They use slots, which are a generic resource independent of your specific spellcasting class. There aren’t ‘Wizard’ or ‘Cleric’ slots, for example – just ‘spell slots’. So your PC might cast only Eldritch Knight spells with all their slots or only Wizard spells with all their slots or some combination of both.

Password security short, medium, high levels

Hello Information Security,
I would like to make a question that could be possible used in the future for a reference regarding
the way someone can protect his passwords as much as possible.

Firstly, what are the steps that someone has to do if he has only basic computer skills (common Windows / MAC user?)
for good, high, and if it is possible insane security? Could this be used on a large scale by most computer users if they are trained properly? (would even matter?)

Secondly, what are the steps for someone who has basic programming skills and he would like to try things to an extend (as long as are not more than difficult to maintain and compromise himself due to lack of skills/experience). Again for good, high and insane security.

Lastly would be for those who know what they are doing regarding security and have been working in large companies? but probably they don’t even need this guide.

Thank you for your time!

java – Pushing entities through multiple levels of abstraction

Let’s say I have an external library that I want to use in my application, which performs some long running operations:

interface ExternalLibrary {

    void operation1(ExternalInput input);

    List<ExternalResult> operation2(String input);
}

I want to trigger those operations using REST endpoints. operation2 returns a final result, but it can be performed only if operation1 was previously executed successfully.

My idea is to keep track of ongoing process in database (using let’s say RequestEntity) and final result in ResultEntity. I’m thinking of defining a LibraryAdapter, AsyncClient and Service that will be used by REST controller. So something like this:

class Service {

    private LibraryAsyncClient asyncClient;

    // called from some Controller
    Long operation1(RestRequest restRequest) {
        // convert RestRequest to RequestEntity request
        requestRepository.save(request);

        asyncClient.operation1(request)
            // update request status after operation is completed
            .thenAccept(it -> request.setStatus(OP1_OK))
            .exceptionally(err -> request.setStatus(OP1_ERROR));

        return request.getId();
    }

    // called from some Controller
    void operation2(RestRequest restRequest) {
        return requestRepository.findById(restRequest.getId())
            .ifPresent(request -> {
                asyncClient.operation2(request)
                    .thenAccept(result -> {
                        request.setStatus(OP2_OK);
                        resultRepository.save(result);
                    })
                    .exceptionally(err -> request.setStatus(OP2_ERROR));
                }
            );
    }
}
class LibraryAsyncClient {

    private LibraryAdapter adapter;

    CompletableFuture<Void> operation1(RequestEntity request) {
        return supplyAsync(() -> adapter.operation1(input), executorService);
    }

    CompletableFuture<ResultEntity> operation2(RequestEntity request) {
        return supplyAsync(() -> adapter.operation2(input), executorService);
    }
}
class LibraryAdapterImpl implements LibraryAdapter {

    private ExternalLibrary externalLibrary;

    void operation1(RequestEntity request) {
        // map RequestEntity to ExternalInput etc.
        externalLibrary.operation1(externalInput);
    }

    ResultEntity operation2(RequestEntity request) {
        // map RequestEntity to stringInput etc.
        List<ExternalResult> externalResult = externalLibrary.operation2(stringInput)
        return convertToResult(externalResult);
    }
}

My main concern is that I’m pushing RequestEntity from Service, through AsyncClient, up to Adapter and ResultEntity the other way. Would it be a better idea to introduce some intermediary data objects? I appreciate any comments regarding this question (or this whole design in general).

java – Pushing entites through multiple levels of abstraction

Let’s say I have an external library that I want to use in my application, which performs some long running operations:

interface ExternalLibrary {

    void operation1(ExternalInput input);

    List<ExternalResult> operation2(String input);
}

I want to trigger those operations using REST endpoints. operation2 returns a final result, but it can be performed only if operation1 was previously executed successfully.

My idea is to keep track of ongoing process in database (using let’s say RequestEntity) and final result in ResultEntity. I’m thinking of defining a LibraryAdapter, AsyncClient and Service that will be used by REST controller. So something like this:

class Service {

    private LibraryAsyncClient asyncClient;

    // called from some Controller
    Long operation1(RestRequest restRequest) {
        // convert RestRequest to RequestEntity request
        requestRepository.save(request);

        asyncClient.operation1(request)
            // update request status after operation is completed
            .thenAccept(it -> request.setStatus(OP1_OK))
            .exceptionally(err -> request.setStatus(OP1_ERROR));

        return request.getId();
    }

    // called from some Controller
    void operation2(RestRequest restRequest) {
        return requestRepository.findById(restRequest.getId())
            .ifPresent(request -> {
                asyncClient.operation2(request)
                    .thenAccept(result -> {
                        request.setStatus(OP2_OK);
                        resultRepository.save(result);
                    })
                    .exceptionally(err -> request.setStatus(OP2_ERROR));
                }
            );
    }
}
class LibraryAsyncClient {

    private LibraryAdapter adapter;

    CompletableFuture<Void> operation1(RequestEntity request) {
        return supplyAsync(() -> adapter.operation1(input), executorService);
    }

    CompletableFuture<ResultEntity> operation2(RequestEntity request) {
        return supplyAsync(() -> adapter.operation2(input), executorService);
    }
}
class LibraryAdapterImpl implements LibraryAdapter {

    private ExternalLibrary externalLibrary;

    void operation1(RequestEntity request) {
        // map RequestEntity to ExternalInput etc.
        externalLibrary.operation1(externalInput);
    }

    ResultEntity operation2(RequestEntity request) {
        // map RequestEntity to stringInput etc.
        List<ExternalResult> externalResult = externalLibrary.operation2(stringInput)
        return convertToResult(externalResult);
    }
}

My main concern is that I’m pushing RequestEntity from Service, through AsyncClient, up to Adapter and ResultEntity the other way. Would it be a better idea to introduce some intermediary data objects? I appreciate any comments regarding this question (or this whole design in general).

dnd 5e – Does Psionic Sorcery value spell levels differently than Flexible Casting?

In attempting to answer this question I ran into a different question about how the Abberant Mind Sorcerer’s Psionic Sorcery works.

Psionic Sorcery states:

When you cast any spell of 1st level or higher from your Psionic Spells feature, you can cast it by expending a spell slot as normal or by spending a number of sorcery points equal to the spell’s level.

Normally, a sorcerer must spend increasingly large quantities of sorcery points to make spell slots as indicated on the table under Font of Magic and can create spell slots no higher than level 5.

However, Psionic Sorcery is worded as “a number of points equal to the spell’s level.” This would seem to suggest that the conversion rate is always 1:1. That is, to cast a level 5 spell, an Abberant Mind Sorcerer would only need to expend 5 sorcery points, not 7.

Further, the Psionic Sorcery seems to allow any level spell to be cast in this way. The ability does not seem to be limited to a maximum of level 5 spell slots since it isn’t explicitly predicated on the table from Flexible Casting.

Is that correct?

list manipulation – From index-based `Table` with different levels to `Map`-based operations?

Toy example:

ClearAll(f);
Module({
  a = RandomReal({}, {2, 3, 4, 5}),
  b = RandomReal({}, {2, 3, 4, 5})
  },
 Table(f( a((i, j)), b((i, j, k, l)) ), {i, 2}, {j, 3}, {k, 4}, {l, 5})
 )

How can it be translated into Map-based operations (e.g., MapThread) where vectorization may bring in better performance? Or index-based accesses just perform better here?


One may suggest using ConstantArray to copy data in a((i, j)) to level k, l so that MapThread could be used:

ClearAll(f);
Module({
  a = RandomReal({}, {2, 3, 4, 5}),
  b = RandomReal({}, {2, 3, 4, 5})
  },
 Table(f( a((i, j)), b((i, j, k, l)) ), {i, 2}, {j, 3}, {k, 4}, {l, 
    5}) ===
  MapThread(f, {
      Map(ConstantArray(#, {4, 5}) &, a, {2}),
      b
    }, 4
   )
 )

True

but I shall notice the fact that, in practice, data (at level j) may be too large for making copies to be efficient. I hope the solution can be generalized for more complicated f.

dnd 3.5e – How can this in-combat healing specialist best spend their remaining levels and feats?

A Tapestry of Heal—Sanctum Spell cheese?

First, there is a significant problem in that you cannot cast heal into the eldritch tapestry, as it’s a 6th-level spell and the eldritch tapestry tops out at 5th-level spells. The eldritch tapestry goes a fair way towards mitigating the horrible inefficiency of cure spells, but even freely getting to multiply those spells by 3 or 4 or even 5 doesn’t really make them great uses of combat actions. Better than anybody else’s healing, for sure, but still not good.

All of which is to say, your #1 priority should be finding some way to cheese heal into your eldritch tapestry. Sanctum Spell could do it; as long as you aren’t in your sanctum, it’s treated as a 5th-level spell despite using a 6th-level spell slot. You would probably want Rapid Metamagic to apply Sanctum Spell in a timely fashion. There may be other approaches.

Certainly, applying heal to the entire party is absolutely incredible, and well worth jumping through all these hoops. In fact, I understand if you feel it’s too good, considering your overall goals here. Still, it’ll only happen quite late, and unoptimized party may need that level of support at levels that high.

Plane-hopping Healer—Avoiding a cleric dip

You could take Planar Touchstone from Planar Handbook (or Touchstone from Sandstorm) and attune to the Catalogues of Enlightenment, which grants you a domain, qualifying you for Imbued Healing.

Travel Devotion, of course, you could take on your own, and sacred exorcist from Complete Divine is relatively easy to enter (consider getting dismissal from a runestaff or knowstone) and gets an arcanist turn undead without any loss of spellcasting, which would let you power it.

Two feats for a class level? Probably worth it. Of course, you might also just skip Travel Devotion; it’s certainly good, particularly with your usage of move actions, but your positioning is also just not that crucial.

Jade Phoenix Down—Sublime weaving with Tome of Battle

I think you should strongly consider going for jade phoenix mage.

As you noted, a Tome of Battle dip is strong already:

  • Crusader is the best combat healer in the game out of the box; between war weaver and heal, you are superior, but you had to put a ton of work into that. Devoted Spirit maneuvers allow for some substantial healing without consuming any daily resources, and also allow you to throw out some damage. Your accuracy might be dicey, but there are steps you could afford to improve that. It’s not like you’re trying to hit with full Power Attack or with a bunch of iteratives, just one attack at your highest BAB.

  • Crusader also gets other great stuff, like white raven tactics. Don’t discount some of the other options either: iron guard’s glare buffs all your allies’ AC, and if someone does attack you, you are the easiest target for your own healing (though war weaver mitigates the significance of that).

  • Crusader also lets you take Song of the White Raven. It’s not directly related to healing, but it’s a pretty sizeable buff that you’d be able to include without much effort on your part at all. It also gives a solid use for those free feats you’re looking at, though Sanctum Spell and Rapid Metamagic might be consuming a lot of those.

And then you look at jade phoenix mage: a CL bonus, some decent defenses, some (limited, appropriate) free quickening of spells, and it offers Devoted Spirit maneuvers. Moreover, while it does miss out on spellcasting progression, and also you miss out on spellcasting if you dip crusader to get in, which you probably want to do since without it you’ll burn two feats to get a really stunted maneuver progression, you are already taking sublime chord: that’s a perfect reset of your spellcasting progression right there.

The trick is to get war weaver 1st, crusader 1st, and jade phoenix mage 1st all in before 11th level and the beginning of sublime chord. You still miss out at jade phoenix mage 6th if you get there, but a sublime chord can afford a single missed spell level while still obtaining 9th-level spells—and as a war weaver, your need for high-level spells is somewhat reduced anyway.

Healing in a Bottle—Sha’ir

Sha’ir from Dragon Compendium is a Charisma-based arcane-and-divine spellcaster (it’s weird) that gets full spellcasting on the wizard schedule. The advantage of this is that it’s much, much easier to hit the 2nd-level and 3rd-level spells required for war weaver, sublime chord, and jade phoenix mage. It doesn’t get any healing, but since you are starting at 9th or 10th, it might be plausible to “get by” until 11th to get sublime chord and take the appropriate cure spell with that.

Moreover, since sha’ir is a divine spellcaster, it can allow you to use a domain staff (Complete Champion) or domain icon (Faiths of Eberron), allowing you to access healing spells that way. This also makes it rather easy to enter sacred exorcist, and you can even do it earlier via dispel evil.

Suggestion

I don’t bother with Travel Devotion—and therefore don’t bother with sacred exorcist or sha’ir. But this fits jade phoenix mage into your build fairly easily; only pain point is Reach Spell, which you could go for instead of Song of the White Raven (and ideally retrain to Song of the White Raven later).

begin{array}{l|l}
textbf{Level} & textbf{Class} & textbf{Special} & textbf{Feat} & textbf{Spells} \ hline
1^text{st} & text{Bard} & text{Inspire courage +1} & text{Combat Casting,} & 0text{th} \
& & & quadtext{Dodge} \
2^text{nd} & & & & 1^text{th} \
3^text{rd} & & & text{Enlarge Spell} \
4^text{th} & & & & 2^text{nd} \ hline
5^text{th} & text{Crusader} & textit{Crusader’s strike,} & & ❌\
& & quadtextit{mountain hammer} \ hline
6^text{th} & text{Combat Medic} & text{Healing kicker} & text{Touchstone} \ hline
7^text{th} & text{Jade Phoenix Mage} & text{Arcane wrath,} & & ❌ \
& & quadtextit{revitalizing strike} \ hline
8^text{th} & text{Combat Medic} & & & 3^text{rd} \ hline
9^text{th} & text{War Weaver} & text{Eldritch tapestry} & text{Imbued Healing} & ❌ \
10^text{th} & & text{Quiescent weaving} \ hline
11^text{th} & text{Sublime Chord} & & & 5^text{th} \ hline
12^text{th} & text{War Weaver} & & text{Song of the} \
& & & quadtext{White Raven} \
13^text{th} & & \
14^text{th} & & text{Enlarged tapestry} & & 6^text{th} \ hline
15^text{th} & text{Combat Medic} & & text{Sanctum Spell} & 7^text{th} \
16^text{th} \
17^text{th} & & text{Spontaneous }textit{heal} & & 8^text{th} \ hline
18^text{th} & text{Jade Phoenix Mage} & textit{Mystic phoenix stance} & text{Rapid Metamagic} \
19^text{th} & & textit{Rallying strike} & & 9^text{th} \
20^text{th} & & text{Empower strike} \
end{array}