General
What does coralct actually do?
The main feature of the application is that it automatically quantifies coral linear extension, density, and calcification rates in 3 dimensions. Users "map" coral density bands on 2-dimensional slices that together form 3-dimensional surfaces. CoralCT does the rest. The other key aspect of the application is that it is linked to a virtual core repository ("Coral Cache"), enabling anyone to access the CT scans, work on them, contribute to a global compilation of coral growth rates over recent decades and centuries, and access the growth rate data from other observers.
What are CT scans?
Computed tomography (CT) scans are essentially like X-rays, but in three dimensions instead of two. Just like an X-ray, a CT scanner exposes the sample/patient to radiation and measures the attenuation of the radiation to produce an image of relative density between the radiation source and the detector. However, a CT scanner takes a series of these images while rotating the radiation source and detector around the sample/patient. In other words, a CT scan starts as a whole lot of X-rays taken from slightly different angles. Computer software then takes these multiple attenuation images and reconstructs the 3-dimensional distribution of density within the sample/patient, and that's what forms a CT scan!
What are Coral Cores?
Coral skeletal cores are like biopsies collected from massive, long-lived corals. Only a thin veneer of living tissue covers coral colonies, and everything interior to that is the previously-formed skeleton. Cores are drilled from colonies by SCUBA divers with an underwater pneumatic drill. Only a relatively small area of the living surface is sacrificed to collect the cores, and colonies typically recover within 1-2 years. Once collected, the cores contain annual density bands that are visible after CT scanning.
What sources of funding support coralCT?
Currently, CoralCT is primarily supported by the U.S. National Science Foundation (award OCE-2236852).
Are the data backed up?
Yes! All data are automatically saved on a cloud server and backed up on local drives.
Getting started
Why do I need to register a username?
A key aspect of CoralCT is enabling multi-observer analysis of coral cores. This is essential for quantifying the repeatability of growth-rate analyses, and reducing errors in banding interpretation. To accomplish this, we need to keep track of which observers generated which datasets. Tracking observers will allow us to run statistical tests that quantify inter-user agreement and to test for biases of individual observers. It's not a competition, we just need to do appropriate statistics to improve the science of coral core analysis!
What is the Local (or "Working") Directory?
CoralCT will need to save a few different files from our server onto your computer. These include CT scans, X-ray images, metadata for all the coral cores, and any datasets you download. The Local Directory that you choose on the first CoralCT window defines where these files will be saved.
what are the system requirements?
CoralCT can run on Mac or Windows. We recommend using a Mac with an Apple Silicon chip or Windows 11. CoralCT may not display properly on screens with insufficient numbers of pixels (typically, 13" or greater screens are needed for laptops, but larger monitors are suggested). You must have sufficient storage space to download CT scans (typically several GB are needed), and you must have sufficient RAM capacity (memory) for the app to work well without substantial lag (8GB is minimum requirement, 16GB or greater is suggested).
Having trouble getting your confirmation code to register?
Occasionally, our automated email system goes down. Please wait a few minutes and try again, and if it is still not working you can email us at [email protected] and we will get back to you as quickly as possible.
Advanced use
Why Would I use the "Save CT Data on local drive" option?
Normally, any CT scans or X-rays that you download are saved in your local working directory / my_corals / current_scan, and when you choose a different core to download, the previous one is saved over locally on your computer (though, all your work is saved on the server). The "Save CT data to local drive" option means that the CT scan or X-ray is saved in your local working directory / my_corals / {core name}, meaning each core is saved in its own folder. When you switch to a different core, the previous core image data are not overwritten. The advantage of this is simply that you can open any previous core you have worked on without waiting for those image data to download from the server — you do this by using the "Open saved scan" button. The downside of using this approach is that many of the CT scans are large files (>1 GB) and saving lots of them locally on your computer will take up storage space. In summary, the advantage is simply reduced time waiting to re-download cores you worked on previously but at the cost of filling up your hard drive space.
Why are some datasets locked?
Data submitters may choose to lock access to the output growth rate data for particular cores. Researchers may be depending on certain novel datasets for a publication that is in prep, for example. While our goal is to make sclerochronology as open-access as possible, enabling users to lock their unpublished datasets is important for making CoralCT a feasible tool for all users. The expectation is that once those data are published in a peer-reviewed journal article, the datasets will become unlocked on CoralCT.
What is the difference between "smoothed bands" and "Interpolated clicks"?
The default display of bands is as interpolated clicks (shown in yellow). This represents a 3-dimensional surface drawn as an interpolation between all of your clicks for a particular band, and displayed where that surface intersects the current 2-dimensional slice location. Because this interpolation is rounded to the nearest whole-number voxel, the interpolated clicks may appear jagged for relatively low-resolution scans.
The smoothed bands (shown in orange) represents a filtered (i.e. smoothed) version of the 3-dimensional surface defined by your clicks for a particular band. The smoothing process removes the jaggedness of the interpolated clicks and reduces small-scale structure in the surface due to minor variability in the precise locations of observers' clicks. This is important because when corallites are simulated (see "How is extension calculated?" below), the smoothed surface will help prevent anomalous angles in the corallites.
Ultimately, the smoothed are what matters for the processing of growth rates. So, if you are deciding whether your clicks properly track a particular density band, switch to "show smoothed bands" and interpret the orange lines rather than worrying about any jaggedness of slight bumps in the yellow interpolated bands.
The smoothed bands (shown in orange) represents a filtered (i.e. smoothed) version of the 3-dimensional surface defined by your clicks for a particular band. The smoothing process removes the jaggedness of the interpolated clicks and reduces small-scale structure in the surface due to minor variability in the precise locations of observers' clicks. This is important because when corallites are simulated (see "How is extension calculated?" below), the smoothed surface will help prevent anomalous angles in the corallites.
Ultimately, the smoothed are what matters for the processing of growth rates. So, if you are deciding whether your clicks properly track a particular density band, switch to "show smoothed bands" and interpret the orange lines rather than worrying about any jaggedness of slight bumps in the yellow interpolated bands.
Understanding the data
How do i access growth rate data?
Open CoralCT and after logging in, click on the "Access Data" button. You can then use the dropdown menus to navigate to a particular core, or you can download all the core data from a particular region or subregion. After clicking to download the dataset(s), on your computer navigate to your working directory / my_corals / datasets
How is density calculated?
Density in CT scans is determined from attenuation of the X-ray beams that pass through the sample. In CT scans, attenuation is represented as "Hounsfield Units" (HU), which nominally have values of -1000 for air and 0 for water. The aragonite crystals of coral cores depart from the typical HU scale that is intended for application to soft tissues. Thus, a separate calibration has been developed for coral cores (see supplement of DeCarlo et al., 2015). This calibration (which is the default in CoralCT) seems applicable to most cores and most CT scanners, but we encourage testing it on your own cores. A simple way to test this is to submit a few scans of entire cores for which you can also measure the mass of the entire core. In CoralCT output files, the whole-core volume and whole-core density are given, from which you can easily calculate the expected whole-core mass and compare to your independently measured mass. If you develop your own density calibration, this can be entered into the metadata file and density for those cores will be calculated with the provided calibration equation.
Density between bands (i.e. annual density) in CoralCT is determined simply by locating all voxels (3-dimensional pixels) in the scan that are within a volume defined by the top and bottom user-defined bands for that year. The HU of all these voxels are averaged and then converted to density (grams per cubic cm) with the calibration equation described above.
Density between bands (i.e. annual density) in CoralCT is determined simply by locating all voxels (3-dimensional pixels) in the scan that are within a volume defined by the top and bottom user-defined bands for that year. The HU of all these voxels are averaged and then converted to density (grams per cubic cm) with the calibration equation described above.
How is extension calculated?
Extension is calculated as the linear distance from one user-defined band to the next. This is accomplished by the app "drawing" a line orthogonal to the surface defining the bottom band and continuing that line until it reaches the upper band. Corallites (the tubes built by each coral polyp) are oriented orthogonal to annual density bands, so this approach simulates the growth architecture of corals. To help remove anomalies (e.g. simulated corallites that may be drawn too horizontal due to small-scale variability in the bottom band), the shortest 5% and longest 5% of simulated corallites are excluded. An additional step to help reduce anomalies is that the user-defined bands are smoothed prior to simulating corallites. CoralCT simulates 5000 corallites, excludes 10% of these, and calculates linear extension as the average of the remaining 90%. This is repeated for each band pair. The animation that plays on the CoralCT homepage (and while processing growth) shows the corallite simulation in 3-D.
How is calcification calculated?
Calcification is simply the product of linear extension and density. Since linear extension has units of cm per year, and density has units of grams per cubic cm, calcification has units of grams per square cm per year.
How are the uncertainties of extension and calcification calculated?
Uncertainty of linear extension is calculated as the standard deviation of the simulated corallites retained in the extension calculation (see "How is extension calculated?" above). This uncertainty is propagated through the calculation of calcification. We do not have a way to estimate any non-systematic uncertainties of density, so the only contribution to uncertainty of calcification is the uncertainty of extension.
Why is there no estimate of uncertainty for Density?
There is not currently a good way to estimate errors in CT scanners within scans. These errors are probably very small given the reproducibility of CT scans HU (in our work and shown throughout medical fields). We could estimate uncertainty of the HU-to-density calibration, but this is a systematic error that applies to all years and all cores, and is therefore not meaningful in terms of uncertainty of density changes over time within cores.
Error messages and how to resolve them
error code 001 / 004
Either your connection to the server was disrupted or the core you are trying to load is no longer listed in the metadata file. First, quit and then re-open CoralCT, and try using the "Open last scan" (error 001) or "Open saved scan" (error 004) button again. If the problem still persists, quit and then re-open CoralCT but instead of using "Open last scan" or "Open saved scan", use the dropdown menus to choose the core you were working on and then "Open CT scan" or "Open 2D X-ray".
Error Code 002 / 003 / 007 / 008
Something is wrong with the data you previously downloaded. Quit and then re-open CoralCT but instead of using "Open last scan" or "Open saved scan", use the dropdown menus to choose the core you were working on and then "Open CT scan" or "Open 2D X-ray".
ERROR CODE 005
Something is going wrong in downloading the CT scan or X-ray data. Check your internet connection, then quit and re-open CoralCT and try opening the core again. If that still does not work, check that you have sufficient storage space (several GB) available on your hard drive. This error may also arise if you set your working directory in a folder that is connected to cloud storage.
There is currently a limit of 3 active connections to the virtual repository (server) per IP address. Exceeding this limit will also result in an error code 005. If CoralCT was recently used and did not quit properly, there can be remnant active connections to the server. Restarting your computer will help resolve this.
There is currently a limit of 3 active connections to the virtual repository (server) per IP address. Exceeding this limit will also result in an error code 005. If CoralCT was recently used and did not quit properly, there can be remnant active connections to the server. Restarting your computer will help resolve this.
ERROR CODE 006
Your internet or connection to the server was disrupted while working on your core. This means that your work has been saved locally on your computer but not on the server. To avoid loosing your work, you must quit and re-open CoralCT and then use either "Open last scan" or "Open saved scan" (if you had selected the "save CT data on your drive" option). All of your previous work on bands should open. You can now either click "Save and exit", which will ensure your work is saved on the server, or you can try to "Process growth" again. Importantly, if you get a 006 error and do not go through these steps to save your work to the server, and then you choose a different core to open, you will loose your work on the core for which you got the 006 error.
Error code 009 / 010
Something is going wrong with loading the CT dataset into the app. The most common reason for this error is insufficient RAM capacity on your computer. It may help to shut down your computer, turn it back on, and try again with as few other applications running as possible. If you still get a 009 error, then your computer likely cannot handle this core. You can choose a different (smaller file size) core to work on, or use a different computer with more RAM capacity.
Occasionally, this error can arise if the downloaded dataset becomes corrupted. You can try either (i) setting a different local working directory, or (ii) going in to your local working directory and deleting the "current_scan" folder within "my_corals" and then trying again to open your chosen core in the CoralCT app.
Occasionally, this error can arise if the downloaded dataset becomes corrupted. You can try either (i) setting a different local working directory, or (ii) going in to your local working directory and deleting the "current_scan" folder within "my_corals" and then trying again to open your chosen core in the CoralCT app.
Error code 011 / 012 / 013 / 014 / 015 / 016 / 017 / 018
Your internet or connection to the server was disrupted before processing the core was completed. Your band-identification work should already be saved on the server, and you just need to quit and re-open CoralCT, then use either "Open last scan" or "Open saved scan" (if you had selected the "save CT data on your drive" option) to re-open the core and try "Process growth" again.
Error code 019
Something is preventing the core and/or your previously-defined bands to display. Most commonly, this means there is an error in the bands that have been defined. If you have not put too much effort into defining the bands that you are ok to loose your work on them, you can go in to your local working directory / my_corals / current_scan / dicoms and you will find a .mat file with your username and the core name as the filename. You can delete this file, and then re-open CoralCT and use "Open last scan". If this does not work, or if you want to try to salvage any previous work, please email us at [email protected]
ERROR CODE 020 / 021 / 022
Your internet or connection to the server was disrupted. Quit and re-open CoralCT to try again.
ERROR CODE 023
Something is wrong with your band identifications. Potential issues might be:
(1) two bands cross each other — this should never occur so at least one band must be edited
(2) Bands are out of order — your bands must be continuous beginning with 1 at the top of the core and increasing toward the bottom of the core
(3) Missing bands — your bands must be continuous, as in no numbers can be skipped
(1) two bands cross each other — this should never occur so at least one band must be edited
(2) Bands are out of order — your bands must be continuous beginning with 1 at the top of the core and increasing toward the bottom of the core
(3) Missing bands — your bands must be continuous, as in no numbers can be skipped
"Could not access the MATLAB Runtime component cache"
Something has been corrupted in your MATLAB Runtime cache. You may be able to follow the instructions provided in the Answers here: https://www.mathworks.com/matlabcentral/answers/33638-could-not-access-the-mcr-component-cache-error. If that does not work, delete the entire MATLAB Runtime application (and on Windows, delete it's folder in your Program Files). You can then re-install MATLAB Runtime: on Mac, follow the link provided on the www.coralct.com page; on Windows, you could delete and re-install CoralCT and this should re-install MATLAB Runtime as well.
"Cannot Connect To Coral Cache Server" at startup screen
Either your internet connection is down or there are too many simultaneous server connections. Our current server has a limit of 3 connections per IP address. If you have opened and closed CoralCT several times, or if there are other people using CoralCT on the same IP address, you may get this message. You can either make sure your connections are closed (including by restarting your computer), wait for other users to quit CoralCT, or use a VPN to connect with a different IP address. We have successfully use the free Google Chrome VPN to solve this problem.