\section{Why We Do Not Rely on Patch-Based Representations}
\label{app:whynopatch}
Although there is a substantial body of work on generalizable patch-based neural representations, such as COIN++~\cite{dupont2022coin++}, SpatialFuncta~\cite{bauer2023spatial}, and LIFT~\cite{kazerouni2025lift}, the focus of this work is different. We aim to learn a shared representation across signals of varying modalities and dimensions, where each signal is encoded as a single 1D latent vector. While we recognize that the inductive bias of patch-based representations can be advantageous, and while we believe that our findings could also be utilized within these frameworks, such an exploration lies beyond the scope of this work. We argue that a unified representation across diverse signal types is particularly valuable in medicine, where integrating data from multiple modalities remains an active yet unsolved research challenge.
\section{Implementation Details}
\label{app:implementation}
In this section, we provide a detailed list of hyperparameters used for the experiments in this paper.
\begin{table}[htbp]
\floatconts
    {tab:hyperparameters}
    {\caption{The number of layers $K$, the hidden dimension $L$, the batch size $B$, the context selection ratio $\gamma$, $\omega_{1}$ and $\omega_{K}$, as well as the representation size $P$.}}
    {
        \resizebox{0.6\textwidth}{!}{
            \begin{tabular}{l|S[table-format=2.0]S[table-format=3.0]S[table-format=3.0]S[table-format=1.2]S[table-format=3.0]S[table-format=3.0]S[table-format=4.0]}
            \toprule
            Signal Dim. & {$K$} & {$L$} & {$B$} & {$\gamma$} & {$\omega_{1}$} & {$\omega_{K}$} & {$P$} \\
            \midrule
            1D & 8  & 64  & 64  & 1.00 & 20 & 200 & 64 \\
            2D & 15 & 256 & 24  & 0.25 & 20 & 400 & 2048 \\
            3D & 15 & 256 & 4   & 0.25 & 20 & 300 & 8192 \\
            \bottomrule
            \end{tabular}
        }
    }
\end{table}
\section{Implementation Details for Comparing Methods}
\label{app:impl_comp}
\paragraph{Functa} Following the original implementation, we benchmark Functa using a network of depth $15$ and a hidden dimension of $512$. We set the SIREN frequency parameter to $\omega=30$ and optimize using $3$ inner loop steps during training and inference. Similar to our method, we use a modulation dimension of $2048$. As reported in the original paper, we apply SGD with a learning rate of $1\times10^{-2}$ for the inner loop updates and Adam with a learning rate of $3\times10^{-6}$ for the meta-updates.

\paragraph{COIN++} Following the original implementation, we benchmark COIN++ using a network of depth $10$ and a hidden dimension of $512$. We set the SIREN frequancy parameter to $\omega=50$ and optimize using $3$ inner loop steps during training and $10$ inner loop steps during inference. For the unpatched version, we use a modulation dimension of $2048$. As reported in the original paper, we apply SGD with a learning rate of $1\times10^{-2}$ for the inner loop updates and Adam with a learning rate of $3\times10^{-6}$ for the meta-updates.

\paragraph{COIN++ (patched)} We additionally benchmark a patched version of COIN++. We apply the same setup as in COIN++, but train on random $32 \times 32$ patches. We therefore scale the modulation dimension from $2048$ to $512$ to keep the same compression rate. This results in a latent dimension of $2 \times 2 \times 512$. All other hyperparameters are similar to the COIN++ run.

\paragraph{SpatialFuncta} Following the hyperparameters reported in the paper, we benchmark SpatialFuncta using a network of depth $12$ and a hidden dimension of $256$. We set the SIREN frequency parameter to $\omega_0=20$ and optimize using 3 inner loop setps during training and inference. We apply a latent dimension of $2 \times 2\times 512$. As reported in the paper, we apply SGD with a learning rate of $1\times10^{-2}$ for the inner loop updates and Adam with a learning rate of $3\times10^{-5}$ for the meta-updates.

%
%
%
% ---- Relation Between Omega Schedule and Effective Learning Rates ----
\section{Relation Between a SIREN Layer's \texorpdfstring{$\boldsymbol{\omega}$}{Omega}-Parameter and Learning Rate}
\label{sec:omega_analysis}
In this section, we provide a comprehensive mathematical derivation of the relation between a layer's $\omega$-parameter and it's effective learning rate.

\paragraph{Problem Formulation}
\label{subsec:problem_formulation}
Let's consider two SIREN layers with different frequency parameters $\omega_m \neq \omega_n$. The layers are defined :
\begin{align}
\mathbf{y}_m &= \sin(\omega_m(\mathbf{W}_m \mathbf{x} + \mathbf{b}_m)) \label{eq:layer_m} \\
\mathbf{y}_n &= \sin(\omega_n(\mathbf{W}_n \mathbf{x} + \mathbf{b}_n)) \label{eq:layer_n},
\end{align}
where $\mathbf{W}_m, \mathbf{W}_n \in \mathbb{R}^{p \times d}$ are weight matrices, $\mathbf{b}_m, \mathbf{b}_n \in \mathbb{R}^p$ are bias vectors, $\mathbf{x} \in \mathbb{R}^d$ is an input vector, and $\mathbf{y}_m, \mathbf{y}_n \in \mathbb{R}^p$ are output vectors. Our goal is to determine the relationship between the learning rates $\tau_m$ and $\tau_n$ that ensures both layers maintain equivalent outputs throughout training, despite having different frequency parameters.

\paragraph{Initialization Analysis}
\label{subsec:initialization}
To understand how different $\omega$-values affect a layer's learning rate, we consider the case where both layers are initialized with the same underlying random values but different scaling factors. Specifically, let $\tilde{\mathbf{W}}^{(0)}, \tilde{\mathbf{b}}^{(0)} \sim \mathcal{U}(-\sqrt{6/n}, \sqrt{6/n})$ and define:
\begin{align}
\mathbf{W}_m^{(0)} &= \frac{1}{\omega_m}\tilde{\mathbf{W}}^{(0)}, \quad \mathbf{b}_m^{(0)} = \frac{1}{\omega_m}\tilde{\mathbf{b}}^{(0)}\\
\mathbf{W}_n^{(0)} &= \frac{1}{\omega_n}\tilde{\mathbf{W}}^{(0)}, \quad \mathbf{b}_n^{(0)} = \frac{1}{\omega_n}\tilde{\mathbf{b}}^{(0)}.
\end{align}
This ensures that:
\begin{align}
\omega_m \mathbf{W}_m^{(0)} &= \omega_n \mathbf{W}_n^{(0)} = \tilde{\mathbf{W}}^{(0)} \label{eq:init_weights} \\
\omega_m \mathbf{b}_m^{(0)} &= \omega_n \mathbf{b}_n^{(0)}= \tilde{\mathbf{b}}^{(0)} \label{eq:init_biases},
\end{align}
which means that both layers produce the same output upon initialization:
\begin{equation}
\sin\big(\omega_m(\mathbf{W}_m^{(0)} \mathbf{x} + \mathbf{b}_m^{(0)})\big) = \sin\big(\omega_n(\mathbf{W}_n^{(0)} \mathbf{x} + \mathbf{b}_n^{(0)})\big).
\label{eq:init_output_equality}
\end{equation}
\paragraph{Identifying the Learning Rate Relation}
\label{subsec:lr_relation}
We now examine the condition that needs to be fulfilled for both layers to maintain equal behavior after gradient descent updates. We therefore require:
\begin{equation}
\omega_m \mathbf{W}_m^{(1)}  \overset{!}{=}  \omega_n \mathbf{W}_n^{(1)}.
\label{eq:condition}
\end{equation}
The gradient descent update steps are defined as:
\begin{align}
\mathbf{W}_m^{(1)} &= \mathbf{W}_m^{(0)} - \tau_m \frac{\partial \mathcal{L}}{\partial \mathbf{W}_m} \label{eq:update_m} \\
\mathbf{W}_n^{(1)} &= \mathbf{W}_n^{(0)} - \tau_n \frac{\partial \mathcal{L}}{\partial \mathbf{W}_n}, \label{eq:update_n}
\end{align}
where $\tau_m$ and $\tau_n$ are the learning rates for layers $m$ and $n$, respectively. Substituting the update equations~\eqref{eq:update_m} and~\eqref{eq:update_n} into condition~\eqref{eq:condition}, we get:
\begin{equation}
\omega_m \left[\mathbf{W}_m^{(0)} - \tau_m \frac{\partial \mathcal{L}}{\partial \mathbf{W}_m}\right] = \omega_n \left[\mathbf{W}_n^{(0)} - \tau_n \frac{\partial \mathcal{L}}{\partial \mathbf{W}_n}\right].
\label{eq:substitution}
\end{equation}
Using the initialization condition~\eqref{eq:init_weights}, this simplifies to:
\begin{equation}
\omega_m \tau_m \frac{\partial \mathcal{L}}{\partial \mathbf{W}_m} = \omega_n \tau_n \frac{\partial \mathcal{L}}{\partial \mathbf{W}_n}.
\label{eq:simplified}
\end{equation}
For a given loss function $\mathcal{L}$, the gradients with respect to the weight matrices are defined as:
\begin{align}
\frac{\partial \mathcal L}{\partial \mathbf W_m} &= \frac{\partial \mathcal L}{\partial \mathbf y_m} \frac{\partial \mathbf y_m}{\partial \mathbf W_m}\\
\frac{\partial \mathcal L}{\partial \mathbf W_n} &= \frac{\partial \mathcal L}{\partial \mathbf y_n} \frac{\partial \mathbf y_n}{\partial \mathbf W_n},
\end{align}
with:
\begin{align}
\frac{\partial \mathbf y}{\partial \mathbf W_m} &= \omega_m  \mathbf x^\top \otimes \mathrm{diag}\Big(\cos\big(\omega_m(\mathbf W_m\mathbf x + \mathbf b_m)\big)\Big)\label{eq:chain_m}\\
\frac{\partial \mathbf y}{\partial \mathbf W_n} &= \omega_n  \mathbf x^\top \otimes \mathrm{diag}\Big(\cos\big(\omega_n(\mathbf W_n\mathbf x + \mathbf b_n)\big)\Big),\label{eq:chain_n}
\end{align}
where $\otimes$ is the Kronecker product and $\mathrm{diag}(\cdot)$ is the diagonal matrix with the entries of its argument on the diagonal.
Substituting the gradient expressions from~\eqref{eq:chain_m} and~\eqref{eq:chain_n}, Equation~\eqref{eq:simplified} becomes:
\begin{equation}
\begin{aligned}
&\omega_m \tau_m \Bigg(\frac{\partial \mathcal{L}}{\partial \mathbf{y}_m} \, \omega_m \mathbf x^\top \otimes \mathrm{diag}\Big(\cos\big(\omega_m(\mathbf W_m\mathbf x + \mathbf b_m)\big)\Big)\Bigg) \\
&\quad= \omega_n \tau_n \Bigg(\frac{\partial \mathcal{L}}{\partial \mathbf{y}_n} \, \omega_n  \mathbf x^\top \otimes \mathrm{diag}\Big(\cos\big(\omega_n(\mathbf W_n \mathbf x + \mathbf b_n)\big)\Big)\Bigg)
\end{aligned}
\label{eq:vectorial_full}
\end{equation}
Due to the initialization conditions~\eqref{eq:init_weights} and~\eqref{eq:init_biases}, the arguments of the cosine functions are the same:
\begin{equation}
\omega_m(\mathbf{W}_m^{(0)} \mathbf{x} + \mathbf{b}_m^{(0)}) = \omega_n(\mathbf{W}_n^{(0)} \mathbf{x} + \mathbf{b}_n^{(0)}).
\label{eq:cosine_args_equal}
\end{equation}
The same holds true for the loss gradients with respect to the model outputs - considering the similar output from Equation~\eqref{eq:init_output_equality}:
\begin{equation}
\frac{\partial \mathcal{L}}{\partial \mathbf{y}_m} = \frac{\partial \mathcal{L}}{\partial \mathbf{y}_n}
\end{equation}
Equation~\eqref{eq:vectorial_full} therefore reduces to:
\begin{equation}
    \omega_m^2\tau_m = \omega_n^2\tau_n,
\end{equation}
which can be reformulated as:
\begin{equation}
\frac{\tau_n}{\tau_m} = \left(\frac{\omega_m}{\omega_n}\right)^2
\label{eq:lr_ratio}
\end{equation}
%
%
%
% ---- Additional Meta-Learning ----
\section{Additional Details on the Meta-Learning Approach}
\label{supp:secord}
This section provides further insights into our meta-learning framework summarized in \autoref{alg:metalearning}. We start with the \textbf{inner-loop optimization} process in which the signal-specific parameter vectors are initialized as a zero-vector:
\begin{equation}
    \phi^{(i)}_0 := \mathbf{0},
\end{equation}
and updated for $g = 0, ..., G-1$ update steps using stochastic gradient descent (SGD):
\begin{equation}
    \phi^{(i)}_{g+1} = \phi^{(i)}_{g} - \alpha \nabla_{\phi} \mathcal{L}_{\mathtt{MSE}}\big(\phi^{(i)}_{g}, \theta; \mathcal{C}^{(i)}\big).
\end{equation} 
After performing $G$ inner-loop update steps, the \textbf{meta-objective}, used for updating the shared network parameters $\theta$, is defined as:
\begin{equation}
    \mathcal{L}_{\text{meta}} = \frac{1}{B}\sum_{i=1}^{B} 
    \mathcal{L}_{\mathtt{MSE}}\big(\phi^{(i)}_G, \theta; \mathcal{C}^{(i)}\big),
\end{equation}
for a batch with $B$ signals, where $\phi^{(i)}_G$ denotes the adapted signal-specific parameters, which are themselves functions of $\theta$. The \textbf{gradient of the meta-objective} with respect to $\theta$ is therefore defined as:
\begin{equation}
\resizebox{0.88\columnwidth}{!}{$
\begin{aligned}
\nabla_\theta \mathcal{L}_{\text{meta}}(\theta) 
&= \frac{1}{B} \sum_{i=1}^B 
\nabla_\theta \mathcal{L}_{\mathtt{MSE}}\big(\phi^{(i)}_G, \theta; \mathcal{C}^{(i)}\big) \\
&= \frac{1}{B} \sum_{i=1}^B \Bigg[ 
\underbrace{\nabla_\theta \mathcal{L}_{\mathtt{MSE}}(\phi^{(i)}_G, \theta; \mathcal{C}^{(i)})}_{\text{direct effect}} 
+ \underbrace{\left( \frac{\partial \phi^{(i)}_G}{\partial \theta} \right)^{\top} 
\nabla_{\phi} \mathcal{L}_{\mathtt{MSE}}(\phi^{(i)}_G, \theta; \mathcal{C}^{(i)})}_{\text{indirect effect via $\phi^{(i)}_G$}} 
\Bigg].
\end{aligned}$
}
\end{equation} 
Computing the meta-gradient requires differentiating through the inner-loop optimization process. Each signal-specific parameter vector $\phi^{(i)}_G$ is the result of $G$ gradient descent steps that depend on the current shared parameters $\theta$. Therefore, when taking the derivative of the meta-objective with respect to $\theta$, we must account for both:  
\begin{itemize}
    \item \textbf{Direct effect:} the explicit influence of $\theta$ on the loss $\mathcal{L}_{\mathtt{MSE}}$ given the adapted parameters $\phi^{(i)}_G$.
    \item \textbf{Indirect effect:} the influence of $\theta$ on the loss through its effect on the inner-loop parameters $\phi^{(i)}_G$. 
\end{itemize}
While taking the direct effect into account is straightforward, the indirect effect is captured by the term:
\begin{equation}
\left( \frac{\partial \phi^{(i)}_G}{\partial \theta} \right)^\top \nabla_{\phi} \mathcal{L}_{\mathtt{MSE}}(\phi^{(i)}_G, \theta; \mathcal{C}^{(i)}),
\end{equation} 
which involves second-order derivatives of the inner-loop loss. To compute this term, we differentiate through the inner-loop recursion, which yields the following recursive formula for the Jacobian of the adapted parameters with respect to $\theta$:
\begin{equation}
\resizebox{0.88\columnwidth}{!}{
$\frac{\partial \phi^{(i)}_{g+1}}{\partial \theta}
= \frac{\partial \phi^{(i)}_g}{\partial \theta}
- \alpha \left(
\frac{\partial^2 \mathcal{L}_{\mathtt{MSE}}(\phi^{(i)}_g, \theta; \mathcal{C}^{(i)})}{\partial \theta \, \partial \phi}
+ \\
\frac{\partial^2 \mathcal{L}_{\mathtt{MSE}}(\phi^{(i)}_g, \theta; \mathcal{C}^{(i)})}{\partial \phi^2}
\frac{\partial \phi^{(i)}_g}{\partial \theta}
\right).$
}
\end{equation}
This recursion explicitly shows how the inner-loop updates propagate the influence of $\theta$ to the adapted parameters, and why second-order terms (Hessian-vector products) are required to compute the full meta-gradient.
After computing the required gradient, we take a single \textbf{meta-update} of the shared parameters $\theta$ using AdamW with learning rate $\beta$:
\begin{equation}
    \theta \;\leftarrow\; \texttt{AdamW}\big(\theta, \nabla_\theta \mathcal{L}_{\text{meta}}, \beta \big).
\end{equation}

\begin{algorithm2e}
    \caption{Meta-Learning with \textcolor{blue}{Context Reduction During Inner-Loop Optimization}}
    \label{alg:metalearning}
    \DontPrintSemicolon
    \KwIn{Dataset $\mathcal{D} = \{s_1, s_2, \ldots, s_N\}$, inner-loop steps $G$, inner-loop learning rate $\alpha$, meta learning rate $\beta$, selection ratio $\gamma$, batch size $B$}
    \KwOut{Trained meta-parameters $\theta$}
    \While{not converged}{
        $\{s_i\}_{i=1}^{B} \sim \mathcal{D}$ \tcp*{Sample batch of $B$ signals}
        $\mathcal{L}_{\text{meta}} \leftarrow 0$ \tcp*{Reset meta-loss}
        \For{each signal $s_i$ in batch}{
            $\phi_0^{(i)} \leftarrow \mathbf{0}$ \tcp*{Initialize $\phi^{(i)}$}
            \For{$g = 0$ \KwTo $G-1$}{
                \textcolor{blue}{$\mathcal{C}_{\mathtt{red}}^{(i)} \sim \mathtt{Sample}\big(\mathcal{C}^{(i)}, \gamma |\mathcal{C}^{(i)}|\big)$}\tcp*{Sample reduced context set}
                \textcolor{blue}{$\phi_{g+1}^{(i)} \leftarrow \phi_g^{(i)} - \alpha \nabla_\phi \mathcal{L}_{\mathtt{MSE}}\big(\phi_g^{(i)}, \theta; \mathcal{C}_{\mathtt{red}}^{(i)}\big)$}\tcp*{Inner-loop update}
            }
            $\mathcal{L}_{\text{meta}} \leftarrow \mathcal{L}_{\text{meta}} + \mathcal{L}_{\mathtt{MSE}}\big(\phi_G^{(i)}, \theta; \mathcal{C}^{(i)}\big)$ \tcp*{Accumulate meta-loss}
        }
        $\mathcal{L}_{\text{meta}} \leftarrow \frac{1}{B} \mathcal{L}_{\text{meta}}$ \tcp*{Average over batch}
        $\theta \leftarrow \texttt{AdamW}\big(\theta, \nabla_\theta \mathcal{L}_{\text{meta}}, \beta\big)$ \tcp*{Meta-update}
        Update $\beta$ according to learning rate schedule \tcp*{Learning rate update}
    }
\Return $\theta$\;
\end{algorithm2e}
\begin{table}[t]
\floatconts
  {tab:datasets}
  {\caption{A list of all released sub-datasets with their original data source, their modality, the task we provide labels for, the number of samples, as well as the training/validation/test split. All datasets were adapted from MedMNIST \cite{medmnistv1,medmnistv2}.}}
  {
    \resizebox{\textwidth}{!}{
        \begin{tabular}{l|ccccc}
        \toprule
        Dataset & Modality & Task & Samples & Train / Val / Test & License \\
        \midrule
        ChestNF & Chest X-Ray & Multi-Label (14) Binary-Class (2) Classification & \num{112120} & \num{78468} / \num{11219} / \num{22433} & \href{https://creativecommons.org/licenses/by/4.0/}{CC BY 4.0} \\
        PathNF & Colon Pathology & Multi-Class (9) Classification & $\num{107180}$ & \num{89996} / \num{10005} / \num{7180} & \href{https://creativecommons.org/licenses/by/4.0/}{CC BY 4.0} \\ 
        DermaNF & Dermatoscope & Multi-Class (7) Classification & \num{10015} & \num{7007} / \num{1003} / \num{2005} & \href{https://creativecommons.org/licenses/by-nc/4.0/}{CC BY-NC 4.0} \\
        OctNF & Retinal OCT & Multi-Class (4) Classification & \num{109309} & \num{97477} / \num{10832} / \num{1000} & \href{https://creativecommons.org/licenses/by/4.0/}{CC BY 4.0} \\
        PneumoniaNF & Chest X-Ray & Binary-Class (2) Classification & \num{5856} & \num{4708} / \num{524} / \num{624} & \href{https://creativecommons.org/licenses/by/4.0/}{CC BY 4.0} \\
        RetinaNF & Fundus Camera & Ordinal Regression (5) & \num{1600} & \num{1080} / \num{120} / \num{400} & \href{https://creativecommons.org/licenses/by/4.0/}{CC BY 4.0} \\
        TissueNF & Kidney Cortex Microscope & Multi-Class (8) Classification & \num{236386} & \num{165466} / \num{23640} / \num{47280} & \href{https://creativecommons.org/licenses/by/4.0/}{CC BY 4.0} \\ 
        \bottomrule
    \end{tabular}
    }
  }
\end{table}
\section{Details on MedNF}
\label{sec:dataset}
In this section, we will provide further information on our MedNF datasets. All datasets, listed in \autoref{tab:datasets}, are adapted from MedMNIST~\cite{medmnistv1,medmnistv2}. We meta-learned every model on the respective training set for $\SI{250}{k}$ iterations, using the setup described in Section~\ref{subsec:implementation}. All datasets were derived from images with a resolution of $64 \times 64$. We also aim to release models trained on higher and mixed resolutions in the future.\\
\textbf{ChestNF} is build upon the NIH-ChestXray14~\cite{wang2017chestx} dataset and contains $\num{112120}$ frontal-view chest X-Ray images. It also provides binary disease-labels for the following diseases: (0)~atelectasis, (1)~cardiomegaly, (2)~effusion, (3)~infiltration, (4)~mass, (5)~nodule, (6)~pneumonia, (7)~pneumothorax, (8)~consolidation, (9)~edema, (10)~emphysema, (11)~fibrosis, (12)~pleural, (13)~hernia.\\
\textbf{PathNF} is build upon the NCT-CRC-HE-100K~\cite{kather2019predicting} dataset and contains $\num{107180}$ non-overlapping image patches of hematoxylin and eosin-stained colorectal cancer histology slides. It also provides a class label for one of nine tissues: (0)~adipose, (1)~background, (2)~debris, (3)~lymphocytes, (4)~mucus, (5)~smooth muscle, (6)~normal colon mucosa, (7)~cancer-associated stroma, (8)~colorectal adenocarcinoma epithelium.\\
\textbf{DermaNF} is build upon the HAM10000~\cite{codella2019skin,tschandl2018ham10000} dataset and contains $\num{10015}$ dermatoscopic images of common pigmented skin lesions. It also provides a class label for one of the seven following diseases: (0)~actinic keratoses and intraepithelial carcinoma, (1)~basal cell carcinoma, (2)~benign keratosis-like lesions, (3)~dermatofibroma, (4)~melanoma, (5)~melanocytic nevi, (6)~vascular lesions.\\
\textbf{OctNF} is build upon a dataset from~\cite{kermany2018identifying} and contains $\num{109309}$ optical coherence tomography (OCT) images for retinal diseases. It also provides a class label for one of the four following diseases: (0)~choroidal neovascularization, (1)~diabetic macular edema, (2)~drusen, (3)~normal.\\
\textbf{PneumoniaNF} is build upon a dataset from~\cite{kermany2018identifying} and contains $\num{5856}$ pediatric chest X-Ray scans. It contains the following binary label: (0)~normal, (1)~pneumonia.\\
\textbf{RetinaNF} is build upon the DeepDRiD~\cite{liu2022deepdrid} dataset and contains $\num{1600}$ retina fundus images. It provides labels for a 5-level grading of diabetic retinopathy severity.\\
\textbf{TissueNF} is build upon the BBBC051~\cite{ljosa2012annotated} dataset from the Broad Bioimaging Benchmark Collection and contains $\num{236386}$ human kidney cortex cell images. It provides labels for 
one of the eight following cell types: (0)~collecting duct, connecting tubule, (1)~distal convoluted tubule, (2)~glomerular endothelial cells, (3)~interstitial endothelial cells, (4)~leukocytes, (5)~podocytes, (6)~proximal tubule segments, (7)~thick ascending limb.

\section{Negative Results}
While the following explorations did not lead to promising results, we include them for completeness and transparency. We believe that reporting negative results helps to clarify the scope of our contributions, reduce redundant future efforts, and provide insight into design choices that, while theoretically appealing, did not prove effective in practice.\\
As our method constructs a representation space, i.e., the space in which the signal-specific parameter vectors $\phi$ reside, we explored \textbf{incorporating a supervised contrastive loss} \cite{khosla2020supervised} into our meta-learning objective. While this led to modest improvements in a simple binary classification task, we observed no improvement in more challenging multi-class classification settings. We assume that this is due to the lack of a learned encoder, usually available in representation learning settings. Consequently, we did not pursue this approach further.\\
We also experimented with \textbf{quantized representations}, where each entry is drawn from a learned codebook. Inspired by ideas from vector-quantized autoencoders \cite{van2017neural}, we hypothesized that this could improve performance by simplifying the decoding task for the shared network. However, we observed no such benefits and therefore retained continuous representations.\\
Based on the observation that shallow layers primarily capture relatively simple, low-frequency features while deeper layers encode more complex, high-frequency details, we hypothesized that a \textbf{pyramid-like network structure} might improve performance \cite{chen2023which}. In this design, shallow layers would contain fewer neurons, reflecting the lower complexity of low-frequency features, while deeper layers would be allocated more neurons to better model the harder high-frequency details. However, this approach did not yield substantial improvements.\\
We additionally explored \textbf{first-order approximations} of our meta-learning framework, namely first-order MAML with and without our proposed $\omega$-schedule. Similar to \cite{dupont2022coin++,dupont2022data}, we experienced training instability and a largely reduced reconstruction performance of $>$ \SI{10}{\decibel} on \texttt{Chest X-ay} $(64\times 64$) across both settings, ultimately retaining second-order optimization.\\
\color{black}Lastly, instead of randomly sampling a subset of pixels in our context reduction approach, we experimented with \textbf{gradient-based context pruning}, as proposed in \cite{tack2023learning}. However, this method did not outperform random subsampling and, in some cases, led to unstable and collapsing training. We therefore decided to continue using random subsampling.

\section{Additional Comparisons}
\label{sec:addcomp}
In this section, we present additional comparisons to Functa~\cite{dupont2022data}. In \autoref{fig:all_metrics}, we plot the evolution of PSNR, MSE, SSIM, and LPIPS on the validation set over the course of training. Our method not only achieves superior scores in significantly less time, it also exhibits more stable training dynamics. 

We also provide additional qualitative comparisons to Functa, COIN++, COIN++ (patched), and SpatialFuncta, along with absolute difference maps, in \autoref{fig:add_comp_functa}. Our model not only surpasses all methods operating at the same spatial resolution, but also outperforms existing patch-based approaches. We believe that integrating the insights presented in this paper into patch-based methods could further enhance their performance and support their continued scaling.

\begin{figure}[htbp]
    \floatconts
    {fig:all_metrics}
    {\caption{Development of $(a)$ PSNR, $(b)$ MSE, $(c)$ SSIM, and $(d)$ LPIPS on the validation set throughout a training run ($\SI{250}{k}$ iterations).}}
    {
        \subfigure{
            \label{fig:psnr}
            \includegraphics[width=0.45\textwidth]{supp_img/curves/psnr_comparison.pdf}
        }\qquad
        \subfigure{
            \label{fig:mse}
            \includegraphics[width=0.45\textwidth]{supp_img/curves/mse_comparison.pdf}
        }\qquad
        \subfigure{
            \label{fig:ssim}
            \includegraphics[width=0.45\textwidth]{supp_img/curves/ssim_comparison.pdf}
        }\qquad
        \subfigure{
            \label{fig:lpips}
            \includegraphics[width=0.45\textwidth]{supp_img/curves/lpips_comparison.pdf}
        }
    }
\end{figure}

\begin{figure}[htbp]
    \floatconts
    {fig:add_comp_functa}
    {\caption{Qualitative comparison between our proposed approach MedFuncta, Functa, COIN++, COIN++ (patched), and SpatialFuncta with absolute difference maps. Best viewed zoomed.}}
    {
        \resizebox{\textwidth}{!}{
        \begin{tikzpicture}
            \node[] at (1.1, 14.325){\tiny Input};
            \node[] at (3.1, 14.35) {\tiny Reconstruction};
            \node[] at (5.1, 14.35) {\tiny Difference};
            \node[] at (7.1, 14.35) {\tiny Reconstruction};
            \node[] at (9.1, 14.35) {\tiny Difference};
            \node[] at (11.1, 14.35) {\tiny Reconstruction};
            \node[] at (13.1, 14.35) {\tiny Difference};
            \node[] at (15.1, 14.35) {\tiny Reconstruction};
            \node[] at (17.1, 14.35) {\tiny Difference};
            \node[] at (19.1, 14.35) {\tiny Reconstruction};
            \node[] at (21.1, 14.35) {\tiny Difference};
            \node[] at (4.1, 14.75) {\scriptsize MedFuncta \textbf{(Ours)}};
            \node[] at (8.1, 14.75) {\scriptsize Functa};
            \node[] at (12.1, 14.75) {\scriptsize COIN++};
            \node[] at (16.1, 14.75) {\scriptsize COIN++ (patched)};
            \node[] at (20.1, 14.75) {\scriptsize SpatialFuncta};
            
            \node[] at (0, 0)     [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/71_input.png}};
            \node[] at (2, 0)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/71_ours.png}};
            \node[] at (4, 0)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/71_diff_ours.png}};
            \node[] at (6, 0)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/71_functa.png}};
            \node[] at (8, 0)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/71_diff_functa.png}};
            \node[] at (10, 0)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coin/71_recon.png}};
            \node[] at (12, 0)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coin/71_diff_patched.png}};
            \node[] at (14, 0)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coinpatched/71_recon.png}};
            \node[] at (16, 0)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coinpatched/71_diff_unpatched.png}};
            \node[] at (18, 0)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_spatialfuncta/71_recon.png}};
            \node[] at (20, 0)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_spatialfuncta/71_diff_spatialfuncta.png}};
            

            \node[] at (0, 2)     [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/75_input.png}};
            \node[] at (2, 2)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/75_ours.png}};
            \node[] at (4, 2)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/75_diff_ours.png}};
            \node[] at (6, 2)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/75_functa.png}};
            \node[] at (8, 2)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/75_diff_functa.png}};
            \node[] at (10, 2)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coin/75_recon.png}};
            \node[] at (12, 2)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coin/75_diff_patched.png}};
            \node[] at (14, 2)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coinpatched/75_recon.png}};
            \node[] at (16, 2)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coinpatched/75_diff_unpatched.png}};
            \node[] at (18, 2)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_spatialfuncta/75_recon.png}};
            \node[] at (20, 2)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_spatialfuncta/75_diff_spatialfuncta.png}};

            \node[] at (0, 4)     [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/52_input.png}};
            \node[] at (2, 4)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/52_ours.png}};
            \node[] at (4, 4)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/52_diff_ours.png}};
            \node[] at (6, 4)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/52_functa.png}};
            \node[] at (8, 4)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/52_diff_functa.png}};
            \node[] at (10, 4)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coin/52_recon.png}};
            \node[] at (12, 4)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coin/52_diff_patched.png}};
            \node[] at (14, 4)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coinpatched/52_recon.png}};
            \node[] at (16, 4)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coinpatched/52_diff_unpatched.png}};
            \node[] at (18, 4)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_spatialfuncta/52_recon.png}};
            \node[] at (20, 4)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_spatialfuncta/52_diff_spatialfuncta.png}};

            \node[] at (0, 6)     [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/82_input.png}};
            \node[] at (2, 6)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/82_ours.png}};
            \node[] at (4, 6)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/82_diff_ours.png}};
            \node[] at (6, 6)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/82_functa.png}};
            \node[] at (8, 6)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/82_diff_functa.png}};
            \node[] at (10, 6)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coin/82_recon.png}};
            \node[] at (12, 6)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coin/82_diff_patched.png}};
            \node[] at (14, 6)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coinpatched/82_recon.png}};
            \node[] at (16, 6)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coinpatched/82_diff_unpatched.png}};
            \node[] at (18, 6)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_spatialfuncta/82_recon.png}};
            \node[] at (20, 6)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_spatialfuncta/82_diff_spatialfuncta.png}};

            \node[] at (0, 8)     [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/57_input.png}};
            \node[] at (2, 8)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/57_ours.png}};
            \node[] at (4, 8)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/57_diff_ours.png}};
            \node[] at (6, 8)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/57_functa.png}};
            \node[] at (8, 8)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/57_diff_functa.png}};
            \node[] at (10, 8)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coin/57_recon.png}};
            \node[] at (12, 8)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coin/57_diff_patched.png}};
            \node[] at (14, 8)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coinpatched/57_recon.png}};
            \node[] at (16, 8)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coinpatched/57_diff_unpatched.png}};
            \node[] at (18, 8)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_spatialfuncta/57_recon.png}};
            \node[] at (20, 8)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_spatialfuncta/57_diff_spatialfuncta.png}};

            \node[] at (0, 10)     [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/63_input.png}};
            \node[] at (2, 10)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/63_ours.png}};
            \node[] at (4, 10)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/63_diff_ours.png}};
            \node[] at (6, 10)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/63_functa.png}};
            \node[] at (8, 10)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/63_diff_functa.png}};
            \node[] at (10, 10)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coin/63_recon.png}};
            \node[] at (12, 10)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coin/63_diff_patched.png}};
            \node[] at (14, 10)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coinpatched/63_recon.png}};
            \node[] at (16, 10)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coinpatched/63_diff_unpatched.png}};
            \node[] at (18, 10)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_spatialfuncta/63_recon.png}};
            \node[] at (20, 10)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_spatialfuncta/63_diff_spatialfuncta.png}};

            \node[] at (0, 12)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/47_input.png}};
            \node[] at (2, 12)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/47_ours.png}};
            \node[] at (4, 12)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/47_diff_ours.png}};
            \node[] at (6, 12)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/47_functa.png}};
            \node[] at (8, 12)   [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_functa/47_diff_functa.png}};
            \node[] at (10, 12)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coin/47_recon.png}};
            \node[] at (12, 12)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coin/47_diff_patched.png}};
            \node[] at (14, 12)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coinpatched/47_recon.png}};
            \node[] at (16, 12)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_coinpatched/47_diff_unpatched.png}};
            \node[] at (18, 12)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_spatialfuncta/47_recon.png}};
            \node[] at (20, 12)  [anchor=south west]  {\includegraphics[height=2cm]{supp_img/comp_spatialfuncta/47_diff_spatialfuncta.png}};
        \end{tikzpicture}
        }
    }
\end{figure}

\section{Additional Qualitative Results}
\label{sec:additionalqual}
In this section, we provide further qualitative results for the experiments in \autoref{subsec:reconexp}. The results are shown in \autoref{fig:addchest} - \autoref{fig:addlung}.

\begin{figure}[H]
    \floatconts
    {fig:addchest}
    {\caption{Additional qualitative results on \texttt{Chest X-ray} images $(64\times64)$.}}
    {
        \resizebox{\textwidth}{!}{
        \begin{tikzpicture}
            % Labels
            \node[rotate=90] at (-0.1,1.2)   {\small Recon.};
            \node[rotate=90] at (-0.1,3.1)   {\small Input};
            % Example 1
            \node[] at (0,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest/0_input.png}};
            \node[] at (0,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest/0_recon.png}};
            % Example 2
            \node[] at (2,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest/9_input.png}};
            \node[] at (2,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest/9_recon.png}};
            % Example 3
            \node[] at (4,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest/18_input.png}};
            \node[] at (4,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest/18_recon.png}};
            % Example 4
            \node[] at (6,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest/42_input.png}};
            \node[] at (6,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest/42_recon.png}};
            % Example 5
            \node[] at (8,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest/47_input.png}};
            \node[] at (8,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest/47_recon.png}};
             % Example 6
            \node[] at (10,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest/61_input.png}};
            \node[] at (10,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest/61_recon.png}};
            % Example 7
            \node[] at (12,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest/87_input.png}};
            \node[] at (12,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest/87_recon.png}};
        \end{tikzpicture}
        }
    }
\end{figure}

\begin{figure}[H]
    \floatconts
    {fig:addchest_128}
    {\caption{Additional qualitative results on \texttt{Chest X-Ray} images $(128\times128)$.}}
    {
        \resizebox{\textwidth}{!}{
        \begin{tikzpicture}
            % Labels
            \node[rotate=90] at (-0.1,1.2)   {\small Recon.};
            \node[rotate=90] at (-0.1,3.1)   {\small Input};
            % Example 1
            \node[] at (0,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_128/0_input.png}};
            \node[] at (0,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_128/0_recon.png}};
            % Example 2
            \node[] at (2,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_128/9_input.png}};
            \node[] at (2,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_128/9_recon.png}};
            % Example 3
            \node[] at (4,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_128/18_input.png}};
            \node[] at (4,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_128/18_recon.png}};
            % Example 4
            \node[] at (6,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_128/42_input.png}};
            \node[] at (6,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_128/42_recon.png}};
            % Example 5
            \node[] at (8,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_128/47_input.png}};
            \node[] at (8,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_128/47_recon.png}};
             % Example 6
            \node[] at (10,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_128/61_input.png}};
            \node[] at (10,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_128/61_recon.png}};
            % Example 7
            \node[] at (12,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_128/87_input.png}};
            \node[] at (12,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_128/87_recon.png}};
        \end{tikzpicture}
        }
    }
\end{figure}

\begin{figure}[H]
    \floatconts
    {fig:addchest_224}
    {\caption{Additional qualitative results on \texttt{Chest X-Ray} images $(224\times224)$.}}
    {
        \resizebox{\textwidth}{!}{
        \begin{tikzpicture}
            % Labels
            \node[rotate=90] at (-0.1,1.2)   {\small Recon.};
            \node[rotate=90] at (-0.1,3.1)   {\small Input};
            % Example 1
            \node[] at (0,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_224/0_input.png}};
            \node[] at (0,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_224/0_recon.png}};
            % Example 2
            \node[] at (2,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_224/9_input.png}};
            \node[] at (2,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_224/9_recon.png}};
            % Example 3
            \node[] at (4,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_224/18_input.png}};
            \node[] at (4,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_224/18_recon.png}};
            % Example 4
            \node[] at (6,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_224/42_input.png}};
            \node[] at (6,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_224/42_recon.png}};
            % Example 5
            \node[] at (8,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_224/47_input.png}};
            \node[] at (8,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_224/47_recon.png}};
             % Example 6
            \node[] at (10,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_224/61_input.png}};
            \node[] at (10,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_224/61_recon.png}};
            % Example 7
            \node[] at (12,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_224/87_input.png}};
            \node[] at (12,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/chest_224/87_recon.png}};
        \end{tikzpicture}
        }
    }
\end{figure}

\begin{figure}[H]
    \floatconts
    {fig:addpneum}
    {\caption{Additional qualitative results on \texttt{Pneumonia Chest X-Ray} images $(64\times64)$.}}
    {
        \resizebox{\textwidth}{!}{
        \begin{tikzpicture}
            % Labels
            \node[rotate=90] at (-0.1,1.2)   {\small Recon.};
            \node[rotate=90] at (-0.1,3.1)   {\small Input};
            % Example 1
            \node[] at (0,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/pneum/15_input.png}};
            \node[] at (0,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/pneum/15_recon.png}};
            % Example 2
            \node[] at (2,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/pneum/20_input.png}};
            \node[] at (2,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/pneum/20_recon.png}};
            % Example 3
            \node[] at (4,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/pneum/25_input.png}};
            \node[] at (4,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/pneum/25_recon.png}};
            % Example 4
            \node[] at (6,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/pneum/30_input.png}};
            \node[] at (6,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/pneum/30_recon.png}};
            % Example 5
            \node[] at (8,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/pneum/31_input.png}};
            \node[] at (8,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/pneum/31_recon.png}};
            % Example 6
            \node[] at (10,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/pneum/49_input.png}};
            \node[] at (10,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/pneum/49_recon.png}};
            % Example 7
            \node[] at (12,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/pneum/52_input.png}};
            \node[] at (12,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/pneum/52_recon.png}};
        \end{tikzpicture}
        }
    }
\end{figure}

\begin{figure}[H]
    \floatconts
    {fig:addoct}
    {\caption{Additional qualitative results on \texttt{Retinal OCT} images $(64 \times 64)$.}}
    {
        \resizebox{\textwidth}{!}{
        \begin{tikzpicture}
            % Labels
            \node[rotate=90] at (-0.1,1.2)   {\small Recon.};
            \node[rotate=90] at (-0.1,3.1)   {\small Input};
            % Example 1
            \node[] at (0,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/oct/16_input.png}};
            \node[] at (0,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/oct/16_recon.png}};
            % Example 2
            \node[] at (2,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/oct/18_input.png}};
            \node[] at (2,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/oct/18_recon.png}};
            % Example 3
            \node[] at (4,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/oct/27_input.png}};
            \node[] at (4,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/oct/27_recon.png}};
            % Example 4
            \node[] at (6,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/oct/37_input.png}};
            \node[] at (6,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/oct/37_recon.png}};
            % Example 5
            \node[] at (8,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/oct/59_input.png}};
            \node[] at (8,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/oct/59_recon.png}};
            % Example 6
            \node[] at (10,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/oct/65_input.png}};
            \node[] at (10,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/oct/65_recon.png}};
            % Example 7
            \node[] at (12,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/oct/79_input.png}};
            \node[] at (12,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/oct/79_recon.png}};
        \end{tikzpicture}
        }
    }
\end{figure}

\begin{figure}[H]
    \floatconts
    {fig:addfundus}
    {\caption{Additional qualitative results on \texttt{Fundus Camera} images $(64 \times 64)$.}}
    {
        \resizebox{\textwidth}{!}{
        \begin{tikzpicture}
            % Labels
            \node[rotate=90] at (-0.1,1.2)   {\small Recon.};
            \node[rotate=90] at (-0.1,3.1)   {\small Input};
            % Example 1
            \node[] at (0,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/fundus/12_input.png}};
            \node[] at (0,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/fundus/12_recon.png}};
            % Example 2
            \node[] at (2,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/fundus/17_input.png}};
            \node[] at (2,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/fundus/17_recon.png}};
            % Example 3
            \node[] at (4,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/fundus/20_input.png}};
            \node[] at (4,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/fundus/20_recon.png}};
            % Example 4
            \node[] at (6,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/fundus/31_input.png}};
            \node[] at (6,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/fundus/31_recon.png}};
            % Example 5
            \node[] at (8,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/fundus/70_input.png}};
            \node[] at (8,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/fundus/70_recon.png}};
            % Example 6
            \node[] at (10,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/fundus/77_input.png}};
            \node[] at (10,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/fundus/77_recon.png}};
            % Example 7
            \node[] at (12,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/fundus/96_input.png}};
            \node[] at (12,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/fundus/96_recon.png}};
        \end{tikzpicture}
        }
    }
\end{figure}

\begin{figure}[H]
    \floatconts
    {fig:addderma}
    {\caption{Additional qualitative results on \texttt{Dermatoscope} images $(64 \times 64)$.}}
    {
        \resizebox{\textwidth}{!}{
        \begin{tikzpicture}
            % Labels
            \node[rotate=90] at (-0.1,1.2)   {\small Recon.};
            \node[rotate=90] at (-0.1,3.1)   {\small Input};
            % Example 1
            \node[] at (0,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma/0_input.png}};
            \node[] at (0,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma/0_recon.png}};
            % Example 2
            \node[] at (2,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma/7_input.png}};
            \node[] at (2,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma/7_recon.png}};
            % Example 3
            \node[] at (4,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma/15_input.png}};
            \node[] at (4,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma/15_recon.png}};
            % Example 4
            \node[] at (6,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma/36_input.png}};
            \node[] at (6,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma/36_recon.png}};
            % Example 5
            \node[] at (8,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma/38_input.png}};
            \node[] at (8,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma/38_recon.png}};
            % Example 6
            \node[] at (10,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma/55_input.png}};
            \node[] at (10,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma/55_recon.png}};
            % Example 7
            \node[] at (12,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma/77_input.png}};
            \node[] at (12,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma/77_recon.png}};
        \end{tikzpicture}
        }
    }
\end{figure}

\begin{figure}[H]
    \floatconts
    {fig:addderma_128}
    {\caption{Additional qualitative results on \texttt{Dermatoscope} images $(128 \times 128)$.}}
    {
        \resizebox{\textwidth}{!}{
        \begin{tikzpicture}
            % Labels
            \node[rotate=90] at (-0.1,1.2)   {\small Recon.};
            \node[rotate=90] at (-0.1,3.1)   {\small Input};
            % Example 1
            \node[] at (0,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_128/0_input.png}};
            \node[] at (0,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_128/0_recon.png}};
            % Example 2
            \node[] at (2,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_128/7_input.png}};
            \node[] at (2,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_128/7_recon.png}};
            % Example 3
            \node[] at (4,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_128/15_input.png}};
            \node[] at (4,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_128/15_recon.png}};
            % Example 4
            \node[] at (6,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_128/36_input.png}};
            \node[] at (6,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_128/36_recon.png}};
            % Example 5
            \node[] at (8,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_128/38_input.png}};
            \node[] at (8,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_128/38_recon.png}};
            % Example 6
            \node[] at (10,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_128/55_input.png}};
            \node[] at (10,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_128/55_recon.png}};
            % Example 7
            \node[] at (12,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_128/77_input.png}};
            \node[] at (12,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_128/77_recon.png}};
        \end{tikzpicture}
        }
    }
\end{figure}

\begin{figure}[H]
    \floatconts
    {fig:addderma_224}
    {\caption{Additional qualitative results on \texttt{Dermatoscope} images $(224 \times 224)$.}}
    {
        \resizebox{\textwidth}{!}{
        \begin{tikzpicture}
            % Labels
            \node[rotate=90] at (-0.1,1.2)   {\small Recon.};
            \node[rotate=90] at (-0.1,3.1)   {\small Input};
            % Example 1
            \node[] at (0,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_224/0_input.png}};
            \node[] at (0,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_224/0_recon.png}};
            % Example 2
            \node[] at (2,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_224/7_input.png}};
            \node[] at (2,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_224/7_recon.png}};
            % Example 3
            \node[] at (4,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_224/15_input.png}};
            \node[] at (4,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_224/15_recon.png}};
            % Example 4
            \node[] at (6,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_224/36_input.png}};
            \node[] at (6,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_224/36_recon.png}};
            % Example 5
            \node[] at (8,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_224/38_input.png}};
            \node[] at (8,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_224/38_recon.png}};
            % Example 6
            \node[] at (10,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_224/55_input.png}};
            \node[] at (10,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_224/55_recon.png}};
            % Example 7
            \node[] at (12,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_224/77_input.png}};
            \node[] at (12,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/derma_224/77_recon.png}};
        \end{tikzpicture}
        }
    }
\end{figure}

\begin{figure}[H]
    \floatconts
    {fig:addhist}
    {\caption{Additional qualitative results on \texttt{Histopathology} images $(64 \times 64)$.}}
    {
        \resizebox{\textwidth}{!}{
        \begin{tikzpicture}
            % Labels
            \node[rotate=90] at (-0.1,1.2)   {\small Recon.};
            \node[rotate=90] at (-0.1,3.1)   {\small Input};
            % Example 1
            \node[] at (0,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/histo/6_input.png}};
            \node[] at (0,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/histo/6_recon.png}};
            % Example 2
            \node[] at (2,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/histo/11_input.png}};
            \node[] at (2,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/histo/11_recon.png}};
            % Example 3
            \node[] at (4,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/histo/24_input.png}};
            \node[] at (4,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/histo/24_recon.png}};
            % Example 4
            \node[] at (6,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/histo/7_input.png}};
            \node[] at (6,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/histo/7_recon.png}};
            % Example 5
            \node[] at (8,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/histo/28_input.png}};
            \node[] at (8,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/histo/28_recon.png}};
            % Example 6
            \node[] at (10,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/histo/46_input.png}};
            \node[] at (10,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/histo/46_recon.png}};
            % Example 7
            \node[] at (12,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/histo/70_input.png}};
            \node[] at (12,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/histo/70_recon.png}};
        \end{tikzpicture}
        }
    }
\end{figure}

\begin{figure}[H]
    \floatconts
    {fig:addmicro}
    {\caption{Additional qualitative results on \texttt{Cell Microscopy} images $(64 \times 64)$.}}
    {
        \resizebox{\textwidth}{!}{
        \begin{tikzpicture}
            % Labels
            \node[rotate=90] at (-0.1,1.2)   {\tiny Recon.};
            \node[rotate=90] at (-0.1,3.1)   {\tiny Input};
            % Example 1
            \node[] at (0,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/micro/30_input.png}};
            \node[] at (0,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/micro/30_recon.png}};
            % Example 2
            \node[] at (2,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/micro/34_input.png}};
            \node[] at (2,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/micro/34_recon.png}};
            % Example 3
            \node[] at (4,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/micro/38_input.png}};
            \node[] at (4,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/micro/38_recon.png}};
            % Example 4
            \node[] at (6,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/micro/39_input.png}};
            \node[] at (6,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/micro/39_recon.png}};
            % Example 5
            \node[] at (8,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/micro/58_input.png}};
            \node[] at (8,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/micro/58_recon.png}};
            % Example 6
            \node[] at (10,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/micro/64_input.png}};
            \node[] at (10,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/micro/64_recon.png}};
            % Example 7
            \node[] at (12,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/micro/80_input.png}};
            \node[] at (12,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/micro/80_recon.png}};
        \end{tikzpicture}
        }
    }
\end{figure}

\begin{figure}[H]
    \floatconts
    {fig:addbrain}
    {\caption{Qualitative results on \texttt{Brain MRI} images $(32 \times 32 \times 32)$. We display the middle slices along all spatial dimensions.}}
    {
        \resizebox{\textwidth}{!}{
        \begin{tikzpicture}
            % Labels
            \node[rotate=90] at (-0.1,1.2)   {\small Recon.};
            \node[rotate=90] at (-0.1,3.1)   {\small Input};
            % Example 1
            \node[] at (0,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/brain/3_input_axial.png}};
            \node[] at (0,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/brain/3_recon_axial.png}};
            % Example 2
            \node[] at (2,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/brain/3_input_coronal.png}};
            \node[] at (2,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/brain/3_recon_coronal.png}};
            % Example 3
            \node[] at (4,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/brain/3_input_sagittal.png}};
            \node[] at (4,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/brain/3_recon_sagittal.png}};
            % Example 4
            \node[] at (6,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/brain/4_input_axial.png}};
            \node[] at (6,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/brain/4_recon_axial.png}};
            % Example 5
            \node[] at (8,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/brain/4_input_coronal.png}};
            \node[] at (8,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/brain/4_recon_coronal.png}};
            % Example 6
            \node[] at (10,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/brain/4_input_sagittal.png}};
            \node[] at (10,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/brain/4_recon_sagittal.png}};
        \end{tikzpicture}
        }
    }
\end{figure}

\begin{figure}[H]
    \floatconts
    {fig:addlung}
    {\caption{Qualitative results on \texttt{Lung CT} images $(32 \times 32 \times 32)$. We display the middle slices along all spatial dimensions.}}
    {
        \resizebox{\textwidth}{!}{
        \begin{tikzpicture}
            % Labels
            \node[rotate=90] at (-0.1,1.2)   {\small Recon.};
            \node[rotate=90] at (-0.1,3.1)   {\small Input};
            % Example 1
            \node[] at (0,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/lung/3_input_axial.png}};
            \node[] at (0,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/lung/3_recon_axial.png}};
            % Example 2
            \node[] at (2,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/lung/3_input_coronal.png}};
            \node[] at (2,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/lung/3_recon_coronal.png}};
            % Example 3
            \node[] at (4,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/lung/3_input_sagittal.png}};
            \node[] at (4,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/lung/3_recon_sagittal.png}};
            % Example 4
            \node[] at (6,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/lung/12_input_axial.png}};
            \node[] at (6,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/lung/12_recon_axial.png}};
            % Example 5
            \node[] at (8,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/lung/12_input_coronal.png}};
            \node[] at (8,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/lung/12_recon_coronal.png}};
            % Example 6
            \node[] at (10,2) [anchor=south west] {\includegraphics[height=2cm]{supp_img/lung/12_input_sagittal.png}};
            \node[] at (10,0) [anchor=south west] {\includegraphics[height=2cm]{supp_img/lung/12_recon_sagittal.png}};
        \end{tikzpicture}
        }
    }
\end{figure}
