From 6880d809c9aa1c8942692cbb961942c6fca76e5b Mon Sep 17 00:00:00 2001 From: Emmanuel Christophe <emmanuel.christophe@orfeo-toolbox.org> Date: Wed, 4 Jan 2012 21:38:39 +0100 Subject: [PATCH] ENH: minor fix in tile streaming --- Code/Common/otbImageRegionAdaptativeSplitter.h | 14 +++++++------- Code/Common/otbImageRegionAdaptativeSplitter.txx | 14 +++++++------- .../otbRAMDrivenAdaptativeStreamingManager.txx | 8 ++++---- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Code/Common/otbImageRegionAdaptativeSplitter.h b/Code/Common/otbImageRegionAdaptativeSplitter.h index 4547558c5b..175c1f8aa3 100644 --- a/Code/Common/otbImageRegionAdaptativeSplitter.h +++ b/Code/Common/otbImageRegionAdaptativeSplitter.h @@ -35,9 +35,9 @@ namespace otb * * This region splitter tries to adapt to the tiling scheme of the * input image using the TileHint parameter. It aims at - * synchronizing the streaming with the tiling scheme so as to avoid - * reading the same tile multiple times in the standard pixel-based - * processing scheme. + * synchronizing the streaming with the tiling scheme (in a JPEG + * 2000 situation for example) so as to avoid reading the same tile + * multiple times in the standard pixel-based processing scheme. * * If the requested number of splits is lower than the number of * tiles in the image region, then the splitter will derive splits @@ -48,7 +48,7 @@ namespace otb * changing to a new tile, ensuring the former tile will be only * read once. * - * If the TileHing is empty, or is VImageDimension is not 2, the + * If the TileHint is empty, or is VImageDimension is not 2, the * splitter falls back to the behaviour of * otb::ImageRegionSquareTileSplitter. * @@ -63,7 +63,7 @@ class ITK_EXPORT ImageRegionAdaptativeSplitter : public itk::ImageRegionSplitter { public: /** Standard class typedefs. */ - typedef ImageRegionAdaptativeSplitter Self; + typedef ImageRegionAdaptativeSplitter Self; typedef itk::ImageRegionSplitter<VImageDimension> Superclass; typedef itk::SmartPointer<Self> Pointer; typedef itk::SmartPointer<const Self> ConstPointer; @@ -82,7 +82,7 @@ public: { return VImageDimension; } - + /** Index typedef support. An index is used to access pixel values. */ typedef itk::Index<VImageDimension> IndexType; typedef typename IndexType::IndexValueType IndexValueType; @@ -101,7 +101,7 @@ public: /** Get the TileHint parameter */ itkGetConstReferenceMacro(TileHint, SizeType); - + /** Set the ImageRegion parameter */ itkSetMacro(ImageRegion, RegionType); diff --git a/Code/Common/otbImageRegionAdaptativeSplitter.txx b/Code/Common/otbImageRegionAdaptativeSplitter.txx index a28017af98..6e523bde58 100644 --- a/Code/Common/otbImageRegionAdaptativeSplitter.txx +++ b/Code/Common/otbImageRegionAdaptativeSplitter.txx @@ -99,7 +99,7 @@ ImageRegionAdaptativeSplitter<VImageDimension> m_IsUpToDate = true; return; } - + // Now we can handle the case where we have a tile hint and a // non-trivial requested number of splits SizeType tilesPerDim, splitsPerDim; @@ -115,7 +115,7 @@ ImageRegionAdaptativeSplitter<VImageDimension> // Try to group splits SizeType groupTiles; groupTiles.Fill(1); - + unsigned int i=0; // TODO: this should not fall in infinite loop, but add more @@ -170,7 +170,7 @@ ImageRegionAdaptativeSplitter<VImageDimension> { SizeType divideTiles; divideTiles.Fill(1); - + unsigned int i = 1; while(totalTiles * (divideTiles[0] * divideTiles[1]) < m_RequestedNumberOfSplits) @@ -199,15 +199,15 @@ ImageRegionAdaptativeSplitter<VImageDimension> // Build the split RegionType newSplit; IndexType newSplitIndex; - + newSplitIndex[0] = tilex * m_TileHint[0] + divx * splitSize[0]; newSplitIndex[1] = tiley * m_TileHint[1] + divy * splitSize[1]; - + newSplit.SetIndex(newSplitIndex); newSplit.SetSize(splitSize); - + newSplit.Crop(m_ImageRegion); - + m_StreamVector.push_back(newSplit); } } diff --git a/Code/Common/otbRAMDrivenAdaptativeStreamingManager.txx b/Code/Common/otbRAMDrivenAdaptativeStreamingManager.txx index dc6e25acfd..df70fc70d5 100644 --- a/Code/Common/otbRAMDrivenAdaptativeStreamingManager.txx +++ b/Code/Common/otbRAMDrivenAdaptativeStreamingManager.txx @@ -14,7 +14,7 @@ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. - =========================================================================*/ +=========================================================================*/ #ifndef __otbRAMDrivenAdaptativeStreamingManager_txx #define __otbRAMDrivenAdaptativeStreamingManager_txx @@ -60,12 +60,13 @@ RAMDrivenAdaptativeStreamingManager<TImage>::PrepareStreaming( itk::DataObject * tileHint[0] = tileHintX; tileHint[1] = tileHintY; - typename otb::ImageRegionAdaptativeSplitter<itkGetStaticConstMacro(ImageDimension)>::Pointer splitter = otb::ImageRegionAdaptativeSplitter<itkGetStaticConstMacro(ImageDimension)>::New(); + typename otb::ImageRegionAdaptativeSplitter<itkGetStaticConstMacro(ImageDimension)>::Pointer splitter = + otb::ImageRegionAdaptativeSplitter<itkGetStaticConstMacro(ImageDimension)>::New(); splitter->SetTileHint(tileHint); this->m_Splitter = splitter; - + this->m_ComputedNumberOfSplits = this->m_Splitter->GetNumberOfSplits(region, nbDivisions); otbMsgDevMacro(<< "Number of split : " << this->m_ComputedNumberOfSplits) this->m_Region = region; @@ -74,4 +75,3 @@ RAMDrivenAdaptativeStreamingManager<TImage>::PrepareStreaming( itk::DataObject * } // End namespace otb #endif - -- GitLab