3D cell shape analysis using geometric deep learning on point clouds
Project description
Cellshape-cloud is an easy-to-use tool to analyse the shapes of cells using deep learning and, in particular, graph-neural networks. The tool provides the ability to train popular graph-based autoencoders on point cloud data of 2D and 3D single cell masks as well as providing pre-trained networks for inference.
To install
pip install cellshape-cloud
Usage
Basic Usage
import torch
from cellshape_cloud import CloudAutoEncoder
model = CloudAutoEncoder(num_features=128,
k=20,
encoder_type="dgcnn",
decoder_type="foldingnet")
points = torch.randn(1, 2048, 3)
recon, features = model(points)
To train an autoencoder on a set of point clouds created using cellshape-helper:
import torch
from torch.utils.data import DataLoader
import cellshape_cloud as cloud
from cellshape_cloud.vendor.chamfer_distance import ChamferLoss
input_dir = "path/to/pointcloud/files/"
batch_size = 16
learning_rate = 0.0001
num_epochs = 1
output_dir = "path/to/save/output/"
model = cloud.CloudAutoEncoder(num_features=128,
k=20,
encoder_type="dgcnn",
decoder_type="foldingnet")
dataset = cloud.PointCloudDataset(input_dir)
dataloader = DataLoader(dataset, batch_size=batch_size, shuffle=True)
criterion = ChamferLoss()
optimizer = torch.optim.Adam(
model.parameters(),
lr=learning_rate * 16 / batch_size,
betas=(0.9, 0.999),
weight_decay=1e-6,
)
cloud.train(model, dataloader, num_epochs, criterion, optimizer, output_dir)
Parameters
num_features
: int.
The size of the latent space of the autoencoder.k
: int.
The number of neightbours to use in the k-nearest-neighbours graph construction.encoder_type
: str.
The type of encoder: 'foldingnet' or 'dgcnn'decoder_type
: str.
The type of decoder: 'foldingnet' or 'dgcnn'
References
[1] An Tao, 'Unsupervised Point Cloud Reconstruction for Classific Feature Learning', GitHub Repo, 2020
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cellshape-cloud-0.1.3rc0.tar.gz
(21.4 kB
view details)
Built Distribution
File details
Details for the file cellshape-cloud-0.1.3rc0.tar.gz
.
File metadata
- Download URL: cellshape-cloud-0.1.3rc0.tar.gz
- Upload date:
- Size: 21.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53cd6c461510cf2d3d5ec686d9732f3b28e6e9fc8cb582ac68ac275a9609e4b8 |
|
MD5 | 0b96ed9076ecd9f223746fdab933f036 |
|
BLAKE2b-256 | ea358d1dbbaa2d0a3c8bcf460f0de0e5120478177c1304273563c3bb4fce1937 |
File details
Details for the file cellshape_cloud-0.1.3rc0-py3-none-any.whl
.
File metadata
- Download URL: cellshape_cloud-0.1.3rc0-py3-none-any.whl
- Upload date:
- Size: 26.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03605c737da1cd43839cfcf39793f5184dc69193173fef3dac4e6e9e73cebdc7 |
|
MD5 | 44f7dfb924f93afeb79c474e49b4b848 |
|
BLAKE2b-256 | f7a6a12030f8b1b28e834df32814b3c2297c9dcdcda4f23c16c5a707140eb6af |