Ejemplo n.º 1
0
void OOFImage3D::threshold(double T) {
  vtkImageData *rgb = getRGB();
  vtkImageData *alpha = getAlpha();
  vtkImageData *gray;
  vtkImageLuminance *luminance;
  vtkImageThreshold *thold1, *thold2; 

  luminance = vtkImageLuminance::New();

  luminance->SetInputConnection(rgb->GetProducerPort());
  gray = luminance->GetOutput();
	
  thold1 = vtkImageThreshold::New();
  thold1->ThresholdByUpper(T*255);
  thold1->SetOutValue(0);
  thold1->SetInputConnection(gray->GetProducerPort());
	
  thold2 = vtkImageThreshold::New();
  thold2->ThresholdByLower(T*255);
  thold2->SetOutValue(255);
  thold2->SetInputConnection(thold1->GetOutputPort());

  gray = thold2->GetOutput();
  gray->Update();

  combineChannels(gray,alpha);
  imageChanged();

}
Ejemplo n.º 2
0
//Encodes the audio data into a WAV file
void coder::encode(AudioData * data, string filename){
    ofstream audioFile(filename, ios::binary);

    if(audioFile.is_open()){
        audioFile.write(data->getRIFF(), 4);

        int fileSize = data->getFileSize();
        audioFile.write((char *)&fileSize, 4);

        audioFile.write(data->getFileType(), 4);

        audioFile.write(data->getFormat(), 4);

        unsigned int infoSize = data->getFormatInfoSize();
        audioFile.write((char *)&infoSize, 4);

        audioFile.write(data->getFormatInfo(), infoSize);

        audioFile.write(data->getDataChunk(), 4);

        unsigned int dataSize = data->getDataSize();
        audioFile.write((char *)&dataSize, 4);

        short ** channelData = data->getChannelData();
        short * combinedData = combineChannels(channelData, data->getChannels(), data->getNumberOfSamples());
        audioFile.write((char *)combinedData, dataSize);

        audioFile.close();
    }
}
Ejemplo n.º 3
0
void OOFImage3D::gray() {
  vtkImageData *rgb = getRGB();
  vtkImageData *alpha = getAlpha();
  vtkImageData *gray;
  vtkImageLuminance *luminance;

  luminance = vtkImageLuminance::New();

  luminance->SetInputConnection(rgb->GetProducerPort());
  gray = luminance->GetOutput();
  gray->Update();

  combineChannels(gray,alpha);
  imageChanged();

}
Ejemplo n.º 4
0
void OOFImage3D::medianFilter(int radius) {
  padImage(-1);
  vtkImageData *rgb = getRGB();
  vtkImageData *alpha = getAlpha();
  vtkImageMedian3D *median;
	
  median = vtkImageMedian3D::New();
  median->SetKernelSize(radius*2, radius*2, radius*2);
  median->SetInputConnection(rgb->GetProducerPort());
	
  rgb = median->GetOutput();
  rgb->Update();
	
  combineChannels(rgb,alpha);
  padImage(1);
  imageChanged();
}
Ejemplo n.º 5
0
void OOFImage3D::dim(double factor) {
  vtkImageData *rgb = getRGB();
  vtkImageData *alpha = getAlpha();
  vtkImageMathematics *dimmer;

  dimmer = vtkImageMathematics::New();
  dimmer->SetOperationToMultiplyByK();
  dimmer->SetConstantK(factor);
  dimmer->SetInputConnection(rgb->GetProducerPort());
  rgb = dimmer->GetOutput();
  rgb->SetScalarTypeToUnsignedChar();
  rgb->Update();
	
  combineChannels(rgb,alpha);
  imageChanged();

}
Ejemplo n.º 6
0
void OOFImage3D::negate(double dummy) {
  vtkImageData *rgb = getRGB();
  vtkImageData *alpha = getAlpha();
  vtkImageMathematics *negator, *corrector;

  negator = vtkImageMathematics::New();
  negator->SetOperationToMultiplyByK();
  negator->SetConstantK(-1.0);
  negator->SetInputConnection(rgb->GetProducerPort());

  corrector = vtkImageMathematics::New();
  corrector->SetOperationToAddConstant();
  corrector->SetConstantC(255);
  corrector->SetInputConnection(negator->GetOutputPort());

  rgb = corrector->GetOutput();
  rgb->SetScalarTypeToUnsignedChar();
  rgb->Update();
	
  combineChannels(rgb,alpha);
  imageChanged();

}
Ejemplo n.º 7
0
void OOFImage3D::fade(double factor) {
  vtkImageData *rgb = getRGB();
  vtkImageData *alpha = getAlpha();
  vtkImageMathematics *fade1, *fade2;

  fade1 = vtkImageMathematics::New();
  fade1->SetOperationToMultiplyByK();
  fade1->SetConstantK(1.0-factor);
  fade1->SetInputConnection(rgb->GetProducerPort());
	
  fade2 = vtkImageMathematics::New();
  fade2->SetOperationToAddConstant();
  fade2->SetConstantC(255*factor);
  fade2->SetInputConnection(fade1->GetOutputPort());
	
  rgb = fade2->GetOutput();
  rgb->SetScalarTypeToUnsignedChar();
  rgb->Update();
	
  combineChannels(rgb,alpha);
  imageChanged();

}