ROI_Item::ROI_Item (MR::Header&& src) : Volume (std::move (src)), saved (true), current_undo (-1) { type = gl::UNSIGNED_BYTE; format = gl::RED; internal_format = gl::R8; set_allowed_features (false, true, false); set_interpolate (false); set_use_transparency (true); value_min = 0.0f; value_max = 1.0f; set_windowing (0.0f, 1.0f); min_max_set(); alpha = 1.0f; colour = preset_colours[current_preset_colour++]; if (current_preset_colour >= 6) current_preset_colour = 0; transparent_intensity = 0.4f; opaque_intensity = 0.6f; colourmap = ColourMap::index ("Colour"); float spacing = std::min ( { header().spacing(0), header().spacing(1), header().spacing(2) } ); brush_size = min_brush_size = spacing; max_brush_size = 100.0f*min_brush_size; std::stringstream name; name << "ROI" << std::setfill('0') << std::setw(5) << new_roi_counter++ << ".mif"; filename = name.str(); MRView::GrabContext context; ASSERT_GL_MRVIEW_CONTEXT_IS_CURRENT; bind(); allocate(); ASSERT_GL_MRVIEW_CONTEXT_IS_CURRENT; }
ROI_Item::ROI_Item (const MR::Image::Info& src) : Volume (src), saved (true), current_undo (-1) { type = gl::UNSIGNED_BYTE; format = gl::RED; internal_format = gl::R8; set_allowed_features (false, true, false); set_interpolate (false); set_use_transparency (true); set_min_max (0.0, 1.0); set_windowing (-1.0f, 0.0f); alpha = 1.0f; colour = preset_colours[current_preset_colour++]; if (current_preset_colour >= 6) current_preset_colour = 0; transparent_intensity = 0.4f; opaque_intensity = 0.6f; colourmap = ColourMap::index ("Colour"); float voxsize = std::min (src.vox(0), std::min (src.vox(1), src.vox(2))); brush_size = min_brush_size = voxsize; max_brush_size = 100.0f*min_brush_size; std::stringstream name; name << "ROI" << std::setfill('0') << std::setw(5) << new_roi_counter++ << ".mif"; filename = name.str(); Window::GrabContext context; bind(); allocate(); }
Fixel::Fixel (const std::string& filename, Vector& fixel_tool) : Displayable (filename), filename (filename), fixel_tool (fixel_tool), header (filename), fixel_data (header), fixel_vox (fixel_data), header_transform (fixel_vox), colourbar_position_index (4), slice_fixel_indices (3), slice_fixel_sizes (3), slice_fixel_counts (3), line_length_multiplier (1.0), scale_line_length_by_value (false), color_type (Value), show_colour_bar (true) { set_allowed_features (true, true, false); colourmap = 1; alpha = 1.0f; set_use_transparency (true); colour[0] = colour[1] = colour[2] = 1; line_length = 0.45 * static_cast<float>(fixel_vox.vox(0) + fixel_vox.vox(1) + fixel_vox.vox(2)) / 3.0; value_min = std::numeric_limits<float>::infinity(); value_max = -std::numeric_limits<float>::infinity(); load_image(); }
NodeOverlay::NodeOverlay (MR::Header&& H) : MR::GUI::MRView::ImageBase (std::move (H)), data (MR::Image<float>::scratch (header(), "node overlay scratch image")), need_update (true) { tex_positions.assign (3, -1); set_interpolate (false); set_colourmap (5); value_min = 0.0f; value_max = 1.0f; min_max_set (); set_allowed_features (true, true, true); set_use_discard_lower (true); set_use_discard_upper (false); set_use_transparency (true); set_invert_scale (false); set_interpolate (false); transparent_intensity = opaque_intensity = lessthan = std::numeric_limits<float>::min(); alpha = 1.0f; type = gl::FLOAT; format = gl::RGBA; internal_format = gl::RGBA32F; }
AbstractFixel::AbstractFixel (const std::string& filename, Vector& fixel_tool) : Displayable (filename), filename (filename), header (filename), slice_fixel_indices (3), slice_fixel_sizes (3), slice_fixel_counts (3), fixel_tool (fixel_tool), voxel_size_length_multipler (1.f), user_line_length_multiplier (1.f), line_thickness (0.0015f), length_type (Unity), colour_type (CValue) { set_allowed_features (true, true, false); colourmap = 1; alpha = 1.0f; set_use_transparency (true); colour[0] = colour[1] = colour[2] = 1; value_min = std::numeric_limits<float>::infinity(); value_max = -std::numeric_limits<float>::infinity(); voxel_size_length_multipler = 0.45 * (header.vox(0) + header.vox(1) + header.vox(2)) / 3; }