Opened 3 years ago
Closed 3 years ago
#7870 closed enhancement (fixed)
Add segmentation surfaces smoothing
| Reported by: | Owned by: | Tom Goddard | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Volume Data | Version: | |
| Keywords: | Cc: | Elaine Meng | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: macOS-12.6-arm64-arm-64bit
ChimeraX Version: 1.5.dev202210102058 (2022-10-10 20:58:47 UTC)
Description
Add smoothing option to "segmentation surfaces" command. Current surfaces for mask are stair-stepped.
Log:
UCSF ChimeraX version: 1.5.dev202210102058 (2022-10-10)
© 2016-2022 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> volume new size 100 valueType int32
Opened new as #1, grid size 100,100,100, pixel 1, shown at step 1, values
int32
> volume erase #1 center 20,20,20 radius 15 value 2
> volume erase #1 center 50,50,50 radius 20 value 1
> view
> segmentation surfaces #1
Created 1 segmentation surfaces, 23584 triangles, subsampled 1
> hide #!1 models
OpenGL version: 4.1 Metal - 76.3
OpenGL renderer: Apple M1 Max
OpenGL vendor: Apple
Python: 3.9.11
Locale: UTF-8
Qt version: PyQt6 6.3.1, Qt 6.3.1
Qt runtime version: 6.3.2
Qt platform: cocoa
Hardware:
Hardware Overview:
Model Name: MacBook Pro
Model Identifier: MacBookPro18,2
Chip: Apple M1 Max
Total Number of Cores: 10 (8 performance and 2 efficiency)
Memory: 32 GB
System Firmware Version: 7459.141.1
OS Loader Version: 7459.141.1
Software:
System Software Overview:
System Version: macOS 12.6 (21G115)
Kernel Version: Darwin 21.6.0
Time since boot: 34 days 56 minutes
Graphics/Displays:
Apple M1 Max:
Chipset Model: Apple M1 Max
Type: GPU
Bus: Built-In
Total Number of Cores: 32
Vendor: Apple (0x106b)
Metal Family: Supported, Metal GPUFamily Apple 7
Displays:
Color LCD:
Display Type: Built-in Liquid Retina XDR Display
Resolution: 3456 x 2234 Retina
Main Display: Yes
Mirror: Off
Online: Yes
Automatically Adjust Brightness: No
Connection Type: Internal
Installed Packages:
alabaster: 0.7.12
appdirs: 1.4.4
appnope: 0.1.3
asttokens: 2.0.8
Babel: 2.10.3
backcall: 0.2.0
blockdiag: 3.0.0
build: 0.8.0
certifi: 2021.10.8
cftime: 1.6.2
charset-normalizer: 2.1.1
ChimeraX-AddCharge: 1.4
ChimeraX-AddH: 2.2
ChimeraX-AlignmentAlgorithms: 2.0
ChimeraX-AlignmentHdrs: 3.2.1
ChimeraX-AlignmentMatrices: 2.0
ChimeraX-Alignments: 2.6
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.0.3
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.0
ChimeraX-ArtiaX: 0.1
ChimeraX-Atomic: 1.43.2
ChimeraX-AtomicLibrary: 8.0.2
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.3
ChimeraX-BasicActions: 1.1.2
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 2.1.2
ChimeraX-BondRot: 2.0.1
ChimeraX-BugReporter: 1.0.1
ChimeraX-BuildStructure: 2.7.1
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.2
ChimeraX-ButtonPanel: 1.0.1
ChimeraX-CageBuilder: 1.0.1
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.3.1
ChimeraX-ChangeChains: 1.0.2
ChimeraX-CheckWaters: 1.3
ChimeraX-ChemGroup: 2.0
ChimeraX-Clashes: 2.2.4
ChimeraX-Clipper: 0.19.0.dev0
ChimeraX-ColorActions: 1.0.3
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.2
ChimeraX-CommandLine: 1.2.4
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0.1
ChimeraX-Core: 1.5.dev202210102058
ChimeraX-CoreFormats: 1.1
ChimeraX-coulombic: 1.3.2
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0.1
ChimeraX-DataFormats: 1.2.2
ChimeraX-Dicom: 1.1
ChimeraX-DistMonitor: 1.3
ChimeraX-DockPrep: 1.0
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ExperimentalCommands: 1.0
ChimeraX-FileHistory: 1.0.1
ChimeraX-FunctionKey: 1.0.1
ChimeraX-Geometry: 1.2
ChimeraX-gltf: 1.0
ChimeraX-Graphics: 1.1
ChimeraX-Hbonds: 2.4
ChimeraX-Help: 1.2.1
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.1
ChimeraX-ImageFormats: 1.2
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.1
ChimeraX-ISOLDE: 1.5.dev0
ChimeraX-ItemsInspection: 1.0.1
ChimeraX-Label: 1.1.7
ChimeraX-ListInfo: 1.1.1
ChimeraX-Log: 1.1.5
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.8.2
ChimeraX-Map: 1.1.1
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0.1
ChimeraX-MapFilter: 2.0
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.1.1
ChimeraX-Markers: 1.0.1
ChimeraX-Mask: 1.0.1
ChimeraX-MatchMaker: 2.0.9
ChimeraX-MDcrds: 2.6
ChimeraX-MedicalToolbar: 1.0.2
ChimeraX-Meeting: 1.0.1
ChimeraX-MLP: 1.1
ChimeraX-mmCIF: 2.8
ChimeraX-MMTF: 2.2
ChimeraX-Modeller: 1.5.6
ChimeraX-ModelPanel: 1.3.6
ChimeraX-ModelSeries: 1.0.1
ChimeraX-Mol2: 2.0
ChimeraX-Mole: 1.0
ChimeraX-Morph: 1.0.1
ChimeraX-MouseModes: 1.1.1
ChimeraX-Movie: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nucleotides: 2.0.3
ChimeraX-OpenCommand: 1.9.1
ChimeraX-PDB: 2.6.8
ChimeraX-PDBBio: 1.0
ChimeraX-PDBLibrary: 1.0.2
ChimeraX-PDBMatrices: 1.0
ChimeraX-PhenixUI: 1.0.4
ChimeraX-PickBlobs: 1.0.1
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.1
ChimeraX-PubChem: 2.1
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1.1
ChimeraX-RemoteControl: 1.0
ChimeraX-RenumberResidues: 1.1
ChimeraX-ResidueFit: 1.0.1
ChimeraX-RestServer: 1.1
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 2.0.1
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.5.1
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.7.2
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0.1
ChimeraX-Shortcuts: 1.1.1
ChimeraX-ShowSequences: 1.0.1
ChimeraX-SideView: 1.0.1
ChimeraX-Smiles: 2.1
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.10
ChimeraX-STL: 1.0
ChimeraX-Storm: 1.0
ChimeraX-StructMeasure: 1.1
ChimeraX-Struts: 1.0.1
ChimeraX-Surface: 1.0
ChimeraX-SwapAA: 2.0.1
ChimeraX-SwapRes: 2.1.3
ChimeraX-TapeMeasure: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.1.2
ChimeraX-ToolshedUtils: 1.2.1
ChimeraX-Tug: 1.0.1
ChimeraX-UI: 1.24.2
ChimeraX-uniprot: 2.2.1
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDockX: 1.1.3
ChimeraX-VIPERdb: 1.0
ChimeraX-Vive: 1.1
ChimeraX-VolumeMenu: 1.0.1
ChimeraX-VTK: 1.0
ChimeraX-WavefrontOBJ: 1.0
ChimeraX-WebCam: 1.0.1
ChimeraX-WebServices: 1.1.0
ChimeraX-Zone: 1.0.1
colorama: 0.4.5
cxservices: 1.2
cycler: 0.11.0
Cython: 0.29.32
debugpy: 1.6.3
decorator: 5.1.1
Deprecated: 1.2.13
docutils: 0.19
entrypoints: 0.4
executing: 1.1.0
filelock: 3.7.1
fonttools: 4.37.4
funcparserlib: 1.0.0
future: 0.18.2
grako: 3.16.5
graphtools: 1.5.2
h5py: 3.7.0
html2text: 2020.1.16
idna: 3.4
ihm: 0.33
imagecodecs: 2022.2.22
imageio: 2.22.1
imagesize: 1.4.1
importlib-metadata: 5.0.0
ipykernel: 6.15.3
ipython: 8.4.0
ipython-genutils: 0.2.0
jedi: 0.18.1
Jinja2: 3.1.2
joblib: 1.2.0
jupyter-client: 7.3.4
jupyter-core: 4.11.1
kiwisolver: 1.4.4
line-profiler: 3.5.1
llvmlite: 0.39.1
lxml: 4.9.1
lz4: 4.0.2
MarkupSafe: 2.1.1
matplotlib: 3.5.2
matplotlib-inline: 0.1.6
mrcfile: 1.4.3
msgpack: 1.0.4
nest-asyncio: 1.5.6
netCDF4: 1.6.0
networkx: 2.8.5
numba: 0.56.2
numexpr: 2.8.3
numpy: 1.23.1
openvr: 1.23.701
packaging: 21.3
pandas: 1.4.3
ParmEd: 3.4.3
parso: 0.8.3
pep517: 0.13.0
pexpect: 4.8.0
phate: 1.0.8
pickleshare: 0.7.5
Pillow: 9.2.0
pip: 22.2.2
pkginfo: 1.8.3
prompt-toolkit: 3.0.31
psutil: 5.9.1
ptyprocess: 0.7.0
pure-eval: 0.2.2
pycollada: 0.7.2
pydicom: 2.3.0
Pygments: 2.12.0
PyGSP: 0.5.1
pynndescent: 0.5.7
PyOpenGL: 3.1.5
PyOpenGL-accelerate: 3.1.5
pyparsing: 3.0.9
PyQt6: 6.3.1
PyQt6-Qt6: 6.3.2
PyQt6-sip: 13.4.0
PyQt6-WebEngine: 6.3.1
PyQt6-WebEngine-Qt6: 6.3.2
pyqtgraph: 0.13.1
python-dateutil: 2.8.2
pytz: 2022.4
PyWavelets: 1.4.1
PyYAML: 6.0
pyzmq: 24.0.1
qtconsole: 5.3.1
QtPy: 2.2.1
RandomWords: 0.4.0
requests: 2.28.1
s-gd2: 1.8
scikit-image: 0.19.3
scikit-learn: 1.1.2
scipy: 1.9.0
scprep: 1.2.1
Send2Trash: 1.8.0
setuptools: 59.8.0
setuptools-scm: 7.0.5
sfftk-rw: 0.7.2
six: 1.16.0
sklearn: 0.0
snowballstemmer: 2.2.0
sortedcontainers: 2.4.0
Sphinx: 5.1.1
sphinx-autodoc-typehints: 1.19.1
sphinxcontrib-applehelp: 1.0.2
sphinxcontrib-blockdiag: 3.0.0
sphinxcontrib-devhelp: 1.0.2
sphinxcontrib-htmlhelp: 2.0.0
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 1.0.3
sphinxcontrib-serializinghtml: 1.1.5
stack-data: 0.5.1
starfile: 0.4.11
superqt: 0.3.3
tables: 3.7.0
tasklogger: 1.2.0
threadpoolctl: 3.1.0
tifffile: 2022.7.31
tinyarray: 1.2.4
tomli: 2.0.1
torch: 1.12.1
tornado: 6.2
tqdm: 4.64.1
traitlets: 5.3.0
typing-extensions: 4.3.0
umap-learn: 0.5.3
urllib3: 1.26.12
wcwidth: 0.2.5
webcolors: 1.12
wheel: 0.37.1
wheel-filename: 1.4.1
wiggle: 0.2.2
wrapt: 1.14.1
zipp: 3.8.1
Change History (2)
comment:1 by , 3 years ago
| Cc: | added |
|---|---|
| Component: | Unassigned → Volume Data |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Reporter: | changed from to |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Add segmentation surfaces smoothing |
| Type: | defect → enhancement |
comment:2 by , 3 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Done. Added to ChimeraX 1.5 and daily builds.
I added an option smooth (default false) to the "segmentation surfaces" command that will smooth the surfaces. Also there are two other options that control the degree of smoothing: smoothingIterations (default 10) and smoothingFactor (default 1.0). These are the same parameters used when smoothing is enabled for volume contour surfaces and it uses the same method to do the smoothing, moving every surface vertex a fraction of the way toward the average position of its neighbor vertices.
Example commands
segmentation surfaces #1 smooth true segmentation surfaces #1 smooth true smoothingIterations 3 smoothingFactor 0.5
Note:
See TracTickets
for help on using tickets.