SpatialAE Demo
(Running SpatialAE 0.1.0)
2024-03-08 18:31:39
Overview of the example dataset
example data download from https://github.com/labsyspharm/mcmicro/actions/runs/8041633029
exemplar-001.zip
import dask.array as da
import tifffile
imagePath = "/Users/rthuang/Documents/spatialaeExampleData/exemplar-001/registration/exemplar-001.ome.tif"
original_image = da . from_zarr ( tifffile . imread ( pathlib . Path ( imagePath ), aszarr = True , level = 0 ))
Array
Chunk
Bytes
180.35 MiB
2.00 MiB
Shape
(12, 3138, 2511)
(1, 1024, 1024)
Dask graph
144 chunks in 2 graph layers
Data type
uint16 numpy.ndarray
2511
3138
12
markerIndex = 0
zimage = da . from_zarr ( tifffile . imread ( pathlib . Path ( imagePath ), aszarr = True , level = 0 , key = markerIndex ))
Array
Chunk
Bytes
15.03 MiB
2.00 MiB
Shape
(3138, 2511)
(1024, 1024)
Dask graph
12 chunks in 2 graph layers
Data type
uint16 numpy.ndarray
2511
3138
markerIndex = 11
zimage = da . from_zarr ( tifffile . imread ( pathlib . Path ( imagePath ), aszarr = True , level = 0 , key = markerIndex ))
Array
Chunk
Bytes
15.03 MiB
2.00 MiB
Shape
(3138, 2511)
(1024, 1024)
Dask graph
12 chunks in 2 graph layers
Data type
uint16 numpy.ndarray
2511
3138
Cropping image
default first channel
spatialTablePath = '/Users/rthuang/Documents/spatialaeExampleData/exemplar-001/quantification/exemplar-001--unmicst_cell.csv'
imagePath = '/Users/rthuang/Documents/spatialaeExampleData/exemplar-001/registration/exemplar-001.ome.tif'
projectDir = '/Users/rthuang/Documents/spatialaeExampleData/'
# if not specify any channel marker mapping, default crop the first channel as DNA1
sa . generateSinglePatch ( spatialTablePath , imagePath , projectDir = projectDir , cell_indicator = 'CellID' )
generateSinglePatch starting
Processing Marker: DNA1
subimages "2621has limitted information, has been filtered.
subimages "2679has limitted information, has been filtered.
subimages "2904has limitted information, has been filtered.
subimages "2949has limitted information, has been filtered.
subimages "3091has limitted information, has been filtered.
subimages "3134has limitted information, has been filtered.
subimages "3207has limitted information, has been filtered.
subimages "3240has limitted information, has been filtered.
subimages "3336has limitted information, has been filtered.
subimages "3361has limitted information, has been filtered.
subimages "3395has limitted information, has been filtered.
subimages "3584has limitted information, has been filtered.
subimages "3717has limitted information, has been filtered.
subimages "3877has limitted information, has been filtered.
subimages "3992has limitted information, has been filtered.
subimages "4005has limitted information, has been filtered.
subimages "4269has limitted information, has been filtered.
subimages "4323has limitted information, has been filtered.
subimages "4430has limitted information, has been filtered.
subimages "4508has limitted information, has been filtered.
subimages "4602has limitted information, has been filtered.
subimages "4609has limitted information, has been filtered.
subimages "4614has limitted information, has been filtered.
subimages "4673has limitted information, has been filtered.
subimages "4706has limitted information, has been filtered.
subimages "4786has limitted information, has been filtered.
subimages "4827has limitted information, has been filtered.
subimages "4888has limitted information, has been filtered.
subimages "4921has limitted information, has been filtered.
subimages "5001has limitted information, has been filtered.
subimages "5140has limitted information, has been filtered.
subimages "5293has limitted information, has been filtered.
subimages "5427has limitted information, has been filtered.
subimages "5453has limitted information, has been filtered.
subimages "5503has limitted information, has been filtered.
subimages "5550has limitted information, has been filtered.
subimages "5653has limitted information, has been filtered.
subimages "5724has limitted information, has been filtered.
subimages "5779has limitted information, has been filtered.
subimages "5812has limitted information, has been filtered.
subimages "5889has limitted information, has been filtered.
subimages "5922has limitted information, has been filtered.
subimages "5995has limitted information, has been filtered.
subimages "6006has limitted information, has been filtered.
subimages "6084has limitted information, has been filtered.
subimages "6172has limitted information, has been filtered.
subimages "6234has limitted information, has been filtered.
subimages "6293has limitted information, has been filtered.
subimages "6441has limitted information, has been filtered.
subimages "6457has limitted information, has been filtered.
subimages "6554has limitted information, has been filtered.
subimages "6593has limitted information, has been filtered.
subimages "6671has limitted information, has been filtered.
subimages "6704has limitted information, has been filtered.
subimages "6824has limitted information, has been filtered.
subimages "7042has limitted information, has been filtered.
subimages "7161has limitted information, has been filtered.
subimages "7358has limitted information, has been filtered.
subimages "7558has limitted information, has been filtered.
subimages "7642has limitted information, has been filtered.
subimages "7761has limitted information, has been filtered.
subimages "8239has limitted information, has been filtered.
subimages have been generated, head over to "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/SinglePatch" to view results
Multiple specified channels
## specify markerChannelMapPath to crop multiple channels' images.
spatialTablePath = '/Users/rthuang/Documents/spatialaeExampleData/exemplar-001/quantification/exemplar-001--unmicst_cell.csv'
imagePath = '/Users/rthuang/Documents/spatialaeExampleData/exemplar-001/registration/exemplar-001.ome.tif'
projectDir = '/Users/rthuang/Documents/spatialaeExampleData/'
markerChannelMapPath = "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/data/markers.csv"
sa . generateSinglePatch ( spatialTablePath , imagePath , markerChannelMapPath = markerChannelMapPath , markers = [ "DNA_6" , "ELANE" , "CD57" , 'CD45' ],
projectDir = projectDir , cell_indicator = 'CellID' , image_fraction = 0.01 )
generateSinglePatch starting
Processing Marker: DNA_6
Processing Marker: ELANE
Processing Marker: CD57
Processing Marker: CD45
subimages have been generated, head over to "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/SinglePatch" to view results
Modelling
single channel
input_dim = 256 # 16*16
encoding_dim = 64
max_epoch_num = 1
batch_size = 8
# dataset_dir="/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/SinglePatc/DNA1/"
dataset_dir = "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/SinglePatch/DNA_6/"
outModelPath = '/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/models/ln_autoencoder_DNA_validate_1_model.pth'
sa . models . aeTrain ( dataset_dir , outModelPath , input_dim , encoding_dim , max_epoch_num , batch_size )
GPU available: True (mps), used: True
TPU available: False, using: 0 TPU cores
IPU available: False, using: 0 IPUs
HPU available: False, using: 0 HPUs
| Name | Type | Params
-----------------------------------------
0 | criterion | MSELoss | 0
1 | encoder | Sequential | 41.2 K
2 | decoder | Sequential | 41.3 K
-----------------------------------------
82.5 K Trainable params
0 Non-trainable params
82.5 K Total params
0.330 Total estimated model params size (MB)
Train_data
Validate_data
Epoch 0: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 12/12 [00:05<00:00, 2.03it/s, v_num=5](Running SpatialAE 0.1.0)
2024-03-08 18:52:39
(Running SpatialAE 0.1.0)
2024-03-08 18:52:39
(Running SpatialAE 0.1.0)
2024-03-08 18:52:39
(Running SpatialAE 0.1.0)
2024-03-08 18:52:39
(Running SpatialAE 0.1.0)
2024-03-08 18:52:39
(Running SpatialAE 0.1.0)
2024-03-08 18:52:39
(Running SpatialAE 0.1.0)
2024-03-08 18:52:38
(Running SpatialAE 0.1.0)
2024-03-08 18:52:39
(Running SpatialAE 0.1.0)
2024-03-08 18:52:39
(Running SpatialAE 0.1.0)
2024-03-08 18:52:39
Validation: | | 0/? [00:00<?, ?it/s][A
Validation: 0%| | 0/3 [00:00<?, ?it/s][A
Validation DataLoader 0: 0%| | 0/3 [00:00<?, ?it/s][A
Validation DataLoader 0: 33%|████████████████████████████████████████████████ | 1/3 [00:00<00:00, 25.98it/s][A
Validation DataLoader 0: 67%|████████████████████████████████████████████████████████████████████████████████████████████████ | 2/3 [00:00<00:00, 43.13it/s][A
Validation DataLoader 0: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 43.74it/s][A
Epoch 0: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 12/12 [00:16<00:00, 0.74it/s, v_num=5][A
`Trainer.fit` stopped: `max_epochs=1` reached.
Epoch 0: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 12/12 [00:16<00:00, 0.74it/s, v_num=5]
(Running SpatialAE 0.1.0)
2024-03-08 18:52:44
(Running SpatialAE 0.1.0)
2024-03-08 18:52:44
(Running SpatialAE 0.1.0)
2024-03-08 18:52:45
(Running SpatialAE 0.1.0)
2024-03-08 18:52:44
(Running SpatialAE 0.1.0)
2024-03-08 18:52:44
(Running SpatialAE 0.1.0)
2024-03-08 18:52:45
(Running SpatialAE 0.1.0)
2024-03-08 18:52:45
(Running SpatialAE 0.1.0)
2024-03-08 18:52:45
(Running SpatialAE 0.1.0)
2024-03-08 18:52:44
(Running SpatialAE 0.1.0)
2024-03-08 18:52:44
(Running SpatialAE 0.1.0)
2024-03-08 18:52:51
(Running SpatialAE 0.1.0)
2024-03-08 18:52:51
(Running SpatialAE 0.1.0)
2024-03-08 18:52:51
(Running SpatialAE 0.1.0)
2024-03-08 18:52:52
(Running SpatialAE 0.1.0)
2024-03-08 18:52:52
(Running SpatialAE 0.1.0)
2024-03-08 18:52:52
(Running SpatialAE 0.1.0)
2024-03-08 18:52:52
(Running SpatialAE 0.1.0)
2024-03-08 18:52:52
(Running SpatialAE 0.1.0)
2024-03-08 18:52:52
(Running SpatialAE 0.1.0)
2024-03-08 18:52:52
input_dim = 256 # 16*16
encoding_dim = 64
max_epoch_num = 2
batch_size = 8
# dataset_dir="/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/SinglePatc/DNA1/"
dataset_dir = "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/SinglePatch/DNA_6/"
outModelPath = '/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/models/ln_autoencoder_DNA_validate_2_model.pth'
sa . models . aeTrain ( dataset_dir , outModelPath , input_dim , encoding_dim , max_epoch_num , batch_size )
GPU available: True (mps), used: True
TPU available: False, using: 0 TPU cores
IPU available: False, using: 0 IPUs
HPU available: False, using: 0 HPUs
| Name | Type | Params
-----------------------------------------
0 | criterion | MSELoss | 0
1 | encoder | Sequential | 41.2 K
2 | decoder | Sequential | 41.3 K
-----------------------------------------
82.5 K Trainable params
0 Non-trainable params
82.5 K Total params
0.330 Total estimated model params size (MB)
Train_data
Validate_data
/Users/rthuang/miniconda3/envs/spatialAE/lib/python3.10/site-packages/lightning/pytorch/loops/fit_loop.py:298: The number of training batches (12) is smaller than the logging interval Trainer(log_every_n_steps=50). Set a lower value for log_every_n_steps if you want to see logs for the training epoch.
Epoch 0: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 12/12 [00:06<00:00, 1.83it/s, v_num=1](Running SpatialAE 0.1.0)
2024-03-08 05:31:07
(Running SpatialAE 0.1.0)
2024-03-08 05:31:07
(Running SpatialAE 0.1.0)
2024-03-08 05:31:08
(Running SpatialAE 0.1.0)
2024-03-08 05:31:08
(Running SpatialAE 0.1.0)
2024-03-08 05:31:07
(Running SpatialAE 0.1.0)
2024-03-08 05:31:08
(Running SpatialAE 0.1.0)
2024-03-08 05:31:08
(Running SpatialAE 0.1.0)
2024-03-08 05:31:08
(Running SpatialAE 0.1.0)
2024-03-08 05:31:07
(Running SpatialAE 0.1.0)
2024-03-08 05:31:08
Validation: | | 0/? [00:00<?, ?it/s][A
Validation: 0%| | 0/3 [00:00<?, ?it/s][A
Validation DataLoader 0: 0%| | 0/3 [00:00<?, ?it/s][A
Validation DataLoader 0: 33%|████████████████████████████████████████████████ | 1/3 [00:00<00:00, 69.85it/s][A
Validation DataLoader 0: 67%|███████████████████████████████████████████████████████████████████████████████████████████████▎ | 2/3 [00:00<00:00, 103.80it/s][A
Validation DataLoader 0: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 5.93it/s][A
Epoch 1: 0%| | 0/12 [00:00<?, ?it/s, v_num=1][A(Running SpatialAE 0.1.0)
2024-03-08 05:31:14
(Running SpatialAE 0.1.0)
2024-03-08 05:31:14
(Running SpatialAE 0.1.0)
2024-03-08 05:31:14
(Running SpatialAE 0.1.0)
2024-03-08 05:31:14
(Running SpatialAE 0.1.0)
2024-03-08 05:31:14
(Running SpatialAE 0.1.0)
2024-03-08 05:31:14
(Running SpatialAE 0.1.0)
2024-03-08 05:31:14
(Running SpatialAE 0.1.0)
2024-03-08 05:31:14
(Running SpatialAE 0.1.0)
2024-03-08 05:31:14
(Running SpatialAE 0.1.0)
2024-03-08 05:31:14
Epoch 1: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 12/12 [00:50<00:00, 0.24it/s, v_num=1](Running SpatialAE 0.1.0)
2024-03-08 05:31:22
(Running SpatialAE 0.1.0)
2024-03-08 05:31:22
(Running SpatialAE 0.1.0)
2024-03-08 05:31:22
(Running SpatialAE 0.1.0)
2024-03-08 05:31:22
(Running SpatialAE 0.1.0)
2024-03-08 05:31:22
(Running SpatialAE 0.1.0)
2024-03-08 05:31:22
(Running SpatialAE 0.1.0)
2024-03-08 05:31:22
(Running SpatialAE 0.1.0)
2024-03-08 05:31:22
(Running SpatialAE 0.1.0)
2024-03-08 05:31:22
(Running SpatialAE 0.1.0)
2024-03-08 05:31:22
Validation: | | 0/? [00:00<?, ?it/s][A
Validation: 0%| | 0/3 [00:00<?, ?it/s][A
Validation DataLoader 0: 0%| | 0/3 [00:00<?, ?it/s][A
Validation DataLoader 0: 33%|███████████████████████████████████████████████▋ | 1/3 [00:00<00:00, 115.52it/s][A
Validation DataLoader 0: 67%|███████████████████████████████████████████████████████████████████████████████████████████████▎ | 2/3 [00:00<00:00, 143.52it/s][A
Validation DataLoader 0: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:00<00:00, 155.79it/s][A
Epoch 1: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 12/12 [01:05<00:00, 0.18it/s, v_num=1][A
`Trainer.fit` stopped: `max_epochs=2` reached.
Epoch 1: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 12/12 [01:05<00:00, 0.18it/s, v_num=1]
(Running SpatialAE 0.1.0)
2024-03-08 05:31:38
(Running SpatialAE 0.1.0)
2024-03-08 05:31:38
(Running SpatialAE 0.1.0)
2024-03-08 05:31:38
(Running SpatialAE 0.1.0)
2024-03-08 05:31:38
(Running SpatialAE 0.1.0)
2024-03-08 05:31:38
(Running SpatialAE 0.1.0)
2024-03-08 05:31:38
(Running SpatialAE 0.1.0)
2024-03-08 05:31:38
(Running SpatialAE 0.1.0)
2024-03-08 05:31:38
(Running SpatialAE 0.1.0)
2024-03-08 05:31:38
(Running SpatialAE 0.1.0)
2024-03-08 05:31:37
(Running SpatialAE 0.1.0)
2024-03-08 05:32:28
(Running SpatialAE 0.1.0)
2024-03-08 05:32:27
(Running SpatialAE 0.1.0)
2024-03-08 05:32:28
(Running SpatialAE 0.1.0)
2024-03-08 05:32:28
(Running SpatialAE 0.1.0)
2024-03-08 05:32:28
(Running SpatialAE 0.1.0)
2024-03-08 05:32:28
(Running SpatialAE 0.1.0)
2024-03-08 05:32:28
(Running SpatialAE 0.1.0)
2024-03-08 05:32:28
(Running SpatialAE 0.1.0)
2024-03-08 05:32:28
(Running SpatialAE 0.1.0)
2024-03-08 05:32:28
input_dim = 256 # (16x16)
encoding_dim = 64
batch_size = 32
embeddingSavePath = "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/"
embeddingSaveName = "latent_embedding_DNA.csv"
ModelPath = "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/models/ln_autoencoder_DNA_validate_2_model.pth"
dataset_dir = "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/SinglePatch/DNA_6/"
multi = False
sa . datasets . extractEmbedding ( ModelPath , dataset_dir ,
embeddingSavePath ,
embeddingSaveName ,
input_dim = input_dim ,
encoding_dim = encoding_dim ,
batch_size = batch_size ,
multi = multi )
Embeddings have been written to /Users/rthuang/Documents/spatialaeExampleData/SpatialAE/latent_embedding_DNA.csv
multiple channel
dataset_dir = "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/SinglePatch/"
outModelPath = '/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/models/ln_autoencoder_multi_validate_2_model.pth'
channels = [ "DNA_6" , "ELANE" , "CD57" , 'CD45' ]
input_dim = 256
encoding_dim = 64
batch_size = 32
max_epoch_num = 2
num_workers = 10
prefetch_factor = 8
sa . aeTrainMulti ( dataset_dir , outModelPath , channels , input_dim , encoding_dim , max_epoch_num , batch_size , num_workers , prefetch_factor )
GPU available: True (mps), used: True
TPU available: False, using: 0 TPU cores
IPU available: False, using: 0 IPUs
HPU available: False, using: 0 HPUs
| Name | Type | Params
-----------------------------------------
0 | criterion | MSELoss | 0
1 | encoder | Sequential | 139 K
2 | decoder | Sequential | 140 K
-----------------------------------------
279 K Trainable params
0 Non-trainable params
279 K Total params
1.119 Total estimated model params size (MB)
Warning: '/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/SinglePatch/common_files.txt' not found. Falling back to finding common files.
Save files: '/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/SinglePatch/common_files.txt'
Train_data
Validate_data
/Users/rthuang/miniconda3/envs/spatialAE/lib/python3.10/site-packages/lightning/pytorch/loops/fit_loop.py:298: The number of training batches (3) is smaller than the logging interval Trainer(log_every_n_steps=50). Set a lower value for log_every_n_steps if you want to see logs for the training epoch.
Epoch 0: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:07<00:00, 0.38it/s, v_num=2](Running SpatialAE 0.1.0)
2024-03-08 16:38:06
(Running SpatialAE 0.1.0)
2024-03-08 16:38:06
(Running SpatialAE 0.1.0)
2024-03-08 16:38:06
(Running SpatialAE 0.1.0)
2024-03-08 16:38:06
(Running SpatialAE 0.1.0)
2024-03-08 16:38:06
(Running SpatialAE 0.1.0)
2024-03-08 16:38:06
(Running SpatialAE 0.1.0)
2024-03-08 16:38:06
(Running SpatialAE 0.1.0)
2024-03-08 16:38:06
(Running SpatialAE 0.1.0)
2024-03-08 16:38:06
(Running SpatialAE 0.1.0)
2024-03-08 16:38:06
Validation: | | 0/? [00:00<?, ?it/s][A
Validation: 0%| | 0/1 [00:00<?, ?it/s][A
Validation DataLoader 0: 0%| | 0/1 [00:00<?, ?it/s][A
Validation DataLoader 0: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 65.49it/s][A
Epoch 1: 0%| | 0/3 [00:00<?, ?it/s, v_num=2][A(Running SpatialAE 0.1.0)
2024-03-08 16:38:12
(Running SpatialAE 0.1.0)
2024-03-08 16:38:12
(Running SpatialAE 0.1.0)
2024-03-08 16:38:12
(Running SpatialAE 0.1.0)
2024-03-08 16:38:12
(Running SpatialAE 0.1.0)
2024-03-08 16:38:12
(Running SpatialAE 0.1.0)
2024-03-08 16:38:12
(Running SpatialAE 0.1.0)
2024-03-08 16:38:12
(Running SpatialAE 0.1.0)
2024-03-08 16:38:12
(Running SpatialAE 0.1.0)
2024-03-08 16:38:12
(Running SpatialAE 0.1.0)
2024-03-08 16:38:12
Epoch 1: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:15<00:00, 0.20it/s, v_num=2](Running SpatialAE 0.1.0)
2024-03-08 16:38:22
(Running SpatialAE 0.1.0)
2024-03-08 16:38:21
(Running SpatialAE 0.1.0)
2024-03-08 16:38:22
(Running SpatialAE 0.1.0)
2024-03-08 16:38:22
(Running SpatialAE 0.1.0)
2024-03-08 16:38:22
(Running SpatialAE 0.1.0)
2024-03-08 16:38:22
(Running SpatialAE 0.1.0)
2024-03-08 16:38:22
(Running SpatialAE 0.1.0)
2024-03-08 16:38:22
(Running SpatialAE 0.1.0)
2024-03-08 16:38:22
(Running SpatialAE 0.1.0)
2024-03-08 16:38:22
Validation: | | 0/? [00:00<?, ?it/s][A
Validation: 0%| | 0/1 [00:00<?, ?it/s][A
Validation DataLoader 0: 0%| | 0/1 [00:00<?, ?it/s][A
Validation DataLoader 0: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 154.59it/s][A
Epoch 1: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:22<00:00, 0.14it/s, v_num=2][A
`Trainer.fit` stopped: `max_epochs=2` reached.
Epoch 1: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:22<00:00, 0.14it/s, v_num=2]
(Running SpatialAE 0.1.0)
2024-03-08 16:38:28
(Running SpatialAE 0.1.0)
2024-03-08 16:38:28
(Running SpatialAE 0.1.0)
2024-03-08 16:38:29
(Running SpatialAE 0.1.0)
2024-03-08 16:38:28
(Running SpatialAE 0.1.0)
2024-03-08 16:38:29
(Running SpatialAE 0.1.0)
2024-03-08 16:38:29
(Running SpatialAE 0.1.0)
2024-03-08 16:38:29
(Running SpatialAE 0.1.0)
2024-03-08 16:38:29
(Running SpatialAE 0.1.0)
2024-03-08 16:38:29
(Running SpatialAE 0.1.0)
2024-03-08 16:38:29
(Running SpatialAE 0.1.0)
2024-03-08 16:38:44
(Running SpatialAE 0.1.0)
2024-03-08 16:38:43
(Running SpatialAE 0.1.0)
2024-03-08 16:38:44
(Running SpatialAE 0.1.0)
2024-03-08 16:38:44
(Running SpatialAE 0.1.0)
2024-03-08 16:38:44
(Running SpatialAE 0.1.0)
2024-03-08 16:38:44
(Running SpatialAE 0.1.0)
2024-03-08 16:38:44
(Running SpatialAE 0.1.0)
2024-03-08 16:38:44
(Running SpatialAE 0.1.0)
2024-03-08 16:38:44
(Running SpatialAE 0.1.0)
2024-03-08 16:38:44
input_dim = 256 # (16x16)
encoding_dim = 64
batch_size = 32
embeddingSavePath = "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/"
embeddingSaveName = "latent_embedding_multi.csv"
ModelPath = "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/models/ln_autoencoder_multi_validate_2_model.pth"
dataset_dir = "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/SinglePatch/"
multi = True
channels = [ "DNA_6" , "ELANE" , "CD57" , 'CD45' ]
sa . datasets . extractEmbedding ( ModelPath , dataset_dir ,
embeddingSavePath ,
embeddingSaveName ,
input_dim = input_dim ,
encoding_dim = encoding_dim ,
batch_size = batch_size ,
multi = multi ,
channels = channels )
Embeddings have been written to /Users/rthuang/Documents/spatialaeExampleData/SpatialAE/latent_embedding_multi.csv
Visualization
# One channel visualization[DNA1]
multi = False
ModelPath = "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/models/ln_autoencoder_DNA_validate_2_model.pth"
dataset_dir = "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/SinglePatch/DNA_6/"
batch_size = 8
# adata = sc.read(adataPath)
# select_int_list = adata.obs[adata.obs["leiden0.4"] == "4"]["cell"].values.tolist()
# select_str_list = [str(i) for i in select_int_list]
import pandas as pd
embedding = pd . read_csv ( "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/latent_embedding_DNA.csv" , index_col = 0 )
select_int_list = embedding . index . values . tolist ()
select_str_list = [ str ( i ) for i in select_int_list ]
iterNum = 1
sa . visualizeImages ( ModelPath ,
dataset_dir ,
searchStrList = select_str_list ,
input_dim = 256 ,
encoding_dim = 64 ,
batch_size = batch_size ,
imageViewSize = 16 ,
iterNum = iterNum )
iterNum = 2
sa . visualizeImages ( ModelPath ,
dataset_dir ,
searchStrList = select_str_list ,
input_dim = 256 ,
encoding_dim = 64 ,
batch_size = batch_size ,
imageViewSize = 16 ,
iterNum = iterNum )
# Multichannels visualization
multi = True
ModelPath = "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/models/ln_autoencoder_multi_validate_2_model.pth"
dataset_dir = "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/SinglePatch/"
batch_size = 6
# adata = sc.read(adataPath)
# select_int_list = adata.obs[adata.obs["leiden0.4"] == "4"]["cell"].values.tolist()
# select_str_list = [str(i) for i in select_int_list]
import pandas as pd
cellidx = pd . read_csv ( "/Users/rthuang/Documents/spatialaeExampleData/SpatialAE/SinglePatch/common_files.txt" , header = None )
select_int_list = cellidx [ 0 ] . str . split ( "_" ) . str [ 2 ] . str . split ( "." ) . str [ 0 ] . tolist ()
select_str_list = [ str ( i ) for i in select_int_list ]
channels = [ "DNA_6" , "ELANE" , "CD57" , 'CD45' ]
iterNum = 1
sa . visualizeImages ( ModelPath ,
dataset_dir ,
searchStrList = select_str_list ,
input_dim = 256 ,
encoding_dim = 64 ,
batch_size = batch_size ,
imageViewSize = 16 ,
iterNum = iterNum ,
multi = multi ,
channels = channels )
iterNum = 2
sa . visualizeImages ( ModelPath ,
dataset_dir ,
searchStrList = select_str_list ,
input_dim = 256 ,
encoding_dim = 64 ,
batch_size = batch_size ,
imageViewSize = 16 ,
iterNum = iterNum ,
multi = multi ,
channels = channels )