Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
337 changes: 0 additions & 337 deletions docs/notebooks/pet_motion_estimation.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -53,343 +53,6 @@
"pet_dataset"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "09e5053e-4565-4892-a0a9-a8410fbe6748",
"metadata": {},
"outputs": [],
"source": [
"data_train, data_test = pet_dataset.lofo_split(15)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "a51fcb74-0e57-4ee2-8c24-1f89ff6f879c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[[[-0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., -0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[-0., 0., 0., ..., 0., -0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., -0., -0., 0.],\n",
" ...,\n",
" [ 0., 0., -0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., -0., 0., 0.],\n",
" [-0., 0., -0., ..., 0., 0., 0.]],\n",
"\n",
" [[ 0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., -0., -0., ..., 0., -0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [ 0., -0., 0., ..., -0., 0., 0.],\n",
" [-0., 0., -0., ..., 0., 0., 0.],\n",
" [-0., -0., 0., ..., -0., 0., 0.]],\n",
"\n",
" ...,\n",
"\n",
" [[-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., -0., 0.],\n",
" [-0., 0., 0., ..., -0., 0., 0.],\n",
" ...,\n",
" [-0., -0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., -0., ..., -0., 0., 0.],\n",
" [ 0., -0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., -0., 0., 0.],\n",
" [-0., 0., -0., ..., 0., 0., 0.],\n",
" ...,\n",
" [-0., 0., -0., ..., -0., 0., 0.],\n",
" [-0., -0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., -0., ..., -0., 0., 0.]],\n",
"\n",
" [[-0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., -0., 0., 0.],\n",
" ...,\n",
" [-0., -0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., -0., ..., -0., 0., 0.],\n",
" [ 0., -0., 0., ..., 0., 0., 0.]]],\n",
"\n",
"\n",
" [[[-0., 0., 0., ..., 0., -0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., -0., 0.],\n",
" ...,\n",
" [ 0., 0., 0., ..., 0., -0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[ 0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., -0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [ 0., 0., 0., ..., -0., 0., 0.],\n",
" [-0., 0., -0., ..., 0., -0., 0.],\n",
" [-0., 0., 0., ..., -0., 0., 0.]],\n",
"\n",
" [[ 0., 0., 0., ..., 0., -0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., -0., -0., ..., -0., -0., 0.],\n",
" ...,\n",
" [-0., 0., -0., ..., 0., -0., 0.],\n",
" [-0., -0., 0., ..., -0., 0., 0.],\n",
" [-0., 0., -0., ..., 0., 0., 0.]],\n",
"\n",
" ...,\n",
"\n",
" [[-0., 0., 0., ..., 0., -0., 0.],\n",
" [-0., 0., 0., ..., -0., 0., -0.],\n",
" [-0., 0., -0., ..., 0., -0., 0.],\n",
" ...,\n",
" [-0., 0., -0., ..., -0., 0., 0.],\n",
" [-0., -0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., -0., ..., -0., 0., 0.]],\n",
"\n",
" [[-0., 0., 0., ..., 0., 0., -0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., -0., 0., ..., -0., 0., -0.],\n",
" ...,\n",
" [-0., -0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., -0., ..., -0., 0., 0.],\n",
" [-0., -0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[ 0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., -0., 0., -0.],\n",
" [ 0., 0., -0., ..., 0., 0., 0.],\n",
" ...,\n",
" [-0., 0., -0., ..., -0., 0., 0.],\n",
" [-0., -0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., -0., ..., -0., 0., 0.]]],\n",
"\n",
"\n",
" [[[-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., -0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., -0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[-0., 0., 0., ..., 0., -0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., -0., -0., 0.],\n",
" ...,\n",
" [ 0., 0., -0., ..., 0., -0., 0.],\n",
" [-0., 0., 0., ..., -0., 0., 0.],\n",
" [-0., 0., -0., ..., 0., 0., 0.]],\n",
"\n",
" [[ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., -0., -0., ..., 0., -0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., -0.],\n",
" ...,\n",
" [-0., -0., 0., ..., -0., 0., 0.],\n",
" [ 0., 0., -0., ..., 0., -0., 0.],\n",
" [ 0., -0., 0., ..., -0., 0., 0.]],\n",
"\n",
" ...,\n",
"\n",
" [[ 0., 0., 0., ..., 0., 0., -0.],\n",
" [-0., 0., 0., ..., 0., -0., 0.],\n",
" [-0., -0., 0., ..., -0., 0., -0.],\n",
" ...,\n",
" [-0., -0., 0., ..., 0., 0., -0.],\n",
" [-0., 0., -0., ..., -0., 0., 0.],\n",
" [-0., -0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[ 0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., -0., 0., -0.],\n",
" [-0., 0., -0., ..., 0., 0., 0.],\n",
" ...,\n",
" [-0., 0., -0., ..., -0., 0., 0.],\n",
" [-0., -0., 0., ..., 0., 0., -0.],\n",
" [-0., 0., -0., ..., -0., 0., 0.]],\n",
"\n",
" [[ 0., 0., 0., ..., 0., 0., -0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., -0., 0., ..., -0., 0., -0.],\n",
" ...,\n",
" [-0., -0., 0., ..., 0., 0., -0.],\n",
" [-0., 0., -0., ..., -0., 0., 0.],\n",
" [ 0., -0., 0., ..., 0., 0., 0.]]],\n",
"\n",
"\n",
" ...,\n",
"\n",
"\n",
" [[[ 0., 0., 0., ..., 0., -0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., -0., 0.],\n",
" ...,\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[-0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., -0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [-0., -0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., -0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[-0., 0., 0., ..., 0., -0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., -0.],\n",
" [ 0., 0., 0., ..., 0., -0., 0.],\n",
" ...,\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., -0., 0., ..., -0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.]],\n",
"\n",
" ...,\n",
"\n",
" [[ 0., 0., 0., ..., 0., 0., -0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., -0., 0., -0.],\n",
" ...,\n",
" [ 0., 0., 0., ..., 0., 0., -0.],\n",
" [-0., -0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., -0., 0., -0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [ 0., -0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., -0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[ 0., 0., 0., ..., 0., 0., -0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., -0., 0., -0.],\n",
" ...,\n",
" [ 0., 0., 0., ..., 0., 0., -0.],\n",
" [-0., -0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.]]],\n",
"\n",
"\n",
" [[[ 0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[ 0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[-0., 0., 0., ..., 0., 0., -0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., -0.],\n",
" ...,\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.]],\n",
"\n",
" ...,\n",
"\n",
" [[ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., -0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [ 0., -0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., -0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[ 0., 0., 0., ..., 0., 0., -0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., -0.],\n",
" ...,\n",
" [-0., 0., 0., ..., 0., 0., -0.],\n",
" [-0., -0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., -0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [ 0., -0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., -0., 0., ..., 0., 0., 0.]]],\n",
"\n",
"\n",
" [[[-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[-0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., -0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.]],\n",
"\n",
" ...,\n",
"\n",
" [[ 0., 0., 0., ..., 0., 0., -0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., -0.],\n",
" ...,\n",
" [-0., 0., 0., ..., 0., 0., -0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[-0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., -0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" ...,\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.]],\n",
"\n",
" [[-0., 0., 0., ..., 0., 0., -0.],\n",
" [ 0., 0., 0., ..., 0., 0., 0.],\n",
" [ 0., 0., 0., ..., 0., 0., -0.],\n",
" ...,\n",
" [ 0., 0., 0., ..., 0., 0., -0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.],\n",
" [-0., 0., 0., ..., 0., 0., 0.]]]], dtype=float32)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data_train[0]"
]
},
{
"cell_type": "code",
"execution_count": 5,
Expand Down
38 changes: 0 additions & 38 deletions src/nifreeze/data/pet.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,44 +81,6 @@ def __getitem__(
"""
return super().__getitem__(idx)

def lofo_split(self, index):
"""
Leave-one-frame-out (LOFO) for PET data.

Parameters
----------
index : int
Index of the PET frame to be left out in this fold.

Returns
-------
(train_data, train_timings) : tuple
Training data and corresponding timings, excluding the left-out frame.
(test_data, test_timing) : tuple
Test data (one PET frame) and corresponding timing.
"""

if not Path(self._filepath).exists():
self.to_filename(self._filepath)

# Read original PET data
with h5py.File(self._filepath, "r") as in_file:
root = in_file["/0"]
pet_frame = np.asanyarray(root["dataobj"][..., index])
timing_frame = np.asanyarray(root["midframe"][..., index])

# Mask to exclude the selected frame
mask = np.ones(self.dataobj.shape[-1], dtype=bool)
mask[index] = False

train_data = self.dataobj[..., mask]
train_timings = self.midframe[mask]

test_data = pet_frame
test_timing = timing_frame

return (train_data, train_timings), (test_data, test_timing)

def set_transform(self, index: int, affine: np.ndarray, order: int = 3) -> None:
"""Set an affine, and update data object and gradients."""
ImageGrid = namedtuple("ImageGrid", ("shape", "affine"))
Expand Down
Loading
Loading