MCPcopy Create free account
hub / github.com/computationalpathologygroup/ASAP / initializeImage

Method initializeImage

ASAP/PathologyViewer.cpp:311–329  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

309}
310
311void PathologyViewer::initializeImage(QGraphicsScene* scn, unsigned int tileSize, unsigned int lastLevel) {
312 unsigned int nrLevels = _img->getNumberOfLevels();
313 std::vector<unsigned long long> lastLevelDimensions = _img->getLevelDimensions(lastLevel);
314 float lastLevelWidth = ((lastLevelDimensions[0] / tileSize) + 1) * tileSize;
315 float lastLevelHeight = ((lastLevelDimensions[1] / tileSize) + 1) * tileSize;
316 float longest = lastLevelWidth > lastLevelHeight ? lastLevelWidth : lastLevelHeight;
317 _sceneScale = 1. / _img->getLevelDownsample(lastLevel);
318 QRectF n((lastLevelDimensions[0] / 2) - 1.5*longest, (lastLevelDimensions[1] / 2) - 1.5*longest, 3 * longest, 3 * longest);
319 this->setSceneRect(n);
320 this->fitInView(QRectF(0, 0, lastLevelDimensions[0], lastLevelDimensions[1]), Qt::AspectRatioMode::KeepAspectRatio);
321
322 _manager->loadAllTilesForLevel(lastLevel);
323 float maxDownsample = 1. / this->_sceneScale;
324 QRectF FOV = this->mapToScene(this->rect()).boundingRect();
325 QRectF FOVImage = QRectF(FOV.left() / this->_sceneScale, FOV.top() / this->_sceneScale, FOV.width() / this->_sceneScale, FOV.height() / this->_sceneScale);
326 emit fieldOfViewChanged(FOVImage, _img->getBestLevelForDownSample(maxDownsample / this->transform().m11()));
327 while (_ioThread->numberOfJobs() > 0) {
328 }
329}
330
331void PathologyViewer::initializeGUIComponents(unsigned int level) {
332 // Initialize the minimap

Callers

nothing calls this directly

Calls 7

getNumberOfLevelsMethod · 0.80
getLevelDimensionsMethod · 0.80
getLevelDownsampleMethod · 0.80
loadAllTilesForLevelMethod · 0.80
numberOfJobsMethod · 0.80
boundingRectMethod · 0.45

Tested by

no test coverage detected