I would definitely recommend using a Teensy 4.1 for this, too. Specifically,
Teensy 4.1 + two
8 MiB PSRAMs +
Ethernet kit, for about $35 USD.
This gives you something like 17 MiB of RAM to store the scan locally (a single 8 MiB PSRAM has room enough for a 2048×2048 array at 16 bits per sample, and is continuous in the Teensy memory; you just set up a pointer to point at the beginning of the PSRAM, and access it via that, and the hardware handles the rest). Since you do need to solder the PSRAM chip yourself, I would definitely get at least one extra (don't ask me why, please); and you can use either one, or two if you don't need additional Flash. The Ethernet kit has a MagJack, which means you can either use the high-speed USB (480 Mbit/s; even basic USB Serial can do at least 200 Mbit/s or 25 MiB/s), or the Ethernet (Teensy 4.x has a native ethernet PHY) that due to the MagJacks, also gives you galvanic isolation and possibly even better transfer rates via e.g. UDP. Having all these options from the get go helps.
But the biggest reason is Teensyduino and the Teensy head dev, Paul Stoffregen. For an Arduino developer, his libraries just make the development much easier. (He does not do only Teensy stuff, he contributes quite a few modules to the Arduino environment.)
Teensies are not open hardware, and do contain a proprietary bootloader (on an NXP
MKL02 chip), but PJRC does sell these pre-programmed chips so that you can do your own i.MX RT1062 board, and develop on it using Teensyduino and Teensy tools (just don't call it "Teensy" or anything Teensy-derived). There is a lively
PJRC forum dedicated for developing Teensies and stuff on Teensies, too.
If you at some point out-grow the Teensy and Teensyduino environment, you only need to implement your own bootloader and i.MX RT106x boot/bringup code (that sets the various clocks, initializes peripherals, etc. that the MKL02 chip on the Teensies does with the help of the external Winbond Flas chips on the RT1062 –– that's why Teensy 4.x is currently not compatible with e.g. RT1064 chips), and go your merry way on your own designs. (I recently asked PJRCs preference on publishing ones own boards using the PJRC.com preprogrammed MKL02 chip, and
the response was quite friendly.)
Whether the internal ADC on the Teensy 4.x suffices for the SEM, I'm not sure; it really only has 10 noise-free bits in the ADC samples. But, using something like a
MCP33131 for the data acquisition using SPI, giving you 500 kSamples/sec (-05) to 1000 kSamples/sec (-10) at 16 bits (13 noise-free bits) per sample; using say 75 MHz SPI clock and a timer controlling the start of conversion line. (I do not know which ADC is best suited for your needs, since I don't know the voltages measured, nor the optimum rate at which to sample the data; consider this just an example on the idea level, and not as an actual suggestion! With MCP33131-10, 1500×1500 samples would take 2.25 seconds; 1024×1024 = 1.05 seconds; 2048×2048 = 4.2 seconds and fits exactly in a single PSRAM at 16 bits per sample. With two PSRAMs, you can use one PSRAM per image, and continuously scan new images while transferring the previous one to the host at anything above 2 MiB/s, without any delays/latencies/intervals between image scans. Again, even the basic USB Serial gives you 25 MiB/s or more. This no-delay-between-frames should help with the scanning process, too, being completely continuous. I'm pretty sure there are much better ADC chips for this out there, but MCP33131-10 was just the first one that fulfilled my requirements in a Mouser search, is in stock, not too expensive, and relatively simple to implement ones own board for.)