Giter Site home page Giter Site logo

jilei-hao / itksnap Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pyushkevich/itksnap

0.0 0.0 0.0 14.45 MB

ITK-SNAP medical image segmentation tool

Home Page: https://sourceforge.net/p/itk-snap/src/ci/master/tree/

License: GNU General Public License v3.0

C++ 94.02% C 0.26% HTML 2.75% CSS 0.05% JavaScript 0.63% Shell 0.26% CMake 1.94% AppleScript 0.03% Dockerfile 0.06%

itksnap's People

Contributors

a-a-danilov avatar dzenanz avatar ghisvail avatar jilei-hao avatar jlasserv avatar jmargeta avatar kallitokaco avatar octaviansoldea avatar pyushkevich avatar thewtex avatar vicory avatar

itksnap's Issues

Orientation inconsistency and typo in preference dialog and popup window

For Radiological Convention, patient is lying supine (face up) in a hospital bed, and you are standing at the foot of the bed like doctors in the old TV shows with the paper charts.

Currently Radiological Convention in snap Preference Dialog is showing Axial from top of the patient, which is incorrect.

Image

In the Axial view, patient's nose should pointing upward.

c3d tiled 4d image dropping caused seg fault

Issue only appeared for one c3d generated 4d image using -tile command, and only appeared when dropping image loading.
Todo:

  • Test if any logic specific to image dropping caused the crash
  • See if it related to c3d image generation using -tile

Add Deformation Grid for 2D warp image

Description

Currently snap only support 3d warp image. Add support for 2d warp image so that when choosing deformation grid mode for displaying 2d vector image, the deformation grid will show up.

Segmentation Color Legend Issues

Multiple Color Legend Changes

  • Title of the color legend does not change when switching from external mesh to seg mesh
  • Label color legend display incorrectly when skipping certain numbers
  • Separate label and non-label color legend visibility

Add Orientation Code to Mesh Export

Description

Add Orientation Code, e.g. RAS, LPS to the header of the mesh file exported by ITK-SNAP.

Questions

  • Is SNAP converting everything to RAS orientation?
  • Is mesh exporting converting everything to RAS?

Echo Cartesian Dicom Reorientation fix

Reorient Image from LPS to LPI changed relative position between labels. Currently the dicom reader reorients Echo Cartesian Dicom from LPI to LPS, but it creates a mirror image with flipped A-P direction. We need to change the reorientation target to LAS so the A-P direction is not flipped.

Requirement

Change reorientation from LPI to LAS instead of LPS.

Interpolation Mode Preference Issue in ITK-SNAP 4.0 Alpha-3

Orignal Post: https://groups.google.com/g/itksnap-users/c/Ndg7UfpVq_U/m/JIF7ZBEeAAAJ?utm_medium=email&utm_source=footer

Pre-vtk9 logic:

GenericSliceRenderer::Texture *
GenericSliceRenderer
::GetTextureForLayer(ImageWrapperBase *layer)
{
  const char *user_data_ids[] = {
    "OpenGLTexture[0]",
    "OpenGLTexture[1]",
    "OpenGLTexture[2]"
  };
  const char *user_data_id = user_data_ids[m_Model->GetId()];

  // If layer uninitialized, return NULL
  if(!layer->IsInitialized())
    return NULL;

  // Retrieve the texture
  SmartPtr<Texture> tex = static_cast<Texture *>(layer->GetUserData(user_data_id));

  // Get the image that should be associated with the texture
  Texture::ImageType *slice = layer->GetDisplaySlice(m_Model->GetId()).GetPointer();

  // If the texture does not exist - or if the image has changed for some reason, update it
  if(!tex || tex->GetImage() != slice)
    {
    tex = Texture::New();
    tex->SetDepth(4, GL_RGBA);
    tex->SetImage(slice);

    layer->SetUserData(user_data_id, tex.GetPointer());
    }

  // Configure the texture parameters
  const GlobalDisplaySettings *gds = m_Model->GetParentUI()->GetGlobalDisplaySettings();
  GLint imode =
      (gds->GetGreyInterpolationMode() == GlobalDisplaySettings::LINEAR)
      ? GL_LINEAR : GL_NEAREST;
  tex->SetInterpolation(imode);

  // Set the mip-mapping behaviour depending on whether the image wrapper is rendering
  // in image space or in display space
  tex->SetMipMapping(layer->IsSlicingOrthogonal());

  return tex;
}

Mesh Loading Issues

Occasional Mesh File Dropping Failure

After dropping, the mesh does not get immediately rendered

Mesh dropped to current time point loaded to first time point

Polygon tool paint incorrectly when tracing on an iPad mirror

Original User Report

Hi, I’ve found an issue with the polygon tool where after a bunch of slices in a row of drawing complex polygons the polygon tool will start making a box of segmentation around the edge of the polygon, rather than following the polygon. I’m attaching her a photo of the polygon I drew (this was the 7th slice I had done in this window), and then when I do red over all it makes a red rectangle around the outer edges of the polygon. When I do clear over all with the inverse polygon, it clears everything in a rectangle on the outer edges of the polygon tool (but not everything outside the polygon). It stops if you do a smaller, less complex polygon tool. Typically if I quit ITK-Snap and restart it goes away, but I’ve had it happen multiple times.

I have not been able to consistently reproduce it either, but it is definitely a common issue I’ve had multiple times. I have been using version 4.0.0-alpha.4 on a Mac. That image is from a workspace, so I can send you the workspace here, but I’ve found it on multiple different images. It only happens after using the software for a while. Regarding the number of vertices, I have absolutely no idea - I’m using the continuous polygon tool and tracing with an apple pencil (as I mirror ITK-SNAP to an ipad), so its a lot of vertices.

polygon drawn clear out box red box

Toggle for 3D Color Bar

Requirement

  • Add a toggle in ViewPanel3D for the color bar display. Default to on for standalone meshes, off for label mesh.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.