diff --git a/_images/notebooks_paste3_tutorial_16_1.png b/_images/notebooks_paste3_tutorial_16_1.png index 8269a17..4244a01 100644 Binary files a/_images/notebooks_paste3_tutorial_16_1.png and b/_images/notebooks_paste3_tutorial_16_1.png differ diff --git a/_images/notebooks_paste3_tutorial_16_2.png b/_images/notebooks_paste3_tutorial_16_2.png index 3f41581..5062156 100644 Binary files a/_images/notebooks_paste3_tutorial_16_2.png and b/_images/notebooks_paste3_tutorial_16_2.png differ diff --git a/notebooks/paste2_tutorial.html b/notebooks/paste2_tutorial.html index 2ddda78..7d621bb 100644 --- a/notebooks/paste2_tutorial.html +++ b/notebooks/paste2_tutorial.html @@ -756,7 +756,7 @@
-(INFO) (paste.py) (08-Jan-25 23:33:43) GPU is not available, resorting to torch CPU.
+(INFO) (paste.py) (09-Jan-25 14:45:42) GPU is not available, resorting to torch CPU.
-(INFO) (paste.py) (08-Jan-25 23:35:34) GPU is not available, resorting to torch CPU.
+(INFO) (paste.py) (09-Jan-25 14:47:35) GPU is not available, resorting to torch CPU.
-(INFO) (paste.py) (08-Jan-25 23:37:22) GPU is not available, resorting to torch CPU.
+(INFO) (paste.py) (09-Jan-25 14:49:23) GPU is not available, resorting to torch CPU.
Let’s check the shape of each alignment matrix. For aligning a slice with n1 spots and a slice with n2 spots, the alignment matrix should be of shape (n1 * n2)
diff --git a/notebooks/paste2_tutorial.ipynb b/notebooks/paste2_tutorial.ipynb index 89c863a..78914cd 100644 --- a/notebooks/paste2_tutorial.ipynb +++ b/notebooks/paste2_tutorial.ipynb @@ -6,10 +6,10 @@ "id": "30d3de80-424b-48e8-abd6-ef22da03611d", "metadata": { "execution": { - "iopub.execute_input": "2025-01-08T23:33:38.311595Z", - "iopub.status.busy": "2025-01-08T23:33:38.310894Z", - "iopub.status.idle": "2025-01-08T23:33:38.314925Z", - "shell.execute_reply": "2025-01-08T23:33:38.314505Z" + "iopub.execute_input": "2025-01-09T14:45:37.575622Z", + "iopub.status.busy": "2025-01-09T14:45:37.575431Z", + "iopub.status.idle": "2025-01-09T14:45:37.579122Z", + "shell.execute_reply": "2025-01-09T14:45:37.578686Z" } }, "outputs": [], @@ -40,10 +40,10 @@ "id": "56e5cd44", "metadata": { "execution": { - "iopub.execute_input": "2025-01-08T23:33:38.316685Z", - "iopub.status.busy": "2025-01-08T23:33:38.316344Z", - "iopub.status.idle": "2025-01-08T23:33:41.255839Z", - "shell.execute_reply": "2025-01-08T23:33:41.255325Z" + "iopub.execute_input": "2025-01-09T14:45:37.580800Z", + "iopub.status.busy": "2025-01-09T14:45:37.580633Z", + "iopub.status.idle": "2025-01-09T14:45:40.591116Z", + "shell.execute_reply": "2025-01-09T14:45:40.590560Z" } }, "outputs": [], @@ -73,10 +73,10 @@ "id": "bda4d8de", "metadata": { "execution": { - "iopub.execute_input": "2025-01-08T23:33:41.257828Z", - "iopub.status.busy": "2025-01-08T23:33:41.257689Z", - "iopub.status.idle": "2025-01-08T23:33:41.827795Z", - "shell.execute_reply": "2025-01-08T23:33:41.827204Z" + "iopub.execute_input": "2025-01-09T14:45:40.593429Z", + "iopub.status.busy": "2025-01-09T14:45:40.593017Z", + "iopub.status.idle": "2025-01-09T14:45:41.212774Z", + "shell.execute_reply": "2025-01-09T14:45:41.212289Z" } }, "outputs": [], @@ -105,10 +105,10 @@ "id": "d5a29610", "metadata": { "execution": { - "iopub.execute_input": "2025-01-08T23:33:41.830027Z", - "iopub.status.busy": "2025-01-08T23:33:41.829719Z", - "iopub.status.idle": "2025-01-08T23:33:41.835702Z", - "shell.execute_reply": "2025-01-08T23:33:41.835144Z" + "iopub.execute_input": "2025-01-09T14:45:41.214826Z", + "iopub.status.busy": "2025-01-09T14:45:41.214680Z", + "iopub.status.idle": "2025-01-09T14:45:41.220723Z", + "shell.execute_reply": "2025-01-09T14:45:41.220219Z" } }, "outputs": [ @@ -134,10 +134,10 @@ "id": "41776ad1", "metadata": { "execution": { - "iopub.execute_input": "2025-01-08T23:33:41.837324Z", - "iopub.status.busy": "2025-01-08T23:33:41.837040Z", - "iopub.status.idle": "2025-01-08T23:33:41.841039Z", - "shell.execute_reply": "2025-01-08T23:33:41.840590Z" + "iopub.execute_input": "2025-01-09T14:45:41.222385Z", + "iopub.status.busy": "2025-01-09T14:45:41.222246Z", + "iopub.status.idle": "2025-01-09T14:45:41.226098Z", + "shell.execute_reply": "2025-01-09T14:45:41.225672Z" } }, "outputs": [ @@ -176,10 +176,10 @@ "id": "6e04f35a", "metadata": { "execution": { - "iopub.execute_input": "2025-01-08T23:33:41.842748Z", - "iopub.status.busy": "2025-01-08T23:33:41.842471Z", - "iopub.status.idle": "2025-01-08T23:33:41.861214Z", - "shell.execute_reply": "2025-01-08T23:33:41.860768Z" + "iopub.execute_input": "2025-01-09T14:45:41.227831Z", + "iopub.status.busy": "2025-01-09T14:45:41.227690Z", + "iopub.status.idle": "2025-01-09T14:45:41.247767Z", + "shell.execute_reply": "2025-01-09T14:45:41.247223Z" } }, "outputs": [ @@ -607,10 +607,10 @@ "id": "5e11e5e7", "metadata": { "execution": { - "iopub.execute_input": "2025-01-08T23:33:41.862695Z", - "iopub.status.busy": "2025-01-08T23:33:41.862566Z", - "iopub.status.idle": "2025-01-08T23:33:41.873965Z", - "shell.execute_reply": "2025-01-08T23:33:41.873436Z" + "iopub.execute_input": "2025-01-09T14:45:41.249622Z", + "iopub.status.busy": "2025-01-09T14:45:41.249458Z", + "iopub.status.idle": "2025-01-09T14:45:41.261878Z", + "shell.execute_reply": "2025-01-09T14:45:41.261235Z" } }, "outputs": [ @@ -862,10 +862,10 @@ "id": "2d937bd4", "metadata": { "execution": { - "iopub.execute_input": "2025-01-08T23:33:41.875610Z", - "iopub.status.busy": "2025-01-08T23:33:41.875477Z", - "iopub.status.idle": "2025-01-08T23:33:43.296329Z", - "shell.execute_reply": "2025-01-08T23:33:43.295776Z" + "iopub.execute_input": "2025-01-09T14:45:41.263952Z", + "iopub.status.busy": "2025-01-09T14:45:41.263787Z", + "iopub.status.idle": "2025-01-09T14:45:42.748617Z", + "shell.execute_reply": "2025-01-09T14:45:42.748036Z" } }, "outputs": [ @@ -937,10 +937,10 @@ "id": "c1d136f0", "metadata": { "execution": { - "iopub.execute_input": "2025-01-08T23:33:43.298362Z", - "iopub.status.busy": "2025-01-08T23:33:43.298067Z", - "iopub.status.idle": "2025-01-08T23:35:34.894284Z", - "shell.execute_reply": "2025-01-08T23:35:34.893678Z" + "iopub.execute_input": "2025-01-09T14:45:42.750423Z", + "iopub.status.busy": "2025-01-09T14:45:42.750285Z", + "iopub.status.idle": "2025-01-09T14:47:35.067845Z", + "shell.execute_reply": "2025-01-09T14:47:35.067245Z" } }, "outputs": [ @@ -948,7 +948,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "(INFO) (paste.py) (08-Jan-25 23:33:43) GPU is not available, resorting to torch CPU.\n" + "(INFO) (paste.py) (09-Jan-25 14:45:42) GPU is not available, resorting to torch CPU.\n" ] } ], @@ -962,10 +962,10 @@ "id": "3e6a6ae1", "metadata": { "execution": { - "iopub.execute_input": "2025-01-08T23:35:34.896441Z", - "iopub.status.busy": "2025-01-08T23:35:34.896139Z", - "iopub.status.idle": "2025-01-08T23:37:22.215248Z", - "shell.execute_reply": "2025-01-08T23:37:22.214653Z" + "iopub.execute_input": "2025-01-09T14:47:35.070022Z", + "iopub.status.busy": "2025-01-09T14:47:35.069704Z", + "iopub.status.idle": "2025-01-09T14:49:23.130472Z", + "shell.execute_reply": "2025-01-09T14:49:23.130009Z" } }, "outputs": [ @@ -973,7 +973,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "(INFO) (paste.py) (08-Jan-25 23:35:34) GPU is not available, resorting to torch CPU.\n" + "(INFO) (paste.py) (09-Jan-25 14:47:35) GPU is not available, resorting to torch CPU.\n" ] } ], @@ -987,10 +987,10 @@ "id": "b582c420", "metadata": { "execution": { - "iopub.execute_input": "2025-01-08T23:37:22.217267Z", - "iopub.status.busy": "2025-01-08T23:37:22.216953Z", - "iopub.status.idle": "2025-01-08T23:39:01.397077Z", - "shell.execute_reply": "2025-01-08T23:39:01.396603Z" + "iopub.execute_input": "2025-01-09T14:49:23.132740Z", + "iopub.status.busy": "2025-01-09T14:49:23.132325Z", + "iopub.status.idle": "2025-01-09T14:51:02.940986Z", + "shell.execute_reply": "2025-01-09T14:51:02.940412Z" } }, "outputs": [ @@ -998,7 +998,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "(INFO) (paste.py) (08-Jan-25 23:37:22) GPU is not available, resorting to torch CPU.\n" + "(INFO) (paste.py) (09-Jan-25 14:49:23) GPU is not available, resorting to torch CPU.\n" ] } ], @@ -1020,10 +1020,10 @@ "id": "058bd830", "metadata": { "execution": { - "iopub.execute_input": "2025-01-08T23:39:01.399169Z", - "iopub.status.busy": "2025-01-08T23:39:01.398839Z", - "iopub.status.idle": "2025-01-08T23:39:01.402205Z", - "shell.execute_reply": "2025-01-08T23:39:01.401764Z" + "iopub.execute_input": "2025-01-09T14:51:02.943041Z", + "iopub.status.busy": "2025-01-09T14:51:02.942895Z", + "iopub.status.idle": "2025-01-09T14:51:02.946223Z", + "shell.execute_reply": "2025-01-09T14:51:02.945792Z" } }, "outputs": [ @@ -1059,10 +1059,10 @@ "id": "aa69f37f", "metadata": { "execution": { - "iopub.execute_input": "2025-01-08T23:39:01.403910Z", - "iopub.status.busy": "2025-01-08T23:39:01.403619Z", - "iopub.status.idle": "2025-01-08T23:39:02.706692Z", - "shell.execute_reply": "2025-01-08T23:39:02.706098Z" + "iopub.execute_input": "2025-01-09T14:51:02.947796Z", + "iopub.status.busy": "2025-01-09T14:51:02.947671Z", + "iopub.status.idle": "2025-01-09T14:51:04.260072Z", + "shell.execute_reply": "2025-01-09T14:51:04.259492Z" } }, "outputs": [ @@ -1181,10 +1181,10 @@ "id": "ba8ff201", "metadata": { "execution": { - "iopub.execute_input": "2025-01-08T23:39:02.714794Z", - "iopub.status.busy": "2025-01-08T23:39:02.714370Z", - "iopub.status.idle": "2025-01-08T23:39:02.802261Z", - "shell.execute_reply": "2025-01-08T23:39:02.801645Z" + "iopub.execute_input": "2025-01-09T14:51:04.267777Z", + "iopub.status.busy": "2025-01-09T14:51:04.267594Z", + "iopub.status.idle": "2025-01-09T14:51:04.361752Z", + "shell.execute_reply": "2025-01-09T14:51:04.361131Z" } }, "outputs": [], @@ -1209,10 +1209,10 @@ "id": "36ab1b6b", "metadata": { "execution": { - "iopub.execute_input": "2025-01-08T23:39:02.804398Z", - "iopub.status.busy": "2025-01-08T23:39:02.804125Z", - "iopub.status.idle": "2025-01-08T23:39:03.050888Z", - "shell.execute_reply": "2025-01-08T23:39:03.050349Z" + "iopub.execute_input": "2025-01-09T14:51:04.364198Z", + "iopub.status.busy": "2025-01-09T14:51:04.363814Z", + "iopub.status.idle": "2025-01-09T14:51:04.617327Z", + "shell.execute_reply": "2025-01-09T14:51:04.616777Z" } }, "outputs": [ @@ -1284,10 +1284,10 @@ "id": "388f5444", "metadata": { "execution": { - "iopub.execute_input": "2025-01-08T23:39:03.055563Z", - "iopub.status.busy": "2025-01-08T23:39:03.055234Z", - "iopub.status.idle": "2025-01-08T23:39:03.245544Z", - "shell.execute_reply": "2025-01-08T23:39:03.245036Z" + "iopub.execute_input": "2025-01-09T14:51:04.621993Z", + "iopub.status.busy": "2025-01-09T14:51:04.621602Z", + "iopub.status.idle": "2025-01-09T14:51:04.807509Z", + "shell.execute_reply": "2025-01-09T14:51:04.806938Z" } }, "outputs": [ diff --git a/notebooks/paste3_tutorial.html b/notebooks/paste3_tutorial.html index cba7ea9..561a5b5 100644 --- a/notebooks/paste3_tutorial.html +++ b/notebooks/paste3_tutorial.html @@ -169,7 +169,7 @@
-<paste3.dataset.Slice at 0x7fc6f85c71a0>
+<paste3.dataset.Slice at 0x7f93a1310530>
An entire dataset can be rendered by typing the dataset variable name in a cell, which renders each slice in order.
@@ -208,7 +208,7 @@
-<paste3.dataset.AlignmentDataset at 0x7fc6f85c7710>
+<paste3.dataset.AlignmentDataset at 0x7f9296a70d40>
-(INFO) (dataset.py) (08-Jan-25 23:39:12) Finding center slice
-(INFO) (paste.py) (08-Jan-25 23:39:12) GPU is not available, resorting to torch CPU.
-(INFO) (paste.py) (08-Jan-25 23:39:12) Solving Center Mapping NMF Problem.
-(INFO) (paste.py) (08-Jan-25 23:39:35) Iteration: 0
-(INFO) (paste.py) (08-Jan-25 23:39:35) Solving Pairwise Slice Alignment Problem.
-(INFO) (paste.py) (08-Jan-25 23:39:35) Slice 0
-(INFO) (paste.py) (08-Jan-25 23:39:36) Slice 1
-(INFO) (paste.py) (08-Jan-25 23:39:37) Slice 2
-(INFO) (paste.py) (08-Jan-25 23:39:37) center_ot done
-(INFO) (paste.py) (08-Jan-25 23:39:37) Solving Center Mapping NMF Problem.
-(INFO) (paste.py) (08-Jan-25 23:39:48) Objective -142.82071378322735 | Difference: 142.82071378322735
-(INFO) (paste.py) (08-Jan-25 23:39:48) Iteration: 1
-(INFO) (paste.py) (08-Jan-25 23:39:48) Solving Pairwise Slice Alignment Problem.
-(INFO) (paste.py) (08-Jan-25 23:39:48) Slice 0
-(INFO) (paste.py) (08-Jan-25 23:39:48) Slice 1
-(INFO) (paste.py) (08-Jan-25 23:39:49) Slice 2
-(INFO) (paste.py) (08-Jan-25 23:39:50) center_ot done
-(INFO) (paste.py) (08-Jan-25 23:39:50) Solving Center Mapping NMF Problem.
-(INFO) (paste.py) (08-Jan-25 23:40:01) Objective 0.8944949908303794 | Difference: 143.71520877405771
-(INFO) (paste.py) (08-Jan-25 23:40:01) Iteration: 2
-(INFO) (paste.py) (08-Jan-25 23:40:01) Solving Pairwise Slice Alignment Problem.
-(INFO) (paste.py) (08-Jan-25 23:40:01) Slice 0
-(INFO) (paste.py) (08-Jan-25 23:40:01) Slice 1
-(INFO) (paste.py) (08-Jan-25 23:40:02) Slice 2
-(INFO) (paste.py) (08-Jan-25 23:40:02) center_ot done
-(INFO) (paste.py) (08-Jan-25 23:40:02) Solving Center Mapping NMF Problem.
-(INFO) (paste.py) (08-Jan-25 23:40:12) Objective 0.9013993232748914 | Difference: 0.00690433244451194
-(INFO) (paste.py) (08-Jan-25 23:40:12) Iteration: 3
-(INFO) (paste.py) (08-Jan-25 23:40:12) Solving Pairwise Slice Alignment Problem.
-(INFO) (paste.py) (08-Jan-25 23:40:12) Slice 0
-(INFO) (paste.py) (08-Jan-25 23:40:12) Slice 1
-(INFO) (paste.py) (08-Jan-25 23:40:13) Slice 2
-(INFO) (paste.py) (08-Jan-25 23:40:13) center_ot done
-(INFO) (paste.py) (08-Jan-25 23:40:13) Solving Center Mapping NMF Problem.
-(INFO) (paste.py) (08-Jan-25 23:40:23) Objective 0.9042766266120389 | Difference: 0.00287730333714753
-(INFO) (paste.py) (08-Jan-25 23:40:23) Iteration: 4
-(INFO) (paste.py) (08-Jan-25 23:40:23) Solving Pairwise Slice Alignment Problem.
-(INFO) (paste.py) (08-Jan-25 23:40:23) Slice 0
-(INFO) (paste.py) (08-Jan-25 23:40:24) Slice 1
-(INFO) (paste.py) (08-Jan-25 23:40:24) Slice 2
-(INFO) (paste.py) (08-Jan-25 23:40:25) center_ot done
-(INFO) (paste.py) (08-Jan-25 23:40:25) Solving Center Mapping NMF Problem.
-(INFO) (paste.py) (08-Jan-25 23:40:35) Objective 0.9023510493892046 | Difference: 0.0019255772228342627
-(INFO) (paste.py) (08-Jan-25 23:40:35) Iteration: 5
-(INFO) (paste.py) (08-Jan-25 23:40:35) Solving Pairwise Slice Alignment Problem.
-(INFO) (paste.py) (08-Jan-25 23:40:35) Slice 0
-(INFO) (paste.py) (08-Jan-25 23:40:36) Slice 1
-(INFO) (paste.py) (08-Jan-25 23:40:36) Slice 2
-(INFO) (paste.py) (08-Jan-25 23:40:37) center_ot done
-(INFO) (paste.py) (08-Jan-25 23:40:37) Solving Center Mapping NMF Problem.
-(INFO) (paste.py) (08-Jan-25 23:40:46) Objective 0.8998587851111727 | Difference: 0.0024922642780319526
-(INFO) (paste.py) (08-Jan-25 23:40:46) Iteration: 6
-(INFO) (paste.py) (08-Jan-25 23:40:46) Solving Pairwise Slice Alignment Problem.
-(INFO) (paste.py) (08-Jan-25 23:40:46) Slice 0
-(INFO) (paste.py) (08-Jan-25 23:40:47) Slice 1
-(INFO) (paste.py) (08-Jan-25 23:40:47) Slice 2
-(INFO) (paste.py) (08-Jan-25 23:40:47) center_ot done
-(INFO) (paste.py) (08-Jan-25 23:40:47) Solving Center Mapping NMF Problem.
-(INFO) (paste.py) (08-Jan-25 23:40:58) Objective 0.9059852027259507 | Difference: 0.006126417614778057
-(INFO) (paste.py) (08-Jan-25 23:40:58) Iteration: 7
-(INFO) (paste.py) (08-Jan-25 23:40:58) Solving Pairwise Slice Alignment Problem.
-(INFO) (paste.py) (08-Jan-25 23:40:58) Slice 0
-(INFO) (paste.py) (08-Jan-25 23:40:58) Slice 1
-(INFO) (paste.py) (08-Jan-25 23:40:59) Slice 2
-(INFO) (paste.py) (08-Jan-25 23:40:59) center_ot done
-(INFO) (paste.py) (08-Jan-25 23:40:59) Solving Center Mapping NMF Problem.
-(INFO) (paste.py) (08-Jan-25 23:41:09) Objective 0.8999066939756721 | Difference: 0.0060785087502785995
-(INFO) (paste.py) (08-Jan-25 23:41:09) Iteration: 8
-(INFO) (paste.py) (08-Jan-25 23:41:09) Solving Pairwise Slice Alignment Problem.
-(INFO) (paste.py) (08-Jan-25 23:41:09) Slice 0
-(INFO) (paste.py) (08-Jan-25 23:41:10) Slice 1
-(INFO) (paste.py) (08-Jan-25 23:41:10) Slice 2
-(INFO) (paste.py) (08-Jan-25 23:41:11) center_ot done
-(INFO) (paste.py) (08-Jan-25 23:41:11) Solving Center Mapping NMF Problem.
-(INFO) (paste.py) (08-Jan-25 23:41:22) Objective 0.9036506923788712 | Difference: 0.003743998403199056
-(INFO) (paste.py) (08-Jan-25 23:41:22) Iteration: 9
-(INFO) (paste.py) (08-Jan-25 23:41:22) Solving Pairwise Slice Alignment Problem.
-(INFO) (paste.py) (08-Jan-25 23:41:22) Slice 0
-(INFO) (paste.py) (08-Jan-25 23:41:22) Slice 1
-(INFO) (paste.py) (08-Jan-25 23:41:22) Slice 2
-(INFO) (paste.py) (08-Jan-25 23:41:23) center_ot done
-(INFO) (paste.py) (08-Jan-25 23:41:23) Solving Center Mapping NMF Problem.
-(INFO) (paste.py) (08-Jan-25 23:41:35) Objective 0.9024105833967202 | Difference: 0.0012401089821509892
-(INFO) (paste.py) (08-Jan-25 23:41:35) Center slice computed.
-(INFO) (dataset.py) (08-Jan-25 23:41:35) Center aligning
-(INFO) (dataset.py) (08-Jan-25 23:41:35) Stacking slices around center slice
+(INFO) (dataset.py) (09-Jan-25 14:51:16) Finding center slice
+(INFO) (paste.py) (09-Jan-25 14:51:16) GPU is not available, resorting to torch CPU.
+(INFO) (paste.py) (09-Jan-25 14:51:16) Solving Center Mapping NMF Problem.
+(INFO) (paste.py) (09-Jan-25 14:51:43) Iteration: 0
+(INFO) (paste.py) (09-Jan-25 14:51:43) Solving Pairwise Slice Alignment Problem.
+(INFO) (paste.py) (09-Jan-25 14:51:43) Slice 0
+(INFO) (paste.py) (09-Jan-25 14:51:43) Slice 1
+(INFO) (paste.py) (09-Jan-25 14:51:44) Slice 2
+(INFO) (paste.py) (09-Jan-25 14:51:44) center_ot done
+(INFO) (paste.py) (09-Jan-25 14:51:44) Solving Center Mapping NMF Problem.
+(INFO) (paste.py) (09-Jan-25 14:51:57) Objective -142.82010587918268 | Difference: 142.82010587918268
+(INFO) (paste.py) (09-Jan-25 14:51:57) Iteration: 1
+(INFO) (paste.py) (09-Jan-25 14:51:57) Solving Pairwise Slice Alignment Problem.
+(INFO) (paste.py) (09-Jan-25 14:51:57) Slice 0
+(INFO) (paste.py) (09-Jan-25 14:51:58) Slice 1
+(INFO) (paste.py) (09-Jan-25 14:51:58) Slice 2
+(INFO) (paste.py) (09-Jan-25 14:51:59) center_ot done
+(INFO) (paste.py) (09-Jan-25 14:51:59) Solving Center Mapping NMF Problem.
+(INFO) (paste.py) (09-Jan-25 14:52:09) Objective 0.8927972756196384 | Difference: 143.71290315480232
+(INFO) (paste.py) (09-Jan-25 14:52:09) Iteration: 2
+(INFO) (paste.py) (09-Jan-25 14:52:09) Solving Pairwise Slice Alignment Problem.
+(INFO) (paste.py) (09-Jan-25 14:52:09) Slice 0
+(INFO) (paste.py) (09-Jan-25 14:52:09) Slice 1
+(INFO) (paste.py) (09-Jan-25 14:52:10) Slice 2
+(INFO) (paste.py) (09-Jan-25 14:52:10) center_ot done
+(INFO) (paste.py) (09-Jan-25 14:52:10) Solving Center Mapping NMF Problem.
+(INFO) (paste.py) (09-Jan-25 14:52:20) Objective 0.9013438738254353 | Difference: 0.008546598205796951
+(INFO) (paste.py) (09-Jan-25 14:52:20) Iteration: 3
+(INFO) (paste.py) (09-Jan-25 14:52:20) Solving Pairwise Slice Alignment Problem.
+(INFO) (paste.py) (09-Jan-25 14:52:20) Slice 0
+(INFO) (paste.py) (09-Jan-25 14:52:20) Slice 1
+(INFO) (paste.py) (09-Jan-25 14:52:21) Slice 2
+(INFO) (paste.py) (09-Jan-25 14:52:21) center_ot done
+(INFO) (paste.py) (09-Jan-25 14:52:21) Solving Center Mapping NMF Problem.
+(INFO) (paste.py) (09-Jan-25 14:52:31) Objective 0.8992051499856767 | Difference: 0.0021387238397586605
+(INFO) (paste.py) (09-Jan-25 14:52:31) Iteration: 4
+(INFO) (paste.py) (09-Jan-25 14:52:31) Solving Pairwise Slice Alignment Problem.
+(INFO) (paste.py) (09-Jan-25 14:52:31) Slice 0
+(INFO) (paste.py) (09-Jan-25 14:52:32) Slice 1
+(INFO) (paste.py) (09-Jan-25 14:52:32) Slice 2
+(INFO) (paste.py) (09-Jan-25 14:52:33) center_ot done
+(INFO) (paste.py) (09-Jan-25 14:52:33) Solving Center Mapping NMF Problem.
+(INFO) (paste.py) (09-Jan-25 14:52:43) Objective 0.9027546896793764 | Difference: 0.0035495396936997547
+(INFO) (paste.py) (09-Jan-25 14:52:43) Iteration: 5
+(INFO) (paste.py) (09-Jan-25 14:52:43) Solving Pairwise Slice Alignment Problem.
+(INFO) (paste.py) (09-Jan-25 14:52:43) Slice 0
+(INFO) (paste.py) (09-Jan-25 14:52:44) Slice 1
+(INFO) (paste.py) (09-Jan-25 14:52:44) Slice 2
+(INFO) (paste.py) (09-Jan-25 14:52:44) center_ot done
+(INFO) (paste.py) (09-Jan-25 14:52:44) Solving Center Mapping NMF Problem.
+(INFO) (paste.py) (09-Jan-25 14:52:56) Objective 0.8978060485481668 | Difference: 0.00494864113120963
+(INFO) (paste.py) (09-Jan-25 14:52:56) Iteration: 6
+(INFO) (paste.py) (09-Jan-25 14:52:56) Solving Pairwise Slice Alignment Problem.
+(INFO) (paste.py) (09-Jan-25 14:52:56) Slice 0
+(INFO) (paste.py) (09-Jan-25 14:52:56) Slice 1
+(INFO) (paste.py) (09-Jan-25 14:52:57) Slice 2
+(INFO) (paste.py) (09-Jan-25 14:52:57) center_ot done
+(INFO) (paste.py) (09-Jan-25 14:52:57) Solving Center Mapping NMF Problem.
+(INFO) (paste.py) (09-Jan-25 14:53:07) Objective 0.9028417864909728 | Difference: 0.0050357379428059845
+(INFO) (paste.py) (09-Jan-25 14:53:07) Iteration: 7
+(INFO) (paste.py) (09-Jan-25 14:53:07) Solving Pairwise Slice Alignment Problem.
+(INFO) (paste.py) (09-Jan-25 14:53:07) Slice 0
+(INFO) (paste.py) (09-Jan-25 14:53:07) Slice 1
+(INFO) (paste.py) (09-Jan-25 14:53:08) Slice 2
+(INFO) (paste.py) (09-Jan-25 14:53:08) center_ot done
+(INFO) (paste.py) (09-Jan-25 14:53:08) Solving Center Mapping NMF Problem.
+(INFO) (paste.py) (09-Jan-25 14:53:19) Objective 0.9005167724501746 | Difference: 0.0023250140407982123
+(INFO) (paste.py) (09-Jan-25 14:53:19) Iteration: 8
+(INFO) (paste.py) (09-Jan-25 14:53:19) Solving Pairwise Slice Alignment Problem.
+(INFO) (paste.py) (09-Jan-25 14:53:19) Slice 0
+(INFO) (paste.py) (09-Jan-25 14:53:19) Slice 1
+(INFO) (paste.py) (09-Jan-25 14:53:19) Slice 2
+(INFO) (paste.py) (09-Jan-25 14:53:20) center_ot done
+(INFO) (paste.py) (09-Jan-25 14:53:20) Solving Center Mapping NMF Problem.
+(INFO) (paste.py) (09-Jan-25 14:53:30) Objective 0.9028665557567276 | Difference: 0.0023497833065529994
+(INFO) (paste.py) (09-Jan-25 14:53:30) Iteration: 9
+(INFO) (paste.py) (09-Jan-25 14:53:30) Solving Pairwise Slice Alignment Problem.
+(INFO) (paste.py) (09-Jan-25 14:53:30) Slice 0
+(INFO) (paste.py) (09-Jan-25 14:53:31) Slice 1
+(INFO) (paste.py) (09-Jan-25 14:53:31) Slice 2
+(INFO) (paste.py) (09-Jan-25 14:53:32) center_ot done
+(INFO) (paste.py) (09-Jan-25 14:53:32) Solving Center Mapping NMF Problem.
+(INFO) (paste.py) (09-Jan-25 14:53:44) Objective 0.9040163047497342 | Difference: 0.0011497489930065719
+(INFO) (paste.py) (09-Jan-25 14:53:45) Center slice computed.
+(INFO) (dataset.py) (09-Jan-25 14:53:45) Center aligning
+(INFO) (dataset.py) (09-Jan-25 14:53:45) Stacking slices around center slice
We can render the center slice and the aligned dataset as usual.
@@ -344,7 +344,7 @@
-<paste3.dataset.Slice at 0x7fc6e7775670>
+<paste3.dataset.Slice at 0x7f9284e4f7a0>
-<paste3.dataset.AlignmentDataset at 0x7fc6e7f40050>
+<paste3.dataset.AlignmentDataset at 0x7f92857c5070>
-(INFO) (dataset.py) (08-Jan-25 23:41:36) Finding Pi for slices 0 and 1
-(INFO) (paste.py) (08-Jan-25 23:41:36) GPU is not available, resorting to torch CPU.
-(INFO) (dataset.py) (08-Jan-25 23:41:38) Finding Pi for slices 1 and 2
-(INFO) (paste.py) (08-Jan-25 23:41:38) GPU is not available, resorting to torch CPU.
+(INFO) (dataset.py) (09-Jan-25 14:53:46) Finding Pi for slices 0 and 1
+(INFO) (paste.py) (09-Jan-25 14:53:46) GPU is not available, resorting to torch CPU.
+(INFO) (dataset.py) (09-Jan-25 14:53:47) Finding Pi for slices 1 and 2
+(INFO) (paste.py) (09-Jan-25 14:53:47) GPU is not available, resorting to torch CPU.
-<paste3.dataset.AlignmentDataset at 0x7fc6e76142f0>
+<paste3.dataset.AlignmentDataset at 0x7f928d546b70>
pairw
-(INFO) (paste.py) (08-Jan-25 23:41:47) GPU is not available, resorting to torch CPU.
-(INFO) (paste.py) (08-Jan-25 23:41:47) GPU is not available, resorting to torch CPU.
-(INFO) (paste.py) (08-Jan-25 23:41:47) GPU is not available, resorting to torch CPU.
-Runtime: 0.3742637634277344
+(INFO) (paste.py) (09-Jan-25 14:53:56) GPU is not available, resorting to torch CPU.
+(INFO) (paste.py) (09-Jan-25 14:53:56) GPU is not available, resorting to torch CPU.
+(INFO) (paste.py) (09-Jan-25 14:53:56) GPU is not available, resorting to torch CPU.
+Runtime: 0.37984490394592285
-