Problemas com as propriedades Width e Height

Estou tendo um problema com as propriedades Width e Heigth na minha aplicação java com a imagem que eu gero com C# em um skd de um sensor de raio-x intraoral. Por alguma razão os valores das dimensões estão nulos;

Debug
Resultado do debbug

Nas propriedades da imagem vista pelo windows eu tenho as dimensões da image.

Propriedades da imagem
Image Properties

Eu preciso controlar as dimenções para não gerar uma exceção em outras partes do código como redimensionar e etc

Esse é o código que eu estou usando para importar a imagem. Ele já funciona com a minha aplicação normalmente, mas não funciona com as imagens geradas pelo skd

if (confirmOverwrite()) {
            FileChooser fileChooser = new FileChooser();
            if (previousImportDir != null) {
                fileChooser.setInitialDirectory(previousImportDir.getParentFile());
            }
            fileChooser.getExtensionFilters().add(new FileChooser.ExtensionFilter("Arquivos de Imagem", "*.png", "*.jpg", "*.bmp", "*.gif"));
            fileChooser.setTitle("Importar arquivo de imagem");
            File file = fileChooser.showOpenDialog(stage);
            if (file != null) {
                previousImportDir = file;
                Image img = new Image("file:" + file.getPath());
                if ((img.getWidth() != 0 && img.getHeight() != 0))
                    actionSetNewImageOnCanvas(img);

Codigo que salva a imagem em C#.

private void SaveImage(short[] data, int widht, int height)
        {
            try
            {
                Bitmap pic = new Bitmap(widht, height, System.Drawing.Imaging.PixelFormat.Format16bppGrayScale);

                Rectangle dimension = new Rectangle(0, 0, pic.Width, pic.Height);
                BitmapData picData = pic.LockBits(dimension, ImageLockMode.ReadWrite, pic.PixelFormat);

                IntPtr pixelStartAddress = picData.Scan0;

                //Marshal.Copy(data, 0, pixelStartAddress, data.Length);
                Marshal.Copy(data, 0, pixelStartAddress, data.Length);

                pic.UnlockBits(picData);


                //SaveBmp(pic, Path.Combine(Directory.GetCurrentDirectory(), "imagem"));

                SaveBmp(pic, "C:\\Users\\WIM\\Desktop\\teste\\teste\\teste.bmp");
                pic.Dispose();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }

        private static void SaveBmp(Bitmap bmp, string path)
        {
            Rectangle rect = new Rectangle(0, 0, bmp.Width, bmp.Height);

            BitmapData bitmapData = bmp.LockBits(rect, ImageLockMode.ReadOnly, bmp.PixelFormat);

            var pixelFormats = ConvertBmpPixelFormat(bmp.PixelFormat);

            BitmapSource source = BitmapSource.Create(bmp.Width,
                                                      bmp.Height,
                                                      bmp.HorizontalResolution,
                                                      bmp.VerticalResolution,
                                                      pixelFormats,
                                                      null,
                                                      bitmapData.Scan0,
                                                      bitmapData.Stride * bmp.Height,
                                                      bitmapData.Stride);

            bmp.UnlockBits(bitmapData);


            FileStream stream = new FileStream(path, FileMode.Create);

            TiffBitmapEncoder encoder = new TiffBitmapEncoder();

            encoder.Compression = TiffCompressOption.Zip;
            encoder.Frames.Add(BitmapFrame.Create(source));
            encoder.Save(stream);

            stream.Close();
        }


        private static System.Windows.Media.PixelFormat ConvertBmpPixelFormat(System.Drawing.Imaging.PixelFormat pixelformat)
        {
            System.Windows.Media.PixelFormat pixelFormats = System.Windows.Media.PixelFormats.Default;

            switch (pixelformat)
            {
                case System.Drawing.Imaging.PixelFormat.Format32bppArgb:
                    pixelFormats = PixelFormats.Bgr32;
                    break;

                case System.Drawing.Imaging.PixelFormat.Format8bppIndexed:
                    pixelFormats = PixelFormats.Gray8;
                    break;

                case System.Drawing.Imaging.PixelFormat.Format16bppGrayScale:
                    pixelFormats = PixelFormats.Gray16;
                    break;
            }

            return pixelFormats;
        }

Não sei o motivo de não reconhecer as propriedades, caso saibam se é problema com o código java ou com a forma de salvar em C#…