pub mod core;
pub mod render;
pub mod widget;
pub use crate::core::backend::{
Backend, CurveColor, CurveSpec, ImagePixelsSpec, ImageSpec, ItemHandle, MarkerSpec, PickResult,
ShapeSpec, TriangleSpec,
};
pub use crate::core::colormap::{
AutoscaleMode, Colormap, ColormapName, DEFAULT_PERCENTILES, Normalization,
};
pub use crate::core::decimate::min_max_decimate;
pub use crate::core::dtime_ticks::{
DateTime, DtUnit, best_unit, calc_ticks, calc_ticks_adaptive, format_tick, format_ticks,
};
pub use crate::core::fitting::{
DEFAULT_DELTACHI, DEFAULT_MAX_ITER, FitError, FitFunction, FitResult, GaussianEstimateFit,
IterativeFit, IterativeFitResult, LOG2, LeastSqResult, LinearFit, PeakModel, estimate_gaussian,
estimate_gaussian_area, estimate_height_position_fwhm, estimate_lorentzian,
estimate_pseudo_voigt, fit_in_range, fwhm_to_sigma_factor, gaussian_area_model, gaussian_model,
invert_matrix, leastsq, lorentzian_model, pseudo_voigt_model,
};
pub use crate::core::items::{Baseline, ErrorBars, LineStyle, ScalarMask, Symbol};
pub use crate::core::marker::{
DEFAULT_MARKER_SIZE, Marker, MarkerConstraint, MarkerKind, MarkerSymbol, TextAnchor,
apply_constraint,
};
pub use crate::core::plot::{
AxisConstraints, DataMargins, DataRange, DirtyState, GraphGrid, Plot, PlotId, TickMode,
resolved_axis_label,
};
pub use crate::core::roi::{ManagedRoi, Roi, RoiEdge, RoiLineStyle};
pub use crate::core::scatter_viz::{
BinnedStatistic, BinnedStatisticFunction, GridImage, GridMajorOrder, PointsViz, RegularGrid,
Triangulation, binned_statistic, delaunay, detect_regular_grid, interpolate,
irregular_grid_image, solid_triangles,
};
pub use crate::core::shape::{Line, Shape, ShapeKind};
pub use crate::core::stats::{ComCoord, StatScope, Stats};
pub use crate::core::transform::{Axis, Margins, Scale, Transform, YAxis};
pub use crate::core::triangles::Triangles;
pub use crate::render::backend_wgpu::{
WgpuBackend, install, set_curve, set_curves, set_image, set_images, update_curve,
update_curve_at, update_image_region,
};
pub use crate::render::gpu_curve::CurveData;
pub use crate::render::gpu_image::{
AggregationMode, ImageData, ImagePixels, InterpolationMode, aggregate_blocks,
};
pub use crate::render::save::{
SaveError, SaveFormat, encode_png, encode_ppm, encode_svg, encode_tiff, rgba_to_rgb,
save_graph, save_graph_with_format,
};
pub use crate::widget::actions;
pub use crate::widget::actions::io::{SaveTarget, curve_to_csv};
pub use crate::widget::actions::mode::{mask_draw_mode, pan_mode, select_mode, zoom_mode};
pub use crate::widget::alpha_slider::{AlphaSlider, AlphaSliderOrientation};
pub use crate::widget::colorbar::{ColorBarOrientation, ColorBarWidget};
pub use crate::widget::colormap_dialog::ColormapDialog;
pub use crate::widget::complex_image_view::{ComplexImageView, ComplexMode};
pub use crate::widget::curves_roi_widget::{CurveRoiRow, CurvesRoiWidget};
pub use crate::widget::fit_widget::{
FitModelChoice, FitWidget, format_param_value_error, format_reduced_chisq,
};
pub use crate::widget::high_level::{
CompareImages, CompareMode, CurveStats, CurveStyle, HistogramAlign, ImageGeometry, ImageStats,
ImageView, ItemStats, LegendAction, LegendResponse, Plot1D, Plot2D, PlotDataError, PlotEvent,
PlotItemKind, PlotWidget, PlotWindow, PlotWithToolbarResponse, ProfileMode, ScatterPick,
ScatterView, ScatterVisualization, StackPerspective, StackView, ToolbarResponse, ValueStats,
default_dimension_label, dimension_axis_labels, histogram_edges, histogram_step_values,
horizontal_profile_values, line_profile_values, rect_profile_values, scatter_pick_pixels,
scatter_position_info, stack_frame, stack_frame_count, vertical_profile_values,
};
pub use crate::widget::image_stack::{Frame, ImageStack};
pub use crate::widget::interaction::{
CursorShape, DrawEvent, DrawInput, DrawMode, DrawParams, DrawState, FillMode, MouseButton,
PanDirection, PlotPointerEvent, PointPick, RoiDrawKind, RoiGrab, SelectionStyle,
arc_from_two_points, cursor_for_edge, cursor_for_grab, ellipse_semi_axes, hatch_lines,
image_index, nearest_point, roi_draw_mode, roi_from_draw, roi_grab_at,
};
pub use crate::widget::items_selection_dialog::{ItemsSelectionDialog, SelectableItem};
pub use crate::widget::limits_widget::LimitsWidget;
pub use crate::widget::mask_tools::{MaskTool, MaskToolsWidget, ThresholdMode};
pub use crate::widget::plot_widget::{DrawResponse, PlotInteractionMode, PlotResponse, PlotView};
pub use crate::widget::position_info::{PositionInfo, format_value};
pub use crate::widget::profile_window::ProfileWindow;
pub use crate::widget::radar_view::{
DataRect, RadarMapping, RadarResponse, RadarView, clamp_viewport, point_in_rect,
};
pub use crate::widget::roi_manager::RoiManagerWidget;
pub use crate::widget::roi_stats::{
CurveRoiCounts, RoiStats, curve_roi_counts, curve_roi_stats, image_roi_stats, roi_x_span,
};
pub use crate::widget::roi_stats_widget::{RoiStatsRow, RoiStatsWidget};
pub use crate::widget::scatter_mask::{ScatterMaskWidget, point_in_polygon};
pub use crate::widget::stats_widget::{
StatsInput, StatsWidget, UpdateMode, format_significant, format_stat,
};
pub use crate::widget::sync::SyncAxes;
pub use egui;
pub use egui_wgpu;