an appropriate volume of ice - cold 4 % pfa solution was added ( according to the macswell™ imaging frames datasheet ) and incubated for 10 minutes at room temperature. the slide was washed three times with macsima running buffer. after washing the appropriate initial sample volume of macsima running buffer was added ( according to the macswell™ imaging frames datasheet ). right before the start of the macsima ™ instrument a dapi pre - staining was performed: the macsima running buffer was removed from the sample to be analysed and stained for 10 min with a 1: 10 dilution of a dapi staining solution ( volume depends on working volume for the different macswell™ formats, see datasheet ). the dapi staining solution was removed and 3 washing steps were performed ( macsima running buffer ). finally, the initial sample volume of macsima running buffer was added. details of the antibod ies used can be found in the key resources table. liver was frozen and sectioned as described above for visium analysis and liver slices were placed within capture areas on resolve bioscience slides. samples were then sent to resolve biosciences on dry ice for analysis. upon arrival, tissue sections were thawed and fixed with 4 % v / v formaldehyde ( sigma - aldrich f8775 ) in 1x pbs for 30 min at 4 °c. after fixation, sections were washed twice in 1x pbs for two min, followed by one min washes in 50 % ethanol and 70 % ethanol at room temperature. fixed samples were used for molecular cartography™ ( 100 - plex combinatorial single molecule fluorescence in - situ hybri diz ation ) according to the manufacturer ’ s instructions ( protocol 3. 0; available for download from resolve ’ s website to registered users ), starting with the aspiration of ethanol and the addition of buffer bst1 ( step 6 and 7 of the tissue priming protocol ). briefly, tissues were primed followed by overnight hybri diz ation of all probes specific for the target genes ( see below for probe design details and target list ). samples were washed the next day to remove excess probes and fluorescently tagged in a two - step color development process. regions of interest were imaged as described below and fluorescent signals removed during decolorization. color development, imaging and decolorization were repeated for multiple cycles to build a unique combinatorial code for every target gene that was derived from raw images as described below. the probes for 100 genes were designed using resolve ’ s proprietary design algorithm. briefly, the probe - design was performed at the gene - level. for every targeted gene all full - length protein - coding transcript sequences from the ensembl database were used as design targets if the isoform had the gencode annotation tag ‘ basic ’ ( frankish et al., 2019; yates et al., 2020 ). to speed up the process, the calculation of computationally expensive parts, especially the off - target searches, the selection of probe sequences was not performed randomly, but limited to sequences with high success rates. to filter highly repetitive regions, the abundance of k - mers was obtained from the background transcriptome using jellyfish ( marcais and kingsford, 2011 ). every target sequence was scanned once for all k - mers, and those regions with rare k - mers were preferred as seeds for full probe design. a probe candidate was generated by extending a seed sequence until a certain target stability was reached. a set of simple rules was applied to discard sequences that were found experimentally to cause problems. after these fast screens, every kept probe candidate was mapped to the background transcriptome using thermo nucleot ideblast ( gans and wolinsky, 2008 ) and probes with stable off - target hits were discarded. specific probes were then scored based on the number of on - target matches ( isoforms ), which were weighted by their associated appris level ( rodriguez et al., 2018 ), favoring principal isoforms over others. a bonus was added if the binding - site was inside the protein - coding region. from the pool of accepted probes, the final set was compose d by greedily picking the highest scoring probes. probe details are included in the key resources table. samples were imaged on a zeiss cell discoverer 7, using the 50x plan apochromat water immersion objective with an na of 1. 2 and the 0. 5x magnification changer, resulting in a 25x final magnification. standard cd7 led excitation light source, filters, and dichroic mirrors were used together with customized emission filters optimized for detecting specific signals. excitation time per image was 1000 ms for each channel ( dapi was 20 ms ). a z - stack was taken at each region with a distance per z - slice according to the nyquist - shannon sampling theorem. the custom cd7 cmos camera ( zeiss axiocam mono 712, 3. 45 μm pixel size ) was used. for each region, a z - stack per fluorescent color ( two colors ) was imaged per imaging round. a total of 8 imaging rounds were done for each position, resulting in 16 z - stacks per region. the completely automate d imaging process per round ( including water immersion generation and precise relocation of regions to image in all three dimensions ) was realized by a custom python script using the scripting api of the zeiss zen software ( open application development ). the algorithms for spot segmentation were written in java and are based on the imagej library functionalities. only the iterative closest point algorithm is written in c + + based on the libpointmatcher library ( https: / / github. com / ethz - asl / libpointmatcher ). as a first step all images were corrected for background fluorescence. a target value for the allowed number of maxima was determined based upon the area of the slice in μm multiplied by the factor 0. 5. this factor was empirically optimized. the brightest maxima per plane were determined, based upon an empirically optimized threshold. the number and location of the respective maxima was stored. this procedure was done for every image slice independently. maxima that did not have a neighboring maximum in an adjacent slice ( called z - group ) were excluded. the resulting maxima list was further filtered in an iterative loop by adjusting the allowed thresholds for ( babs - bback ) and ( bperi - bback ) to reach a feature target value ( babs: absolute brightness, bback: local background, bperi: background of periphery within 1 pixel ). this feature target values were based upon the volume of the 3d - image. only maxima still in a z - group of at least 2 after filtering were passing the filter step. each z - group was counted as one hit. the members of the z - groups with the highest absolute brightness were used as features and written to a file. they resemble a 3d - point cloud. to align the raw data images from different imaging rounds, images had to be corrected. to do so the extracted feature point clouds were used to find the transformation matrices. for this purpose, an iterative closest point cloud algorithm was used to minimize the error between two point - clouds. the point clouds of each round were aligned to the point cloud of round one ( reference point cloud ). the corresponding point clouds were stored for downstream processes. based upon the transformation matrices the corresponding images were processed by a rigid transformation using trilin ear interpolation. the aligned images were used to create a profile for each pixel consisting of 16 values ( 16 images from two color channels in 8 imaging rounds ). the pixel profiles were filtered for variance from zero normalized by total brightness of all pixels in the profile. matched pixel profiles with the highest score were assigned as an id to the pixel. pixels with neighbors having the same id were grouped. the pixel groups were filtered by group size, number of direct adjacent pixels in group, number of dimensions with size of two pixels.