Commit 893739ab authored by Guillaume Pasero's avatar Guillaume Pasero

BUG: #1526: use the defaultRAM with extended filenames, always cast sizevalue to uint

parent c134a480
......@@ -300,11 +300,17 @@ ImageFileWriter<TInputImage>
sizemode = m_FilenameHelper->GetStreamingSizeMode();
}
double sizevalue = 0.;
unsigned int sizevalue = 0;
// Save the DefaultRAM value for later
unsigned int oldDefaultRAM = m_StreamingManager->GetDefaultRAM();
if (sizemode == "auto")
{
sizevalue = oldDefaultRAM;
}
if(m_FilenameHelper->StreamingSizeValueIsSet())
{
sizevalue = m_FilenameHelper->GetStreamingSizeValue();
sizevalue = static_cast<unsigned int>(m_FilenameHelper->GetStreamingSizeValue());
}
if(type == "auto")
......@@ -313,7 +319,7 @@ ImageFileWriter<TInputImage>
{
itkWarningMacro(<<"In auto streaming type, the sizemode option will be ignored.");
}
if(sizevalue == 0.)
if(sizevalue == 0)
{
itkWarningMacro("sizemode is auto but sizevalue is 0. Value will be fetched from the OTB_MAX_RAM_HINT environment variable if set, or else use the default value");
}
......@@ -323,7 +329,7 @@ ImageFileWriter<TInputImage>
{
if(sizemode == "auto")
{
if(sizevalue == 0.)
if(sizevalue == 0)
{
itkWarningMacro("sizemode is auto but sizevalue is 0. Value will be fetched from the OTB_MAX_RAM_HINT environment variable if set, or else use the default value");
}
......@@ -331,27 +337,27 @@ ImageFileWriter<TInputImage>
}
else if(sizemode == "nbsplits")
{
if(sizevalue == 0.)
if(sizevalue == 0)
{
itkWarningMacro("Streaming sizemode is set to nbsplits but sizevalue is 0. This will result in upredicted behaviour. Please consider setting the sizevalue by using &streaming:sizevalue=x.");
}
this->SetNumberOfDivisionsTiledStreaming(static_cast<unsigned int>(sizevalue));
this->SetNumberOfDivisionsTiledStreaming(sizevalue);
}
else if(sizemode == "height")
{
if(sizevalue == 0.)
if(sizevalue == 0)
{
itkWarningMacro("Streaming sizemode is set to height but sizevalue is 0. This will result in upredicted behaviour. Please consider setting the sizevalue by using &streaming:sizevalue=x.");
}
this->SetTileDimensionTiledStreaming(static_cast<unsigned int>(sizevalue));
this->SetTileDimensionTiledStreaming(sizevalue);
}
}
else if(type == "stripped")
{
if(sizemode == "auto")
{
if(sizevalue == 0.)
if(sizevalue == 0)
{
itkWarningMacro("sizemode is auto but sizevalue is 0. Value will be fetched from configuration file if any, or from cmake configuration otherwise.");
}
......@@ -360,30 +366,34 @@ ImageFileWriter<TInputImage>
}
else if(sizemode == "nbsplits")
{
if(sizevalue == 0.)
if(sizevalue == 0)
{
itkWarningMacro("Streaming sizemode is set to nbsplits but sizevalue is 0. This will result in upredicted behaviour. Please consider setting the sizevalue by using &streaming:sizevalue=x.");
}
this->SetNumberOfDivisionsStrippedStreaming(static_cast<unsigned int>(sizevalue));
this->SetNumberOfDivisionsStrippedStreaming(sizevalue);
}
else if(sizemode == "height")
{
if(sizevalue == 0.)
if(sizevalue == 0)
{
itkWarningMacro("Streaming sizemode is set to height but sizevalue is 0. This will result in upredicted behaviour. Please consider setting the sizevalue by using &streaming:sizevalue=x.");
}
this->SetNumberOfLinesStrippedStreaming(static_cast<unsigned int>(sizevalue));
this->SetNumberOfLinesStrippedStreaming(sizevalue);
}
}
else if (type == "none")
{
if(sizemode!="" || sizevalue!=0.)
if(sizemode!="" || sizevalue!=0)
{
itkWarningMacro("Streaming is explicitly disabled, sizemode and sizevalue will be ignored.");
}
this->SetNumberOfDivisionsTiledStreaming(0);
}
// since we change the m_StreamingManager under the hood, we copy the DefaultRAM
// value to the new streamingManager.
m_StreamingManager->SetDefaultRAM(oldDefaultRAM);
}
else
{
......
......@@ -315,11 +315,16 @@ SimpleParallelTiffWriter<TInputImage>
sizemode = m_FilenameHelper->GetStreamingSizeMode();
}
double sizevalue = 0.;
unsigned int sizevalue = 0;
// Save the DefaultRAM value for later
unsigned int oldDefaultRAM = m_StreamingManager->GetDefaultRAM();
if (sizemode == "auto")
{
sizevalue = oldDefaultRAM;
}
if(m_FilenameHelper->StreamingSizeValueIsSet())
{
sizevalue = m_FilenameHelper->GetStreamingSizeValue();
sizevalue = static_cast<unsigned int>(m_FilenameHelper->GetStreamingSizeValue());
}
if(type == "auto")
......@@ -328,7 +333,7 @@ SimpleParallelTiffWriter<TInputImage>
{
itkWarningMacro(<<"In auto streaming type, the sizemode option will be ignored.");
}
if(sizevalue == 0.)
if(sizevalue == 0)
{
itkWarningMacro("sizemode is auto but sizevalue is 0. Value will be fetched from configuration file if any, or from cmake configuration otherwise.");
}
......@@ -338,7 +343,7 @@ SimpleParallelTiffWriter<TInputImage>
{
if(sizemode == "auto")
{
if(sizevalue == 0.)
if(sizevalue == 0)
{
itkWarningMacro("sizemode is auto but sizevalue is 0. Value will be fetched from configuration file if any, or from cmake configuration otherwise.");
}
......@@ -346,27 +351,27 @@ SimpleParallelTiffWriter<TInputImage>
}
else if(sizemode == "nbsplits")
{
if(sizevalue == 0.)
if(sizevalue == 0)
{
itkWarningMacro("Streaming sizemode is set to nbsplits but sizevalue is 0. This will result in upredicted behaviour. Please consider setting the sizevalue by using &streaming:sizevalue=x.");
}
this->SetNumberOfDivisionsTiledStreaming(static_cast<unsigned int>(sizevalue));
this->SetNumberOfDivisionsTiledStreaming(sizevalue);
}
else if(sizemode == "height")
{
if(sizevalue == 0.)
if(sizevalue == 0)
{
itkWarningMacro("Streaming sizemode is set to height but sizevalue is 0. This will result in upredicted behaviour. Please consider setting the sizevalue by using &streaming:sizevalue=x.");
}
this->SetTileDimensionTiledStreaming(static_cast<unsigned int>(sizevalue));
this->SetTileDimensionTiledStreaming(sizevalue);
}
}
else if(type == "stripped")
{
if(sizemode == "auto")
{
if(sizevalue == 0.)
if(sizevalue == 0)
{
itkWarningMacro("sizemode is auto but sizevalue is 0. Value will be fetched from configuration file if any, or from cmake configuration otherwise.");
}
......@@ -375,30 +380,34 @@ SimpleParallelTiffWriter<TInputImage>
}
else if(sizemode == "nbsplits")
{
if(sizevalue == 0.)
if(sizevalue == 0)
{
itkWarningMacro("Streaming sizemode is set to nbsplits but sizevalue is 0. This will result in upredicted behaviour. Please consider setting the sizevalue by using &streaming:sizevalue=x.");
}
this->SetNumberOfDivisionsStrippedStreaming(static_cast<unsigned int>(sizevalue));
this->SetNumberOfDivisionsStrippedStreaming(sizevalue);
}
else if(sizemode == "height")
{
if(sizevalue == 0.)
if(sizevalue == 0)
{
itkWarningMacro("Streaming sizemode is set to height but sizevalue is 0. This will result in upredicted behaviour. Please consider setting the sizevalue by using &streaming:sizevalue=x.");
}
this->SetNumberOfLinesStrippedStreaming(static_cast<unsigned int>(sizevalue));
this->SetNumberOfLinesStrippedStreaming(sizevalue);
}
}
else if (type == "none")
{
if(sizemode!="" || sizevalue!=0.)
if(sizemode!="" || sizevalue!=0)
{
itkWarningMacro("Streaming is explicitly disabled, sizemode and sizevalue will be ignored.");
}
this->SetNumberOfDivisionsTiledStreaming(0);
}
// since we change the m_StreamingManager under the hood, we copy the DefaultRAM
// value to the new streamingManager.
m_StreamingManager->SetDefaultRAM(oldDefaultRAM);
}
else
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment