Troubleshooting
This page collects common issues that may occur when using theatRICS locally or when building the documentation.
Installation and startup
The command theatrics is not found
Make sure the package was installed successfully:
pip install theatrics
If you installed from source, use:
pip install -e .
Then run:
theatrics
GUI does not start
Possible reasons include:
missing Tkinter support
a broken Python environment
missing dependencies
On Linux, Tkinter may require a system package such as:
python3-tk
Import errors for scientific packages
Check that required Python packages are installed, especially:
numpyscipymatplotlibpandaslmfitscikit-imagestatsmodelstifffilepylibCZIrw
RICS export and fitting
RICS export fails on input file
Check:
file format is supported (
.czi,.tif)channel index is valid
file is not corrupted
RICS map loads but fitting fails
Common reasons:
incorrect microscope parameters
incorrect PSF size or aspect ratio
unsuitable crop factors
invalid diffusion model choice
Diffusion coefficient looks unrealistic
Check:
pixel size
dwell time
line time
PSF calibration
whether the chosen model matches the experiment
Batch RICS processing stops unexpectedly
Possible reasons:
one corrupted file in the folder
worker process crash
too many files for available memory
Check the Results & Logs tab for the traceback.
SFCS
Correlation fails or returns empty output
Check:
selected channel exists
input file contains the expected scan data
bleach correction setting is appropriate
number of CPU cores is not too large
SFCS figure is not saved
Make sure:
the input file path is valid
the output directory is writable
the analysis completed successfully
FCS fitting
Batch mode finds no files
Check the Batch file pattern.
For example, if your files are named like:
sample1_xy_intensity_trace_correlation.csv
then a suitable pattern is:
*_xy_intensity_trace_correlation.csv
If the pattern is too broad, unrelated CSV files may also be picked up.
FCS single-file fit fails
Check:
the selected CSV really contains correlation data
the expected columns are present
the tau range is valid
the model matches the data
CSV format is incompatible
The legacy fitter expects a CSV structure where:
column 0 =
taucolumn 1 =
Gcolumn 2 = count rate (read from the file)
column 3 =
sigma_G
If your export format differs, the fitter will need column-index adjustments.
Calibration parameters are missing
The Given D and Given D temp fields are only shown for models containing Cal.
If you selected a non-calibration model, this is expected behavior.
Blinking parameter naming confusion
Some legacy fitting code may use:
F_BlinkF_B
The GUI provides compatibility by mapping both names internally for blinking models.
Offset parameter is missing
The offset parameter is shown only for models whose names contain Offset.
Batch fitting makes the GUI unresponsive
This usually happens when the GUI redraws the full figure for every finished file.
Recommended behavior:
update only progress and logs during the batch
redraw the fit display only for the final file or at reduced frequency
Cancel does not stop the current file immediately
In batch fitting, cancellation typically takes effect between files.
If one file fit is already running inside curve_fit or lmfit, it may finish before the batch stops.
This is normal behavior unless explicit cancellation checks are added inside the fit routine itself.
Batch summary CSV appears in the wrong place
In recursive batch mode, the summary CSV is written once in the outer selected folder (typically inside a Results/ subfolder), while per-file outputs remain next to each individual input file.
FRAP analysis
No ROIs found
The FRAP workflow requires circular ROI annotations in the CZI metadata.
If no suitable circles are found, the file cannot be analyzed.
Less than 2 ROIs detected
At least:
one control ROI
one FRAP ROI
are required.
Pixel size is missing
If pixel size is not present in metadata and no fallback is provided:
FRAP fitting still runs
diffusion in
µm²/scannot be reporteddiffusion in
px²/frameis still available
FRAP fit fails for one ROI
This can happen if:
the ROI is too noisy
bleaching is weak
the recovery is incomplete
the diffusion bounds are too restrictive
Try:
changing the initial diffusion guess
widening D bounds
enabling or disabling imaging bleach correction
Bleach frame looks wrong
The bleach frame is detected automatically from the largest intensity drop.
This can fail if:
bleaching was weak
another ROI fluctuates strongly
the acquisition contains motion or artifacts
If needed, the detection logic would need manual override support.
Wrong control ROI is selected
The control ROI is chosen as the ROI with the smallest bleach drop.
This is usually sensible, but may fail if:
the control ROI also experiences bleaching
one FRAP ROI was only weakly bleached
the ROI annotation set is inconsistent
FRAP batch finds no files
Check the pattern, for example:
*FRAP*.czi
and ensure the selected folder contains matching files.
FRAP condition summary is missing
Condition-level summaries require a folder structure where:
condition folders contain replicate folders
replicate folders contain
*_FRAP_summary.xlsx
If that structure is missing, condition summary generation may be skipped.
Vesicle Finder
No vesicles detected
Try a different threshold method (
meanortrianglerecommended for membrane images)Check that the min/max radius range covers the actual vesicle sizes
Enable debug images to see which processing step fails
For Hough: lower the threshold fraction
Only one vesicle detected instead of several
Check
08_distance_smooth.tif— it should show one bright peak per GUVIf peaks are merged, the GUVs may be too close together
Try increasing the min distance parameter
Vesicle detection is slow
Reduce the search range
Install OpenCV for faster Hough detection:
pip install opencv-pythonThe weighted intensity method uses a focused vectorized search and should be fast for typical numbers of GUVs
Cellpose finds an arc instead of a full circle
Enable Fit circles to detected masks in the Cellpose parameters
This fits a geometric circle using least-squares and reconstructs the full GUV
Membrane straightening not available
Straightening requires vesicles with a known radius
Use Hough, weighted intensity, or Cellpose with fit circles enabled
Otsu detections do not produce radius estimates
Debug images are not saved
Ensure the Save debug images checkbox is checked before clicking Detect Vesicles
Check that the output directory next to the CZI file is writable
Pixel size missing
Enter a fallback pixel size in the Fallback pixel size field
Without pixel size, µm parameters cannot be converted to pixels and detection will fail
GUI responsiveness and background tasks
Progress bar moves but the GUI feels frozen
This often happens when the main thread performs expensive plotting or export operations too frequently.
Examples:
redrawing a Matplotlib figure after every file in a large batch
writing large outputs synchronously for every queue event
Recommended strategy:
keep fitting in worker processes
throttle display updates
update the final display only after the batch finishes
Worker terminated unexpectedly
This usually means the background process crashed.
Look at the traceback in the Results & Logs tab. Common reasons include:
invalid input data
file format mismatch
missing metadata
failed fit convergence
unhandled exceptions inside worker code
Session and export issues
Session file will not load
The JSON session file may be:
incomplete
from an older version of the GUI
manually edited and no longer valid
Plot export fails
Check:
destination directory exists
directory is writable
the relevant figure has actually been created
Log export is empty
Make sure the log contains output before saving. The Results & Logs tab only exports what is currently present in the log widget.
If problems continue
When reporting a bug, it is helpful to include:
operating system
Python version
theatRICS version
the exact error traceback
a short description of the input file type
whether the problem occurs in single-file mode or batch mode
For file-format-specific issues, it is especially useful to mention:
file extension
whether metadata is present
whether the problem happens for one file or all files