All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.celldynamics.quimp.plugin.protanalysis.ProtAnalysisOptions Maven / Gradle / Ivy

Go to download

QuimP software, a set of plugins for ImageJ to quantify spatio-temporal patterns of fluorescently labeled proteins in the cortex of moving cells.

The newest version!
package com.github.celldynamics.quimp.plugin.protanalysis;

import java.awt.Color;

import org.apache.commons.lang3.mutable.MutableBoolean;
import org.apache.commons.lang3.mutable.MutableInt;
import org.scijava.vecmath.Point2d;

import com.github.celldynamics.quimp.filesystem.IQuimpSerialize;
import com.github.celldynamics.quimp.plugin.AbstractPluginOptions;
import com.github.celldynamics.quimp.plugin.qanalysis.STmap;

/**
 * Hold all configuration for Protrusion Analysis Module.
 * 
 * @author p.baniukiewicz
 *
 */
public class ProtAnalysisOptions extends AbstractPluginOptions implements IQuimpSerialize {

  /**
   * Color of selected point on the outline when hoover the mouse.
   */
  public static Color pointColor = Color.CYAN; // box color
  /**
   * Color of selected point.
   */
  public static Color staticPointColor = Color.YELLOW; // box color
  /**
   * Size of the point when selected.
   */
  public static int staticPointSize = 20;
  /**
   * Size of the point when hoover.
   */
  public static int pointSize = 10; // box size
  /**
   * Prefix added to Roi in ROI Manager.
   */
  public static final String roiPrefix = "pa_cell_";
  /**
   * Radius of circles plotted by tool.
   */
  public double circleRadius = 10;
  /**
   * Vale for static plot.
   * 
   * @see #plotStaticDynamic
   */
  public static final int PLOT_STATIC = 0;
  /**
   * Vale for dynamic plot.
   * 
   * @see #plotStaticDynamic
   */
  public static final int PLOT_DYNAMIC = 1;
  /**
   * Channel for tables.
   */
  public static final int CH1 = 0;
  /**
   * Channel for tables.
   */
  public static final int CH2 = 1;
  /**
   * Channel for tables.
   */
  public static final int CH3 = 2;
  /**
   * Whether to show tracks in new plot or in embedded in GUI. VisualTracking UI Option.
   */
  public MutableBoolean chbNewImage = new MutableBoolean(true);
  /**
   * Whether to flatten static track. VisualTracking UI Option.
   */
  public MutableBoolean chbFlattenStaticTrackImage = new MutableBoolean(false);
  /**
   * Plot dynamic or static plots. VisualTracking UI Option.
   * 
   * 

0 - static, 1 - dynamic * * @see #PLOT_DYNAMIC * @see #PLOT_STATIC */ public MutableInt plotStaticDynamic = new MutableInt(PLOT_STATIC); /** * Apply track smoothing. VisualTracking UI Option. */ public MutableBoolean chbSmoothTracks = new MutableBoolean(false); /** * Show tracked point on dynamic track. VisualTracking UI Option. */ public MutableBoolean chbShowPoint = new MutableBoolean(true); /** * Show track on dynamic track. VisualTracking UI Option. */ public MutableBoolean chbShowTrack = new MutableBoolean(true); /** * Show tracks on motility map. VisualTracking UI Option. */ public MutableBoolean chbShowTrackMotility = new MutableBoolean(true); /** * Cell used for generating plots. VisualTracking UI Option. */ public MutableInt selActiveCellPlot = new MutableInt(0); /** * Cell used for generating maps. VisualTracking UI Option. */ public MutableInt selActiveCellMap = new MutableInt(0); /** * Active channel for plotting maps. VisualTracking UI Option. */ public MutableInt selActiveChannel = new MutableInt(CH1); /** * Plot map. VisualTracking UI Option. */ public MutableBoolean chbXcentrPlot = new MutableBoolean(false); /** * Plot map. VisualTracking UI Option. */ public MutableBoolean chbYcentrPlot = new MutableBoolean(false); /** * Plot map. VisualTracking UI Option. */ public MutableBoolean chbDisplPlot = new MutableBoolean(false); /** * Plot map. VisualTracking UI Option. */ public MutableBoolean chbDistPlot = new MutableBoolean(false); /** * Plot map. VisualTracking UI Option. */ public MutableBoolean chbPersistencePlot = new MutableBoolean(false); /** * Plot map. VisualTracking UI Option. */ public MutableBoolean chbSpeedPlot = new MutableBoolean(false); /** * Plot map. VisualTracking UI Option. */ public MutableBoolean chbPerimPlot = new MutableBoolean(false); /** * Plot map. VisualTracking UI Option. */ public MutableBoolean chbElongPlot = new MutableBoolean(false); /** * Plot map. VisualTracking UI Option. */ public MutableBoolean chbCircPlot = new MutableBoolean(false); /** * Plot map. VisualTracking UI Option. */ public MutableBoolean chbAreaPlot = new MutableBoolean(false); /** * Plot 2D. VisualTracking UI Option. */ public MutableBoolean chbTotFluPlot = new MutableBoolean(false); /** * Plot 2D. VisualTracking UI Option. */ public MutableBoolean chbMeanFluPlot = new MutableBoolean(false); /** * Plot 2D. VisualTracking UI Option. */ public MutableBoolean chbCortexWidthPlot = new MutableBoolean(false); /** * Plot 2D. VisualTracking UI Option. */ public MutableBoolean chbCytoAreaPlot = new MutableBoolean(false); /** * Plot 2D. VisualTracking UI Option. */ public MutableBoolean chbTotalCytoPlot = new MutableBoolean(false); /** * Plot 2D. VisualTracking UI Option. */ public MutableBoolean chbMeanCtfPlot = new MutableBoolean(false); /** * Plot 2D. VisualTracking UI Option. */ public MutableBoolean chbMeanCytoPlot = new MutableBoolean(false); /** * Plot 2D. VisualTracking UI Option. */ public MutableBoolean chbCortexAreaPlot = new MutableBoolean(false); /** * Plot 2D. VisualTracking UI Option. */ public MutableBoolean chbTotalCtf2Plot = new MutableBoolean(false); /** * Plot 2D. VisualTracking UI Option. */ public MutableBoolean chbManCtfPlot = new MutableBoolean(false); /** * Hold configuration for plotting outlines of cells on stack of images. * * @see ActionTrackPoints */ public OutlinesToImage selOutlineColoring = new OutlinesToImage(); /** * Gradient point for polar plot. */ public Point2d gradientPoint = new Point2d(0, 0); /** * Indicate that pick point mode is on. * * @see CustomCanvas#mouseClicked(java.awt.event.MouseEvent) */ public MutableBoolean bnGradientPickActive = new MutableBoolean(false); /** * Save tracks to csv file. * *

Currently not available from UI. Maps are saved always under fixed name. * * @see ActionTrackPoints */ public MutableBoolean saveTracks = new MutableBoolean(true); /** * Sensitivity of maximum detection. */ public double noiseTolerance = 1.5; /** * Percentage of drop from maximum of motility map to consider point in tracking line. */ public double dropValue = 1; /** * Plot types supported by * {@link TrackVisualisation.Stack#addOutlinesToImage(STmap, ProtAnalysisOptions)}. *

    *
  1. MOTILITY - only motility based outline. *
  2. CONVEXITY - only convexity based outline. *
  3. CONVANDEXP - parts that are convex and expanding. *
  4. CONCANDRETR - parts that are concave and retracting. *
  5. BOTH - combines CONVANDEXP and CONCANDRETR *
* * @author p.baniukiewicz * */ public enum OutlinePlotTypes { /** * Just pure outline. */ UNIFORM, /** * The motility only. */ MOTILITY, /** * The convexity only. */ CONVEXITY, /** * Convex and expanding parts. */ CONVANDEXP, /** * Concave and retracting parts. */ CONCANDRETR, /** * CONCANDRETR + CONVANDEXP. */ BOTH } /** * Types of gradient points. *
    *
  1. SCREENPOINT - any point clicked on image. Given as {x,y} coordinates *
  2. OUTLINEPOINT - point on outline. Given as number of this point on perimeter. *
  3. .... *
* * @author p.baniukiewicz * */ public enum GradientType { /** * Left bottom corner. */ LB_CORNER, /** * Left upper corner. */ LU_CORNER, /** * Right bottom corner. */ RB_CORNER, /** * Right upper corner. */ RU_CORNER } /** * Configuration of plotting outlines of cells on stack of images. * * @author p.baniukiewicz * @see TrackVisualisation.Stack#addOutlinesToImage(STmap,ProtAnalysisOptions) */ class OutlinesToImage implements IEnumDataType { /** * Default color of motility outline. */ public Color motColor = Color.BLUE; /** * Default color of convexity outline. */ public Color convColor = Color.RED; /** * Default color of outline. */ public Color defColor = Color.GRAY; /** * Threshold above to which plot motility on outline. */ public double motThreshold; /** * Threshold above to which plot convexity on outline. */ public double convThreshold; /** * Define type of plot of outline. */ public OutlinePlotTypes plotType; /** * Set default values. */ public OutlinesToImage() { motThreshold = 0; convThreshold = 0; plotType = OutlinePlotTypes.UNIFORM; } @Override public void setCurrent(Enum val) { plotType = (OutlinePlotTypes) val; } } /** * Base Interface used by {@link ActionUpdateOptionsEnum}. * *

Every filed that uses Enum should implement this. * * @author p.baniukiewicz * */ interface IEnumDataType { public void setCurrent(Enum val); } /** * Instantiates a new prot analysis config. */ public ProtAnalysisOptions() { } @Override public void beforeSerialize() { } @Override public void afterSerialize() throws Exception { } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy