CaNA / CaNA_expanded_p150_DLCS24.sh
ft42's picture
ADDED COde and Doc
84138f9 verified
#!/bin/bash
# =====# Create output directory and set proper permissions
echo "πŸ“ Setting up output directories and permissions..."
docker exec cana_pipeline mkdir -p /app/demofolder/output
docker exec cana_pipeline mkdir -p /app/demofolder/output/CaNA_expanded_150_output
docker exec cana_pipeline chmod 777 /app/demofolder/output/CaNA_expanded_150_output
# CaNA Expanded Processing Pipeline
# Docker Container Activation
# ============================
echo "Starting CaNA (Cancer Analysis) Docker container..."
cd "$(dirname "$0")" # Go to script directory
# Remove existing container if it exists
docker rm -f cana_pipeline 2>/dev/null || true
# Start container using the PiNS medical imaging image
echo "Launching ft42/pins:latest container..."
docker run -d --name cana_pipeline \
-v "$(pwd):/app" \
-w /app \
ft42/pins:latest \
tail -f /dev/null
# Create output directory and set proper permissions
echo "Setting up output directories and permissions..."
docker exec cana_pipeline mkdir -p /app/demofolder/output/CaNA_expanded_150_output
docker exec cana_pipeline mkdir -p /app/demofolder/output/
docker exec cana_pipeline chmod 777 /app/demofolder/output/CaNA_expanded_150_output
docker exec cana_pipeline chmod 777 /app/demofolder/output/
# Install additional dependencies if needed
echo "Installing missing Python packages if needed..."
docker exec cana_pipeline pip install nibabel scikit-image > /dev/null 2>&1 || echo "⚠️ Some packages may already be installed"
echo "Docker container is running with all dependencies"
# ============================
# Run CaNA Processing Pipeline
# ============================
echo "🧠 Running CaNA (Cancer Analysis) lung nodule expansion processing..."
docker exec cana_pipeline python CaNA_LungNoduleSize_expanded.py \
--json_path ./demofolder/data/Experiments_DLCSD24_512xy_256z_771p25m_dataset.json \
--dict_to_read "training" \
--data_root ./demofolder/data/ \
--lunglesion_lbl 23 \
--scale_percent 50 \
--mode grow \
--save_dir /app/demofolder/output/CaNA_expanded_150_output \
--random_seed 42 \
--prefix Aug23e150_ \
--log_file /app/demofolder/output/CaNA_expansion_150.log
# ============================
# Cleanup and Results
# ============================
if [ $? -eq 0 ]; then
echo "βœ… CaNA processing completed successfully!"
echo "πŸ“Š Check ./demofolder/output/ directory for results:"
echo " - Processing log: CaNA_expansion_150.log"
echo " - Expanded masks: CaNA_expanded_150_output/"
echo " - File prefix: Aug23e150_"
else
echo "❌ CaNA processing failed. Check the logs above for errors."
fi
# Stop and remove container
echo " Cleaning up Docker container..."
docker stop cana_pipeline > /dev/null 2>&1
docker rm cana_pipeline > /dev/null 2>&1
echo "CaNA pipeline execution complete!"