void mitk::pa::VolumeManipulator::RescaleImage(InSilicoTissueVolume::Pointer image, double ratio) { MITK_INFO << "Rescaling images.."; double sigma = image->GetSpacing() / (ratio * 2); image->SetAbsorptionVolume(RescaleImage(image->GetAbsorptionVolume(), ratio, sigma)); image->SetScatteringVolume(RescaleImage(image->GetScatteringVolume(), ratio, sigma)); image->SetAnisotropyVolume(RescaleImage(image->GetAnisotropyVolume(), ratio, sigma)); image->SetSegmentationVolume(RescaleImage(image->GetSegmentationVolume(), ratio, 0)); MITK_INFO << "Rescaling images..[Done]"; }
void MainWindow::on_actionReset_zoom_triggered() { // resize main window to fit current image: // use original size of image ResizeToCurrent(); RescaleImage(); }
//************************************************** void wxSFIfShape::OnEndHandle(wxSFShapeHandle& WXUNUSED(handle)) { if(m_fCanScale) { m_fRescaleInProgress = false; RescaleImage(m_nRectSize); } }
//************************************************** void wxSFComponent::Scale(double x, double y, bool children) { if(m_fCanScale) { m_nRectSize.x *= x; m_nRectSize.y *= y; if(!m_fRescaleInProgress) RescaleImage(m_nRectSize); // call default function implementation (needed for scaling of shape's children) wxSFShapeBase::Scale(x, y, children); } }
// resize window and/or rescale image // when changing mode or image // void MainWindow::DoImageSize() { if (isFullScreen() == true) { // fit to screen RescaleImage(); } else { // resize main window to fit current image: // in case different size image was selected while in fullscreen mode ResizeToCurrent(); // reset image-view scaling on screen mode switch ui->graphicsView->resetTransform(); } }
/*---------------------------------------------------------------------------*/ void wxBlobDialog::SetBlob(wxMemoryBuffer* buffer) { if (buffer) { wxImage image; size_t BufLen = buffer->GetDataLen(); m_BlobLen->SetLabel(wxString::Format(("%u"), BufLen)); m_EditHexa->SetValue(GetHexaString(buffer)); wxMemoryInputStream inputStream((const char*)buffer->GetData(), BufLen); if (m_FlagBin == false) { m_EditText->SetValue(wxString::From8BitData((const char*)buffer->GetData(), BufLen)); wxXPMDecoder XpmDecoder; if (XpmDecoder.CanRead(inputStream)) image = XpmDecoder.ReadFile(inputStream); } else { image.LoadFile(inputStream); } if (image.IsOk()) { wxSize newSize; m_FlagBmp = true; m_RealSize->SetLabel(wxString::Format(_("Real Size: %i x %i"), image.GetWidth(), image.GetHeight())); newSize = RescaleImage(image.GetWidth(), image.GetHeight()); m_Image->SetBitmap(wxBitmap(image.Rescale(newSize.GetWidth(), newSize.GetHeight()))); } } if (!m_FlagBmp) m_Notebook->RemovePage(2); if (m_FlagBin) m_Notebook->RemovePage(1); }
void wxSFBitmapShape::Deserialize(wxXmlNode* node) { // HINT: overload it for custom actions... wxSFRectShape::Deserialize(node); wxRealPoint prevSize = m_nRectSize; if(!m_sBitmapPath.IsEmpty()) { CreateFromFile(m_sBitmapPath); } if(m_fCanScale) { if(m_nRectSize != prevSize) { m_nRectSize = prevSize; RescaleImage(prevSize); } else Scale(1, 1); } }